Hlavní obsah

Instalace AI textového modelu LlaMA3.2 do notebooku, nebo PC s procesorem Intell

Foto: Karel Chramosil

Textový model LLaMA3.2

Vydáním Llama 3.2 je přístup k nejnovějším vylepšením v modelech AI než kdy předtím. Vlastnosti modelu: Generování a odpovídání na dotazy: Překlad textů: Shrnutí textů: Analýza sentimentu: Návrh kódu : To vše bez připojení k internetu !!!

Č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

Máte na tohle téma jiný názor? Napište o něm vlastní článek.

Reakce na článek

  • Texty jsou tvořeny uživateli a nepodléhají procesu korektury. Pokud najdete chybu nebo nepřesnost, prosíme, pošlete nám ji na medium.chyby@firma.seznam.cz.

    Sdílejte s lidmi své příběhy

    Stačí mít účet na Seznamu a můžete začít psát. Ty nejlepší články se mohou zobrazit i na hlavní stránce Seznam.cz

    Doporučované

    Načítám