AI-modeller og platforme
Llama 2: En dybdegående analyse af den åbne kildeudfordrer til ChatGPT
Store sprogmodeller (LLM’er) kan udføre komplekse opgaver og har vist lovende resultater i specialiserede domæner som programmering og kreativ skrivning. Men verden af LLM’er er ikke bare en plug-and-play-paradis; der er udfordringer i brugervenlighed, sikkerhed og beregningskrav. I denne artikel vil vi dykke dybt ind i Llama 2’s funktioner og give en detaljeret vejledning til at konfigurere denne højtydende LLM via Hugging Face og T4 GPU’er på Google Colab.
Llama 2 er udviklet af Meta i samarbejde med Microsoft (MSFT ) og har til formål at omdefinere områderne for generativ AI og naturlig sprogforståelse. Llama 2 er ikke bare endnu en statistisk model trænet på terabyte af data; det er en inkarnation af en filosofi, der betoner en åben kilde-tilgang som ryggraden i AI-udvikling, især i generativ AI.
Llama 2 og dens dialog-optimerede erstatning, Llama 2-Chat, er udstyret med op til 70 milliarder parametre. De undergår en finjusteringsproces designet til at tilpasse dem tæt til menneskelige præferencer, hvilket gør dem både sikrere og mere effektive end mange andre offentligt tilgængelige modeller. Dette niveau af finjustering er ofte forbeholdt lukkede “produkt”-LLM’er, såsom ChatGPT og BARD, som ikke generelt er tilgængelige for offentlig gennemgang eller tilpasning.
En teknisk dybdegående analyse af Llama 2
Til træning af Llama 2-modellen bruges en auto-regressiv transformer-arkitektur, fortrænet på en omfattende korpus af selv-superveret data. Men det tilføjer også et ekstra lag af sofistikation ved at bruge Reinforcement Learning med menneskelig feedback (RLHF) til bedre at tilpasse sig menneskeligt adfærd og præferencer. Dette er beregningskrævende, men afgørende for at forbedre modellens sikkerhed og effektivitet.
Pretræning og dataeffektivitet
Llama 2’s grundlæggende innovation ligger i dets pretræningsregime. Modellen tager hints fra sin forgænger, Llama 1, men introducerer flere afgørende forbedringer for at forbedre dens præstation. Bemærkelsesværdigt er en 40% stigning i det totale antal tokens trænet og en fordobling af kontekstlængden. Desuden udnytter modellen gruppeforespørgselsopmærksomhed (GQA) til at forbedre slutningsmålingen.
Supervised Fine-Tuning (SFT) og Reinforcement Learning med menneskelig feedback (RLHF)
Llama-2-Chat er blevet omhyggeligt finjusteret med både SFT og Reinforcement Learning med menneskelig feedback (RLHF). I denne kontekst fungerer SFT som en integreret komponent i RLHF-rammen, der finjusterer modellens svar til at tilpasse sig menneskelige præferencer og forventninger.
OpenAI har leveret en indsigtsgivende illustration, der forklarer SFT- og RLHF-metoderne, der anvendes i InstructGPT. Ligesom LLaMa 2 anvender InstructGPT også disse avancerede træningsmetoder til at optimere modellens præstation.
Trin 1 i billedet fokuserer på Supervised Fine-Tuning (SFT), mens de efterfølgende trin fuldfører Reinforcement Learning fra menneskelig feedback (RLHF)-processen.
Supervised Fine-Tuning (SFT) er en specialiseret proces, der sigter på at optimere en fortrænet Large Language Model (LLM) til en bestemt downstream-opgave. I modsætning til usupervisede metoder, der ikke kræver data-validering, anvender SFT en dataset, der er forvalideret og mærket.
Generelt er det dyrt og tidskrævende at oprette disse datasets. Llama 2’s tilgang var kvalitet over kvantitet. Med kun 27.540 annoteringer opnåede Meta’s team præstationsniveauer, der var konkurrencedygtige med menneskelige annotatorer. Dette stemmer overens med nye studier, der viser, at selv begrænsede, men rene datasets kan drive højkvalitetsresultater.
I SFT-processen udsættes den fortrænede LLM for en mærket dataset, hvor de supervisede læringsalgoritmer kommer i spil. Modellens interne vægte justeres på basis af grader beregnet fra en opgave-specifik tab-funktion. Denne tab-funktion kvantificerer afvigelserne mellem modellens forudsagte output og de faktiske grund-sandheds-mærker.
Dette optimering tillader LLM at fatte de komplekse mønstre og nuancer, der er indlejret i den mærkede dataset. Modellen udvikler sig herefter fra en generaliseret værktøj til en specialiseret ejendom, der er dygtig til at udføre måloplassen med en høj grad af præcision.
Reinforcement learning er det næste trin, der sigter på at tilpasse modellens adfærd mere tæt til menneskelige præferencer.
Finjusteringsfasen anvendte Reinforcement Learning fra menneskelig feedback (RLHF), der anvendte teknikker som Importance Sampling og Proximal Policy Optimization for at introducere algoritmisk støj og undgå lokale optima. Denne iterative finjustering forbedrede ikke kun modellen, men tilpassede også dens output til menneskelige forventninger.
Llama 2-Chat anvendte en binær sammenligningsprotokol til at indsamle menneskelig præferencedata, der markerer en bemærkelsesværdig tendens mod mere kvalitative tilgange. Denne mekanisme underrettede Reward-modellerne, der herefter anvendtes til at finjustere den konversationale AI-modellen.
Ghost Attention: Multi-Turn Dialoger
Meta introducerede en ny funktion, Ghost Attention (GAtt), der er designet til at forbedre Llama 2’s præstation i multi-turn dialoger. Dette løser effektivt det vedvarende problem med konteksttab i løbende samtaler. GAtt fungerer som en anchor, der kobler de initielle instruktioner til alle efterfølgende brugermeddelelser. Kombineret med reinforcement learning-teknikker hjælper det med at producere konsekvente, relevante og bruger-tilpassede svar over længere dialoger.
Fra Meta Git Repository Using download.sh
- Besøg Meta-website: Navigér til Meta’s officielle Llama 2-side og klik på ‘Download The Model’
- Udfyld detaljer: Læs og acceptér vilkårene og betingelserne for at fortsætte.
- E-mail-bekræftelse: Når formularen er indsendt, modtager du en e-mail fra Meta med en link til at downloade modellen fra deres git-repository.
- Kør download.sh: Klone Git-repositoriet og kør
download.sh-skriptet. Dette skript vil bede dig om at godkende ved hjælp af en URL fra Meta, der udløber efter 24 timer. Du vælger også størrelsen på modellen – 7B, 13B eller 70B.
Fra Hugging
- Modtag accept-email: Efter at have fået adgang fra Meta, gå til Hugging Face.
- Anmod om adgang: Vælg det ønskede model og send en anmodning om at give adgang.
- Bekræftelse: Forvent en ‘adgang givet’-e-mail inden for 1-2 dage.
- Generér adgangstoken: Navigér til ‘Indstillinger’ i din Hugging Face-konto for at oprette adgangstoken.
Transformers 4.31-udgaven er fuldt kompatibel med LLaMa 2 og åbner op for mange værktøjer og funktioner inden for Hugging Face-økosystemet. Fra trænings- og slutningsmanuskripter til 4-bit-kvantificering med bitsandbytes og Parameter Efficient Fine-tuning (PEFT) er værktøjskassen omfattende. For at komme i gang skal du sikre, at du er på den seneste Transformers-udgave og logget ind på din Hugging Face-konto.
Her er en strømlinet vejledning til at køre LLaMa 2-modelslutning i en Google Colab-miljø, der udnytter en GPU-runtime:
Pakkeinstallation
<p>!pip install transformers !huggingface-cli login
Importér de nødvendige Python-biblioteker.
from transformers import AutoTokenizer import transformers import torch
Initialiser modellen og tokenizoren
I dette trin skal du specificere, hvilken Llama 2-model du vil bruge. Til denne vejledning bruger vi meta-llama/Llama-2-7b-chat-hf.
model = "meta-llama/Llama-2-7b-chat-hf" tokenizer = AutoTokenizer.from_pretrained(model)
Konfigurer røret
Udnyt Hugging Face-røret til tekstgenerering med bestemte indstillinger:
pipeline = transformers.pipeline( "tekstgenerering", model=model, torch_dtype=torch.float16, device_map="auto")
Generér tekstsekvenser
Til sidst kører du røret og genererer en tekstsekvens baseret på din input:
sequences = pipeline(
'Hvem er de nøglebidragydere til feltet for kunstig intelligens?\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"Resultat: {seq['generated_text']}")
A16Z’s UI for LLaMa 2
Andreessen Horowitz (A16Z) har nyligt lanceret en avanceret Streamlit-baseret chatbot-grænseflade til Llama 2. Værten på GitHub, denne brugercentrerede design sigter på at simplificere interaktioner med Llama 2, hvilket gør det til et ideelt værktøj for både udviklere og slutbrugere. For dem, der er interesseret i at opleve dette, er der en live-demo tilgængelig på Llama2.ai.
Llama 2: Hvad gør det anderledes end GPT-modeller og dens forgænger Llama 1?
Variation i skala
I modsætning til mange sprogmodeller, der tilbyder begrænset skalerbarhed, giver Llama 2 dig en række forskellige muligheder for modeller med varierende parametre. Modellen skalerer fra 7 milliarder til 70 milliarder parametre, hvilket giver en række konfigurationer, der kan tilpasse sig forskellige beregningsbehov.
Forbedret kontekstlængde
Modellen har en forøget kontekstlængde på 4K tokens i forhold til Llama 1. Dette giver den mulighed for at beholde mere information, hvilket forbedrer dens evne til at forstå og generere mere komplekse og omfattende indhold.
Gruppeforespørgselsopmærksomhed (GQA)
Arkitekturen anvender konceptet GQA, designet til at accelerere opmærksomhedsprocessen ved at cachelagre tidligere token-par. Dette forbedrer modellens slutningsmåling og giver den mulighed for at håndtere flere opgaver samtidig.
Præstationsbenchmarks
Llama 2 har sat en ny standard for præstationsmetrikker. Det overgår ikke kun sin forgænger, Llama 1, men tilbyder også betydelig konkurrence til andre modeller som Falcon og GPT-3.5.
Llama 2-Chats største model, 70B, overgår også ChatGPT i 36% af tilfældene og matcher præstation i yderligere 31,5% af tilfældene. Kilde: Paper
Åben kilde: Magten af fællesskabet
Meta og Microsoft har til hensigt, at Llama 2 skal være mere end bare et produkt; de ser det som et fællesskabsdrevet værktøj. Llama 2 er gratis at tilgå for både forskning og ikke-kommercielle formål. De sigter på at demokratisere AI-kapaciteter og gøre det tilgængeligt for startups, forskere og virksomheder. En åben kilde-paradigme giver mulighed for “crowdsourced fejlfinding” af modellen. Udviklere og AI-etikere kan teste, identificere sårbarheder og tilbyde løsninger i en accelereret takt.
Selv om licensbetingelserne for LLaMa 2 generelt er tilladende, undtagelser findes. Store virksomheder med over 700 millioner månedlige brugere, såsom Google, kræver udtrykkelig godkendelse fra Meta for dets anvendelse. Licensen forbyder desuden brugen af LLaMa 2 til forbedring af andre sprogmodeller.
Nuværende udfordringer med Llama 2
- Data-generelisering: Såvel Llama 2 som GPT-4 kan nogen gange fejle i ensartet høj præstation på tværs af forskellige opgaver. Datakvalitet og diversitet er lige så afgørende som volumen i disse scenarier.
- Model-gennemsigtighed: Givet tidligere tilbageslag med AI, der producerer misvisende output, er det afgørende at udforske beslutningsrationalet bag disse komplekse modeller.
Code Llama – Metas seneste lancering
Meta har nyligt annonceret Code Llama, der er en stor sprogmodel specialiseret i programmering med parameterstørrelser, der varierer fra 7B til 34B. Ligesom ChatGPT Code Interpreter kan Code Llama strømline udviklerarbejdsprocesser og gøre programmering mere tilgængelig. Det understøtter forskellige programmeringssprog og kommer i specialiserede variationer, såsom Code Llama-Python til Python-specifikke opgaver. Modellen tilbyder også forskellige præstationsniveauer for at tilpasse sig forskellige latenskrav. Åben licens, Code Llama inviterer fællesskabsindput til fortsat forbedring.
https://about.fb.com/news/2023/08/code-llama-ai-for-coding/
Konklusion
Denne artikel har ført dig gennem processen med at konfigurere en Llama 2-model til tekstgenerering på Google Colab med Hugging Face-understøttelse. Llama 2’s præstation er drevet af en række avancerede teknikker, fra auto-regressive transformer-arkitekturer til Reinforcement Learning med menneskelig feedback (RLHF). Med op til 70 milliarder parametre og funktioner som Ghost Attention, overgår denne model nuværende branchestandarder på visse områder, og med sin åbne natur baner den vejen for en ny æra i naturlig sprogforståelse og generativ AI.

















