Connect with us

Llama 2: Podrobný pohled do otevřeného challengeru pro ChatGPT

Umělá inteligence

Llama 2: Podrobný pohled do otevřeného challengeru pro ChatGPT

mm
META LLAMA 2 LLM

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 možnostmi Llama 2, zatímco poskytujeme podrobný návod pro nastavení tohoto высокovýkonného LLM prostřednictvím Hugging Face a T4 GPU na Google Colab.

Vyvinutý Meta ve spolupráci s Microsoftem, tento otevřený velký jazykový model má za cíl předefinovat oblasti generativní AI a přirozeného jazykového porozumění. Llama 2 není jen další statistický model vyškolený na terabajtech dat; je to ztělesnění filozofie. Jedna, která zdůrazňuje otevřený přístup jako základ AI vývoje, zejména v prostoru generativní AI.

Llama 2 a jeho dialogově optimalizovaná náhrada, Llama 2-Chat, jsou vybaveny až 70 miliardami parametrů. Procházejí jemným laděním navrženým tak, aby je úzce sladily 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ý pohled do Llama 2

Pro školení modelu Llama 2; stejně jako jeho předchůdci, používá auto-regresivní transformer architekturu, předškolenu 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 důležité pro zlepšení bezpečnosti a účinnosti modelu.

Meta Llama 2 školicí architektura

Meta Llama 2 školicí architektura

Předškolování & datová efektivita

Llama 2’s základní inovace spočívá v jeho předškolovacím režimu. Model bere podněty od svého předchůdce, Llama 1, ale zavádí několik zásadních vylepšení, aby zvýšil jeho výkon. Zvláště 40% nárůst celkového počtu tokenů a dvojnásobné prodloužení délky kontextu vynikají.

Supervizované 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í SFT a RLHF. V tomto kontextu SFT slouží jako integrovaná součást rámce RLHF, jemně ladící modelovy odpovědi, aby se úzce sladily s lidskými preferencemi a očekáváními.

OpenAI poskytl přehlednou ilustraci, která vysvětluje metodologie SFT a RLHF používané v InstructGPT. Stejně jako LLaMa 2, InstructGPT také využívá tyto pokročilé školicí techniky pro optimalizaci výkonu modelu.

Krok 1 v níže uvedeném obrázku se zaměřuje na Supervizované jemné ladění (SFT), zatímco následující kroky dokončují proces Učení s posilováním s lidskou zpětnou vazbou (RLHF).

Supervizované jemné ladění (SFT) je specializovaný proces zaměřený na optimalizaci předškolované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 validován a označen.

Obecně je tvorba těchto datasetů nákladná a časově náročná. Llama 2 přístup byl zaměřen na kvalitu rather než kvantitu. S pouhými 27 540 anotacemi Meta tým dosáhl 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ředškolovaný LLM vystaven označenému datasetu, kde supervizované algoritmy přicházejí 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 optimalizace umožňuje LLM chápat složité vzory a nuance vložené do označeného datasetu. V důsledku toho se model nevyvíjí jako generalizovaný nástroj, ale jako specializovaná aktivum, schopné provádět cílovou úlohu s vysokou mírou přesnosti.

Učení s posilováním je dalším krokem, zaměřeným na sladění chování modelu s lidskými preferencemi blíže.

Ladění fáze využilo Učení s posilováním s lidskou zpětnou vazbou (RLHF), využívající techniky, jako je Importance Sampling a Proximal Policy Optimization, aby se zavedl algoritmický šum, a tím se vyhnul lokálním optimům. Tento iterativní jemný proces nejen zlepšil model, ale také sladil jeho výstup s lidskými očekáváními.

Llama 2-Chat využil binární srovnávací 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 Pozornost: Víceoborové dialogy

Meta představil novou funkci, Ghost Pozornost (GAtt), která je navržena tak, aby vylepšila výkon Llama 2 ve víceoborový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. Spolu s technikami učení s posilováním pomáhá produkovat konzistentní, relevantní a uživatelsky sladěné odpovědi po delší dobu dialogů.

Ze Meta Git Repozitáře pomocí download.sh

  1. Navigate na Meta Web: Navigate na Meta’s oficiální Llama 2 web a klikněte ‘Stáhnout Model’
  2. Vyplňte podrobnosti: Přečtěte si a přijměte podmínky a podmínky, aby jste mohli pokračovat.
  3. Potvrzovací e-mail: Jakmile je formulář odeslán, budete obdržet e-mail od Meta s odkazem ke stažení modelu z jejich git repozitáře.
  4. 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é muset zvolit velikost modelu—7B, 13B nebo 70B.

Z Hugging Face

  1. Přijetí potvrzovacího e-mailu: Po získání přístupu od Meta jděte na Hugging Face.
  2. Žádost o přístup: Zvolte vámi požadovaný model a odešlete žádost o přístup.
  3. Potvrzení: Čekáte na ‘přístup povolen’ e-mail během 1-2 dnů.
  4. Generování přístupových tokenů: Přejděte do ‘Nastavení’ ve vašem Hugging Face účtu, abyste vytvořili přístupové tokeny.

Transformers 4.31 vydání je plně kompatibilní s LLaMa 2 a otevírá mnoho nástrojů a funkcí v rámci Hugging Face ekosystému. Od školicích a inferenčních skriptů až po 4-bit kvantizaci s bitsandbytes a Parameter Efficient Fine-tuning (PEFT), toolkit je rozsáhlý. Abyste mohli začít, ujistěte se, že jste na nejnovějším vydání Transformators a přihlášení do svého Hugging Face účtu.

Zde je zjednodušený průvodce pro běh LLaMa 2 modelu inference v Google Colab prostředí, využívající GPU runtime:

Google Colab Model - T4 GPU

Google Colab Model – T4 GPU

 

 

 

 

 

 

Instalace balíčků


!pip install transformers
!huggingface-cli login

Import nezbytných Python knihoven.

from transformers import AutoTokenizer
import transformers
import torch

Inicializace modelu a tokenizéru

V tomto kroku specifikujte, který Llama 2 model budete používat. Pro tento průvodce 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 Hugging Face potrubí 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 chatbot rozhraní přizpůsobený pro Llama 2. Hostován na GitHub, toto rozhraní uchovává historii chatu a také poskytuje flexibilitu pro výběr z více Llama 2 API koncových bodů hostovaných na Replicate. Toto uživatelsky zaměřené designu 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 zkušenost s tímto, 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 škáluje 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 vylepšit jeho schopnost porozumět a generovat komplexnější a rozsáhlejší obsah.

Skupinová dotazovací pozornost (GQA)

Architektura využívá koncept GQA, navržený pro urychlení výpočtu pozornosti cacheováním předchozích tokenových párů. To účinně zlepšuje inferenční škálovatelnost modelu, aby se zvýšila dostupnost.

Výkonové měřítka

Srovnávací analýza výkonu Llama 2-Chat modelů s ChatGPT a dalšími konkurenty

Srovnávací analýza výkonu Llama 2-Chat modelů s ChatGPT a dalšími konkurenty

LLama 2 nastavil nový standard v výkonových metrikách. Nejenže 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.

Llama 2-Chatův největší model, 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 mají v úmyslu, aby Llama 2 byl více než jen produkt; chtějí, aby to byla komunitou vedená nástroj. Llama 2 je zdarma pro přístup pro výzkumné a nekomerční účely. Chtějí demokratizovat AI schopnosti, aby byly dostupné startupům, výzkumníkům a podnikům. Otevřený zdroj umožňuje “crowdsourced troubleshooting” modelu. Vývojáři a AI etici 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

  1. Obecné použití 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.
  2. Průhlednost modelu: Vzhledem k předchozím neúspěchům s AI, které produkovaly zavádějící výstupy, je zkoumání rozhodovacího procesu za těmito složitými modely zásadní.

Kód 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 nabízí specializované varianty, jako je Code Llama–Python pro Python-specifické úkoly. Model také nabízí různé úrovně výkonu, aby splňoval rozdílné požadavky na latenci. Otevřeně licencován, Code Llama vyzývá komunitu k dalšímu zlepšení.

https://about.fb.com/news/2023/08/code-llama-ai-for-coding/

Závěr

Tento článek vás provedl nastavením Llama 2 modelu pro textovou generaci na Google Colab s podporou Hugging Face. Llama 2’s výkon je poháněn řadou pokročilých technik, od auto-regresivní transformer architektury až po Učení s posilováním s lidskou zpětnou vazbou (RLHF). S až 70 miliardami parametrů a funkcemi, jako je Ghost Pozornost, tento model překonává současné průmyslové standardy v určitých oblastech, a s jeho otevřenou povahou, otevírá cestu pro novou éru v přirozeném jazykovém porozumění a generativní AI.

Já jsem strávil posledních pět let ponořen do fascinujícího světa Machine Learning a Deep Learning. Moje vášeň a odbornost mě vedly k tomu, abych přispěl k více než 50 různým softwarovým inženýrským projektům, se zvláštním zaměřením na AI/ML. Moje pokračující zvědavost mě také táhne směrem k Natural Language Processing, oblasti, kterou jsem ochoten dále prozkoumat.