Článek
Instalace textového modelu LlaMA3.2 do notebooku s procesorem Intel(R) Core(TM) Ultra 7 258V 2.20 GHz, RAM 32,0 GB
Nedávno byly uvedeny na trh notebooky s procesorem Intel(R) Core(TM) Ultra 7 258V 2.20 až 4.80 GHz, RAM LPDDR5X až 8533 MT/s 32 GB. Vyšla řada hodnocení a porovnání parametrů, které uváděly že tyto stroje jsou poměrně dobré ve své třídě. Většina hodnocení, ale nevzala v úvahu hlavní přednost. Jedná se o přítomnost jednotky NPU 47 Peak TOPS (Int8) a GPU 64 Peak TOPS (Int8), celkem s CPU až 115 TOPS a rychlé paměti RAM.
Podpora NPU a GPU vyžaduje integraci OpenVINO™ a Optimum Intel, tato softvérová podpora je volně dostupná a neustále doplňovaná na stránkách Intelu.
Na příkladu modelu umělé inteligence Llama 3.2 vám předvedu možnosti vašeho notebooku.
Obsah
Instalace textového modelu LlaMA3.2 do notebooku s procesorem Intel(R) Core(TM) Ultra 7 258V 2.20 GHz, RAM 32,0 GB 1
Popis modelu: 1
Virtuální prostředí: 2
Vytvoříme pracovní adresář: 2
1. Stažení instalačního programu Miniconda: 2
2. Spuštění instalačního programu: 2
3. Nastavení instalátoru: 3
4. Dokončení instalace: 3
5. Ověření instalace: 3
Když máme Minicondu nainstalovanou vytvoříme virtuální prostředí: 3
Aktivujte prostředí 3
Nastavte adresář LLaMA3_2_2 3
Klonování úložiště: 4
Nyní nainstalujte potřebné závislosti: 4
Stáhněte a exportujte Llama 3.2 pomocí NNCF 4
Spuštění modelu: 5
Nastavení zástupce na ploše: 8
Závěrečné shrnutí 8
Popis modelu:
Model meta-llama/Llama-3.2-3B-Instruct je vícejazyčný textový model s 3 miliardami parametrů. Je navržený pro široké spektrum úloh zpracování přirozeného jazyka, jako je:
1. Generování a odpovídání na dotazy: odpovídá na otázky na základě kontextu.
2. Překlad textů: Umožňuje překlady mezi různými jazyky.
3. Shrnutí textů: Dokáže shrnout dlouhé texty do kratší podoby.
4. Analýza sentimentu: Určuje tonalitu a sentiment textu.
5. Konverzační funkce: Vedení smysluplných konverzací.
Tento model umožňuje efektivní vícejazyčné aplikace, ať už jde o chatboty, automatizované zákaznické služby nebo překladatelské systémy. Model si poradí i s kódem v různých programovacích jazycích.
Výhoda uvedeného příkladu s modelem LLama-3.2 je, že běží spolehlivě lokálně na počítači Intel a nepotřebuje připojení k internetu. Což je potřebné při práci s citlivými, nejčastěji firemními daty.
Vydáním Llama 3.2 je přístup k nejnovějším vylepšením v modelech umělé inteligence snazší než kdy předtím. Díky bezproblémové integraci OpenVINO™ a Optimum Intel můžete tento výkonný model komprimovat, optimalizovat a provozovat lokálně na hardwaru Intel. V této příručce vás provedeme celým procesem, od nastavení prostředí až po spuštění modelu, což vám pomůže odemknout plný potenciál Llama 3.2 v pouhých několika krocích. Popis je aktualizací zdroje: https://medium.com/openvino-toolkit/how-to-run-llama-3-2-locally-with-openvino-60a0f3674549 od autorů: Raymond Lo , Zhuo Wu , Dmitriy Pastushenkov .
Virtuální prostředí:
Chcete-li se vyhnout konfliktům závislostí, doporučujeme vytvořit samostatné virtuální prostředí:
Vytvoříme pracovní adresář:
• Vytvoříme adresář: C:\Users\karel\LLaMA3_2_2
1. Stažení instalačního programu Miniconda:
• Stáhněte Minicondu z oficiální stránky Minicondy https://docs.conda.io/en/latest/miniconda.html
• V sekci „Miniconda installers“ klikněte na odkaz pro Windows
• Vyberte verzi Pythonu, kterou chcete použít. Pro začátečníky se doporučuje Python 3.12
• Stáhněte 64-bitový instalační program Miniconda (pokud váš systém podporuje 64-bit).
• Po dokončení stahování spusťte instalační program (.exe soubor).
Stažení a instalace Minicondy na Windows 11 je poměrně jednoduchý proces. Zde je podrobný návod:
2. Spuštění instalačního programu:
• Po dokončení stahování spusťte instalační program (.exe soubor).
• Zobrazí se uvítací obrazovka. Klikněte na „Next“.
• Přečtěte si licenční smlouvu a klikněte na „I Agree“.
• Vyberte typ instalace. Doporučuje se zvolit „Just Me (recommended)“. Klikněte na „Next“.
• Vyberte cílovou složku pro instalaci Minicondy. Výchozí umístění je obvykle v pořádku. Klikněte na „Next“.
3. Nastavení instalátoru:
• Důležité: Zaškrtněte políčko „Add Anaconda3 to my PATH environment variable“. To vám umožní spouštět příkazy conda z libovolného adresáře v příkazovém řádku.
• Můžete ponechat zaškrtnuté políčko „Register Anaconda3 as my default Python 3.x“.
• Klikněte na „Install“.
4. Dokončení instalace:
• Počkejte, až se instalace dokončí.
• Zobrazí se obrazovka s informacemi o instalaci. Klikněte na „Next“.
• Na poslední obrazovce zrušte zaškrtnutí políčka „Learn more about Anaconda Cloud“ a klikněte na „Finish“.
5. Ověření instalace:
• Otevřete Start menu a vyhledejte „Anaconda PowerShell Prompt (Miniconda3)“. Spusťte Anaconda PowerShell Prompt.
• V Anaconda PowerShell Prompt zadejte příkaz conda –version a stiskněte Enter. Pokud je Miniconda správně nainstalována, zobrazí se číslo verze.
Když máme Minicondu nainstalovanou vytvoříme virtuální prostředí:
• Spusťte Anaconda PowerShell Prompt
• Susťte v promptu příkaz:
conda create –name LLaMA3_2_2 python=3.12
Aktivujte prostředí
conda activate LLaMA3_2_2
Nastavte adresář LLaMA3_2_2
CD LLaMA3_2_2
• Zadejte příkaz:
pip install nltk
Klonování úložiště:
Ve virtuálním prostředí (LLaMA3_2_2) PS C:\Users\karel\LLaMA3_2_2>
Spusťte příkaz:
git clone https://github.com/openvinotoolkit/openvino.genai.git
Nyní nainstalujte potřebné závislosti:
python -m venv openvino_venv
• Aktivujte prostředí:
.\openvino_venv\Scripts\activate
python.exe -m pip install –upgrade pip
• Nyní nainstalujte potřebné závislosti:
pip install -U –pre openvino-genai openvino openvino-tokenizers[transformers] –extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nigh
pip install –extra-index-url https://download.pytorch.org/whl/cpu „git+https://github.com/huggingface/optimum-intel.git“ „git+https://github.com/openvinotoolkit/nncf.git“ „onnx<=1.16.1“
pip install –upgrade matplotlib nncf optimum
Stáhněte a exportujte Llama 3.2 pomocí NNCF
Důležité: Před exportem modelu z Hugging Face se ujistěte, že jste přijali smlouvu o používání
zde https://huggingface.co/meta-llama/Llama-3.2-3B-Instruct.
Smlouvu užívání získáte na požádání, budete muset odpovědět na dotazy. Jméno, firma a důvod použití modelu.
Na Hugging Face.co https://huggingface.co/ přepnu na uživatele a vyberu přístupové tokeny a vytvořím token:
Vytvoříte název tokenu např: Ahoj598
Získáte hodnotu tokenu např: HJGRDJ985XXXKJI66
Ve virtuálním prostředí (LLaMA3_2_2) PS C:\Users\karel\LLaMA3_2_2>
zadejte příkaz pro přihlášení:
huggingface-cli login
Budete vyzváni k zdání hodnoty tokenu
Poté pomocí následujícího příkazu stáhněte a exportujte model:
optimum-cli export openvino –model meta-llama/Llama-3.2-3B-Instruct –task text-generation-with-past –weight-format int4 –group-size 64 –ratio 1.0 ov_llama_3b_instruct_int4
Spuštění modelu:
Před spuštění modelu nahraďte uvnitř úložiště C:\Users\karel\LLaMA3_2\openvino.genai\samples\python\text_generation soubor chat_samle.py novým obsahem:
#!/usr/bin/env python3
# Copyright (C) 2024 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
import argparse
import openvino_genai
import re
import unicodedata
import time
import nltk
import os
import pickle
def main():
parser = argparse.ArgumentParser()
parser.add_argument('model_dir')
args = parser.parse_args()
device = ‚GPU‘
pipe = openvino_genai.LLMPipeline(args.model_dir, device)
mac_pocet_slov =10000 # zvládá 2000
config = openvino_genai.GenerationConfig() # Inicializace konfigurace
config.max_new_tokens = mac_pocet_slov # Nastavení max_new_tokens
pipe.start_chat()
print('\nDevice set to use: ‘, device)
try:
# Kontrola existence souboru s tokenizátorem
if os.path.exists('tokenizer.pickle'):
# Načtení tokenizátoru ze souboru
with open('tokenizer.pickle', 'rb') as f:
tokenizer = pickle.load(f)
else:
# Stažení potřebných dat pro tokenizaci
nltk.download('punkt')
tokenizer = nltk.tokenize.word_tokenize # Uložení tokenizátoru do proměnné
# Uložení tokenizátoru do souboru
with open('tokenizer.pickle', 'wb') as f:
pickle.dump(tokenizer, f)
while True:
try:
print("Pro zahájení nové konverzace zadejte slova: nový start\n")
prompt_cz = input('Zadej dotaz:\n')
if prompt_cz.lower() == "nový start": # Kontrola pro „Nový start“
pipe.finish_chat() # Ukončení stávajícího chatu
pipe.start_chat() # Zahájení nového chatu
print("Zahájena nová konverzace.")
continue # Přejít na další iteraci cyklu
prompt_en = prompt_cz
print('\n----------')
print('Odpověď:\n')
start_time = time.time()
answer_en = „“
total_words = 0 # Proměnná pro sčítání slov
for response in pipe.generate(prompt_en, config):
answer_en += response
# Tokenizace textu pomocí nltk
tokens = nltk.word_tokenize(response)
total_words += len(tokens) # Sčítání tokenů (slov
end_time = time.time()
end_time = time.time()
print(answer_en) # Výpis anglické odpovědi
response_time = end_time - start_time
print('\n----------')
print(f"Čas odpovědi: {response_time:.2f} sekund")
# Kontrola délky odpovědi
if total_words > (mac_pocet_slov * 4): # Zkontrolujte počet slov v odpovědi
print("\n----------")
print("Odpověď je příliš dlouhá, upravte otázku.")
continue # Přejít na další iteraci
except EOFError:
break
pipe.finish_chat()
except KeyboardInterrupt:
print("\nProgram ukončen uživatelem.")
if __name__ == '__main__':
main()
Ve virtuálním prostředí (LLaMA3_2_2) PS C:\Users\karel\LLaMA3_2_2>
Zadejte příkaz:
python openvino.genai\samples\python\text_generation\chat_sample.py C:\Users\karel\LLaMA3_2\ov_llama_3b_instruct_int4
Poskytnutý kód funguje na GPU, ale je snadné jej zprovoznit na CPU nahrazením názvu zařízení na „CPU“ v souboru chat_sample.py: Na GPU model běží třikrát rychleji, než na CPU.
device = CPU
Nastavení zástupce na ploše:
Vytvořte soubor:
spustit_model.bat
Do souboru vložíte příkazy:
@echo off
%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command „& ‚C:\Users\karel\miniconda3\shell\condabin\conda-hook.ps1‘ ; conda activate ‚C:\Users\karel\miniconda3\envs\LLaMA3_2_2‘ ; python openvino.genai\samples\python\text_generation\chat_sample.py C:\Users\karel\LLaMA3_2_2\ov_llama_3b_instruct_int4“
Soubor uložíte do adresáře:
C:\Users\karel\LLaMA3_2_2
1. Najděte soubor spustit_model.bat:
• Otevřete Průzkumník souborů a vyhledejte složku, kde je soubor spustit_model.bat uložen.
2. Vytvořte zástupce:
• Klikněte pravým tlačítkem myši na soubor spusti_model.bat.
• Z kontextové nabídky vyberte Zobrazit další možnosti.
• V další nabídce vyberte Odeslat do a poté Plocha (vytvořit zástupce).
Na ploše se nyní objeví zástupce s názvem „spustit_model.bat - Zástupce“.
Nyní můžete testovat textový model.
Obrázek práce modelu.
Závěrečné shrnutí
Spuštění Llama 3.2 lokálně s OpenVINO™ poskytuje robustní a efektivní řešení pro vývojáře, kteří chtějí maximalizovat výkon AI na hardwaru Intel. S tímto nastavením si můžete užít rychlejší časy odvození, nižší latenci a sníženou spotřebu zdrojů – to vše s minimálním úsilím o nastavení a kódování. Doufáme, že vám tento průvodce pomůže rychle a efektivně začít. Šťastné kódování!
karel.chramosil@gmail.com