Modely a platformy AI
Llama 2: Podrobný rozbor otevřeného zdrojového kódu, který konkuruje ChatGPT
Velké jazykové modely (LLM) schopné komplexních úloh rozumného uvažování prokázaly slib v specializovaných oblastech, jako je programování a kreativní psaní. Nicméně, svět LLM není prostě ráj plug-and-play; existují výzvy v uživatelské přívětivosti, bezpečnosti a výpočetních nárocích. V tomto článku se budeme hluboce zabývat schopnostmi Llama 2, a zároveň poskytneme podrobný návod pro nastavení tohoto vysoce výkonného LLM pomocí Hugging Face a T4 GPU na Google Colab.
Vyvinutý firmou Meta ve spolupráci s Microsoftem, tento otevřený velký jazykový model má za cíl předefinovat oblasti generativní umělé inteligence a přirozeného jazykového porozumění. Llama 2 není jen další statistický model trénovaný na terabajtech dat; je to ztělesnění filozofie. Jedna, která zdůrazňuje otevřený přístup jako základní kámen vývoje umělé inteligence, zejména v oblasti generativní umělé inteligence.
Llama 2 a jeho dialogově optimalizovaná varianta, Llama 2-Chat, jsou vybaveny až 70 miliardami parametrů. Procházejí procesem jemného ladění, který je navržen tak, aby je úzce sladil s lidskými preferencemi, což je činí bezpečnějšími a účinnějšími než mnohé jiné veřejně dostupné modely. Tato úroveň jemnosti v jemném ladění je často vyhrazena pro uzavřené “produktové” LLM, jako je ChatGPT a BARD, které nejsou obecně dostupné pro veřejnou kontrolu nebo přizpůsobení.
Technický hluboký rozbor Llama 2
Pro trénování modelu Llama 2 se, stejně jako u jeho předchůdců, používá auto-regresivní transformerová architektura, předtrénovaná na rozsáhlém korpusu samo-supervizních dat. Nicméně, přidává další vrstvu sofistikovanosti pomocí učení s posilováním s lidskou zpětnou vazbou (RLHF) pro lepší sladění s lidským chováním a preferencemi. To je výpočetně nákladné, ale zásadní pro zlepšení bezpečnosti a účinnosti modelu.
Předtrénování & efektivita dat
Inovace Llama 2 spočívá v jeho předtrénovacím režimu. Model čerpá inspiraci ze svého předchůdce, Llama 1, ale zavádí několik zásadních vylepšení, aby zvýšil své výkony. Značná 40% zvýšení celkového počtu tokenů a dvojnásobné prodloužení kontextové délky jsou pozoruhodné. Kromě toho model využívá seskupenou dotazovací pozornost (GQA) pro zvýšení škálovatelnosti inference.
Dozorované jemné ladění (SFT) & učení s posilováním s lidskou zpětnou vazbou (RLHF)
Llama-2-chat prošel důkladným jemným laděním pomocí obou SFT a RLHF. V tomto kontextu SFT slouží jako integrovaná součást rámce RLHF, jemně ladící modelovy odpovědi tak, aby se úzce sladily s lidskými preferencemi a očekáváními.
OpenAI poskytl přehlednou ilustraci, která vysvětluje metody SFT a RLHF používané v InstructGPT. Stejně jako LLaMa 2, InstructGPT také využívá tyto pokročilé trénovací techniky pro optimalizaci výkonu modelu.
Krok 1 na níže uvedeném obrázku se zaměřuje na dozorované jemné ladění (SFT), zatímco následující kroky dokončují proces učení s posilováním z lidské zpětné vazby (RLHF).
Dozorované jemné ladění (SFT) je specializovaný proces zaměřený na optimalizaci předtrénovaného velkého jazykového modelu (LLM) pro konkrétní downstream úlohu. Na rozdíl od nesupervizovaných metod, které nevyžadují validaci dat, SFT využívá dataset, který byl předem ověřen a označen.
Obecně je vytváření těchto datasetů nákladné a časově náročné. Přístup Llama 2 byl zaměřen na kvalitu nad kvantitou. S pouhými 27 540 anotacemi dosáhl tým Meta výkonových úrovní srovnatelných s lidskými anotátory. To se shoduje s nedávnými studiemi, které ukazují, že i omezené, ale čisté datasety mohou vést k vysokokvalitním výsledkům.
V procesu SFT je předtrénovaný LLM vystaven označenému datasetu, kde algoritmy supervizovaného učení vstupují do hry. Vnitřní váhy modelu jsou překalibrovány na základě gradientů vypočtených z úkolu-specifické ztrátové funkce. Tato ztrátová funkce kvantifikuje rozdíly mezi předpovězenými výstupy modelu a skutečnými označeními.
Tato optimalizace umožňuje LLM pochopit složitou strukturu a nuance vložené do označeného datasetu. V důsledku toho se model nevyvíjí pouze jako generalizovaná nástroj, ale jako specializovaný asset, který je schopen provádět cílovou úlohu s vysokou mírou přesnosti.
Učení s posilováním je další krok, zaměřený na sladění chování modelu s lidskými preferencemi.
Fáze ladění využila učení s posilováním z lidské zpětné vazby (RLHF), zaměstnávající techniky, jako je Importance Sampling a Proximal Policy Optimization, aby se zaváděl algoritmický šum, a tak se vyhnul lokálním optimům. Tento iterativní proces jemného ladění nejenom zlepšil model, ale také sladil jeho výstup s lidskými očekáváními.
Llama 2-Chat použil binární komparační protokol pro sběr lidských preferenčních dat, což je pozoruhodný trend směrem k více kvalitativním přístupům. Tento mechanismus informoval odměnové modely, které se poté použily pro jemné ladění konverzačního AI modelu.
Ghost Attention: Vícekolové dialogy
Meta představil novou funkci, Ghost Attention (GAtt), která je navržena tak, aby vylepšila výkon Llama 2 ve vícekolových dialozích. To efektivní řeší přetrvávající problém ztráty kontextu v probíhajících konverzacích. GAtt funguje jako kotva, spojující počáteční instrukce se všemi následnými uživatelskými zprávami. V kombinaci s technikami učení s posilováním pomáhá produkovat konzistentní, relevantní a uživatelsky sladěné odpovědi po delší dobu dialogů.
Z Meta Git Repozitáře pomocí download.sh
- Navigujte na web Meta: Přejděte na oficiální web Llama 2 a klikněte na ‘Stáhnout model’
- Vyplňte podrobnosti: Přečtěte si a přijměte podmínky a pokyny pro pokračování.
- Potvrzení e-mailem: Jakmile je formulář odeslán, budete od Meta obdržet e-mail s odkazem ke stažení modelu z jejich git repozitáře.
- Spuštění download.sh: Naklonujte git repozitář a spusťte skript
download.sh. Tento skript vás vyzve k autentizaci pomocí URL od Meta, která vyprší za 24 hodin. Budete také moci zvolit velikost modelu – 7B, 13B nebo 70B.
Z Hugging
- Přijetí potvrzovacího e-mailu: Po získání přístupu od Meta přejděte na Hugging Face.
- Žádost o přístup: Zvolte požadovaný model a odešlete žádost o přístup.
- Potvrzení: Čekáte na e-mail ‘přístup povolen’ během 1-2 dnů.
- Generování přístupových tokenů: Přejděte do ‘Nastavení’ ve svém účtu Hugging Face a vytvořte přístupové tokeny.
Transformers 4.31 release je plně kompatibilní s LLaMa 2 a nabízí mnoho nástrojů a funkcí v ekosystému Hugging Face. Od trénovacích a inferenčních skriptů po 4-bit kvantizaci s bitsandbytes a Parameter Efficient Fine-tuning (PEFT) je toolkit rozsáhlý. Pro začátek se ujistěte, že jste na nejnovější verzi Transformátorů a přihlášení do svého účtu Hugging Face.
Zde je zjednodušený návod pro spuštění modelu LLaMa 2 v prostředí Google Colab s využitím GPU:
Instalace balíčku
<p>!pip install transformers !huggingface-cli login
Import nezbytných Python knihoven.
from transformers import AutoTokenizer import transformers import torch
Inicializace modelu a tokenizátoru
V tomto kroku specifikujte, který model Llama 2 budete používat. Pro tento návod použijeme meta-llama/Llama-2-7b-chat-hf.
model = "meta-llama/Llama-2-7b-chat-hf" tokenizer = AutoTokenizer.from_pretrained(model)
Nastavení potrubí
Využijte potrubí Hugging Face pro textovou generaci se specifickými nastaveními:
pipeline = transformers.pipeline( "text-generation", model=model, torch_dtype=torch.float16, device_map="auto")
Generování textových sekvencí
Nakonec spusťte potrubí a vygenerujte textovou sekvenci na základě vašeho vstupu:
sequences = pipeline(
'Kdo jsou klíčoví přispěvatelé v oblasti umělé inteligence?\n',
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200)
for seq in sequences:
print(f"Výsledek: {seq['generated_text']}")
A16Z’s UI pro LLaMa 2
Andreessen Horowitz (A16Z) nedávno spustil špičkový Streamlit-based chatbotový interface speciálně pro Llama 2. Hostovaný na GitHubu, tento UI uchovává historii relací chatu a nabízí flexibilitu pro výběr z více koncových bodů Llama 2 API hostovaných na Replicate. Tento uživatelsky orientovaný design má za cíl zjednodušit interakce s Llama 2, čímž se stává ideálním nástrojem pro vývojáře i koncové uživatele. Pro ty, kteří mají zájem o vyzkoušení, je k dispozici živý demo na Llama2.ai.
Llama 2: Co jej odlišuje od modelů GPT a jeho předchůdce Llama 1?
Různorodost v měřítku
Na rozdíl od mnoha jazykových modelů, které nabízejí omezenou škálovatelnost, Llama 2 nabízí řadu různých možností modelů s různými parametry. Model se měří od 7 miliard do 70 miliard parametrů, čímž poskytuje řadu konfigurací pro různé výpočetní potřeby.
Vylepšená délka kontextu
Model má prodlouženou délku kontextu 4K tokenů oproti Llama 1. To umožňuje uchovat více informací, a tím zlepšit jeho schopnost porozumět a generovat komplexnější a rozsáhlejší obsah.
Seskupená dotazovací pozornost (GQA)
Architektura využívá konceptu GQA, který je navržen tak, aby urychlil proces výpočtu pozornosti cacheováním předchozích tokenových párů. To účinně zlepšuje škálovatelnost inference modelu, a tím zvyšuje jeho dostupnost.
Výkonnostní měřítka
Llama 2 nastavil nový standard pro výkonové metriky. Nejenom překonává svého předchůdce, Llama 1, ale také nabízí významnou konkurenci jiným modelům, jako je Falcon a GPT-3.5.
Největší model Llama 2-Chat, 70B, také překonává ChatGPT ve 36 % případů a dosahuje shodného výkonu v dalších 31,5 % případů. Zdroj: Paper
Otevřený zdroj: Síla komunity
Meta a Microsoft (MSFT ) mají v úmyslu, aby Llama 2 nebyl pouze produktem, ale komunitou řízeným nástrojem. Llama 2 je zdarma dostupný pro výzkum i nekomerční účely. Cílem je demokratizovat schopnosti umělé inteligence, aby byly dostupné startupům, výzkumníkům a podnikům. Otevřený zdroj umožňuje “crowdsourced odstraňování chyb” modelu. Vývojáři a etici umělé inteligence mohou testovat, identifikovat zranitelnosti a nabízet řešení urychleným tempem.
Ačkoli jsou licenční podmínky pro LLaMa 2 obecně permissive, výjimky existují. Velké podniky s více než 700 miliony měsíčních uživatelů, jako je Google, vyžadují explicitní autorizaci od Meta pro jeho využití. Kromě toho licence zakazuje použití LLaMa 2 pro zlepšení jiných jazykových modelů.
Aktuální výzvy s Llama 2
- Generalizace dat: Jak Llama 2, tak GPT-4 někdy selhávají v jednotně vysoké výkonnosti napříč rozdílnými úkoly. Kvalita a rozmanitost dat jsou stejně důležité jako objem v těchto scénářích.
- Průhlednost modelu: Vzhledem k předchozím selháním umělé inteligence při produkci zavádějících výstupů je zkoumání rozhodovacího racionálu za těmito složitými modely zásadní.
Code Llama – Meta’s Latest Launch
Meta nedávno oznámil Code Llama, který je velký jazykový model specializovaný na programování s parametry od 7B do 34B. Podobně jako ChatGPT Code Interpreter; Code Llama může zjednodušit vývojářské pracovní postupy a učinit programování přístupnějším. Podporuje různé programovací jazyky a je k dispozici v specializovaných verzích, jako je Code Llama–Python pro úkoly specifické pro Python. Model nabízí různé úrovně výkonu pro splnění různých požadavků na latenci. Otevřeně licencován, Code Llama vyzývá komunitu k příspěvku pro pokračující zlepšování.
https://about.fb.com/news/2023/08/code-llama-ai-for-coding/
Závěr
Tento článek vás provedl nastavením modelu Llama 2 pro generaci textu na Google Colab s podporou Hugging Face. Výkon Llama 2 je poháněn řadou pokročilých technik, od auto-regresivních transformerových architektur po učení s posilováním s lidskou zpětnou vazbou (RLHF). S až 70 miliardami parametrů a funkcemi, jako je Ghost Attention, tento model překonává současné průmyslové standardy v určitých oblastech, a s jeho otevřenou povahou, otevírá cestu k nové éře v přirozeném jazykovém porozumění a generativní umělé inteligenci.

















