Connect with us

Llama 2: En dybdegående analyse af den open-source-udfordrer til ChatGPT

Kunstig intelligens

Llama 2: En dybdegående analyse af den open-source-udfordrer til ChatGPT

mm
META LLAMA 2 LLM

Large Language Models (LLM’er) kan udføre komplekse resoneringstasks og har vist lovende resultater i specialiserede domæner som programmering og kreativ skrivning. Men verden af LLM’er er ikke blot et plug-and-play-paradis; der er udfordringer i brugervenlighed, sikkerhed og computermæssige krav. I denne artikel vil vi dykke dybt ind i Llama 2‘s funktioner, samtidig med at vi giver en detaljeret vejledning i, hvordan man sætter dette højtydende LLM op via Hugging Face og T4-GPU’er på Google Colab.

Udviklet af Meta i samarbejde med Microsoft, sigter dette open-source-store sprogmodel til at gendefinere områderne for generativ AI og naturlig sprogforståelse. Llama 2 er ikke bare endnu et statistisk model trænet på terabytevis af data; det er en inkarnation af en filosofi. En filosofi, der betoner en open-source-tilgang som rygmarven i AI-udvikling, især i generativ AI-rummet.

Llama 2 og dens dialog-optimerede erstatning, Llama 2-Chat, er udstyret med op til 70 milliarder parametre. De undergår en finjustering, der er designet til at bringe dem tættere på 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.

Teknisk dybdegående analyse af Llama 2

Til træning af Llama 2-modellen; ligesom dens forgængere, bruger den en auto-regressiv transformer-arkitektur, fortrænet på en omfattende korpus af selvovervåget data. Men det tilføjer et ekstra lag af sofistikation ved at bruge Forstærkning med Menneskelig Feedback (RLHF) til bedre at bringe det i overensstemmelse med menneskelig adfærd og præferencer. Dette er computermæssigt dyrt, men afgørende for at forbedre modellens sikkerhed og effektivitet.

Meta Llama 2 træningsarkitektur

Meta Llama 2 træningsarkitektur

Pretræning & 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 hæve dens præstation. Bemærkelsesværdigt, en 40% stigning i det totale antal tokens trænet og en fordobling af kontekstlængden står ud. Desuden udnytter modellen grupperet-spørgsels-opmærksomhed (GQA) til at forstærke inferensskalabilitet.

Overvåget finjustering (SFT) & Forstærkning med Menneskelig Feedback (RLHF)

Llama-2-Chat er blevet omhyggeligt finjusteret ved hjælp af både SFT og Forstærkning med Menneskelig Feedback (RLHF). I denne kontekst fungerer SFT som en integreret komponent i RLHF-rammeværket, der raffinerer modellens svar til at bringe dem tættere på menneskelige præferencer og forventninger.

OpenAI har leveret en indsigtsgivende illustration, der forklarer SFT- og RLHF-metodologierne, der er anvendt i InstructGPT. Ligesom LLaMa 2 anvender InstructGPT også disse avancerede træningsmetoder til at optimere modellens præstation.

Trin 1 i det nedenstående billede fokuserer på Overvåget finjustering (SFT), mens de efterfølgende trin fuldfører Forstærkning fra Menneskelig Feedback (RLHF)-processen.

Overvåget finjustering (SFT) er en specialiseret proces, der sigter mod at optimere en fortrænet Large Language Model (LLM) til en bestemt downstream-opgave. I modsætning til uovervåede metoder, der ikke kræver data-validering, anvender SFT en dataset, der er forvalideret og markeret.

Generelt er opbygning af disse datasæt kostbar og tidskrævende. Llama 2’s tilgang var kvalitet over kvantitet. Med kun 27.540 annotationer 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 datasæt kan drive højkvalitetsresultater.

I SFT-processen udsættes den fortrænede LLM for en markeret dataset, hvor de overvåede læringsalgoritmer kommer i spil. Modellens interne vægte justeres på basis af graderinger beregnet fra en opgave-specifik tab-funktion.

Denne optimering giver LLM mulighed for at fatte de komplekse mønstre og nuancer, der er indlejret i den markerede dataset. herefter udvikler modellen sig fra at være et generelt værktøj til at blive et specialiseret aktiv, der er dygtig til at udføre målopgraven med høj præcision.

Forstærkning er det næste trin, der sigter mod at bringe modellens adfærd tættere på menneskelige præferencer.

Finjusteringsfasen udnyttede Forstærkning fra Menneskelig Feedback (RLHF), der anvendte teknikker som Importance Sampling og Proximal Policy Optimization til at introducere algoritmisk støj, hvilket undgår lokale optima. Denne iterative finjustering forbedrede ikke kun modellen, men også dens output til at bringe det i overensstemmelse med menneskelige forventninger.

Llama 2-Chat anvendte en binær sammenligningsprotokol til at indsamle menneskelig præferencedata, hvilket markerer en bemærkelsesværdig tendens mod mere kvalitative tilgange. Denne mekanisme informerede Belønningsmodellerne, der herefter blev anvendt til at finjustere den konversationalt 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 pågående samtaler. GAtt fungerer som en anchor, der kobler de initiale instruktioner til alle efterfølgende brugerbeskeder. I kombination med forstærkningslæringsmetoder hjælper det med at producere konsekvente, relevante og bruger-tilpassede svar over længere dialoger.

Fra Meta Git Repository Using download.sh

  1. Besøg Meta-website: Navigér til Meta’s officielle Llama 2-side og klik ‘Download The Model’
  2. Udfyld detaljer: Læs gennem og acceptér vilkårene og betingelserne for at fortsætte.
  3. 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.
  4. Kør download.sh: Klone Git-repository 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å modellens størrelse – 7B, 13B eller 70B.

Fra Hugging Face

  1. Modtag accept-e-mail: Efter at have fået adgang fra Meta, gå til Hugging Face.
  2. Anmod om adgang: Vælg det ønskede model og indsend en anmodning om at give adgang.
  3. Bekræftelse: Forvent en ‘adgang bevilget’-e-mail inden for 1-2 dage.
  4. 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 inferensskripter 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 i, hvordan du kører LLaMa 2-modelinference i en Google Colab-miljø, der udnytter en GPU-runtime:

Google Colab Model - T4 GPU

Google Colab Model – T4 GPU

 

 

 

 

 

 

Pakkeinstallation


!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:

sekvenser = 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 sekvens in sekvenser:
print(f"Resultat: {sekvens['generated_text']}")

A16Z’s UI til LLaMa 2

Andreessen Horowitz (A16Z) har nyligt lanceret en avanceret Streamlit-baseret chatbot-grænseflade tilpasset til Llama 2. Værts på GitHub, denne brugerorienterede design sigter mod at forenkle 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 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 kun tilbyder begrænsede skalamuligheder, 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 computermæssige behov.

Forbedret kontekstlængde

Modellen har en forøget kontekstlængde på 4K tokens i forhold til Llama 1. Dette giver det mulighed for at beholde mere information, hvilket forbedrer dens evne til at forstå og generere mere komplekse og omfattende indhold.

Grupperet spørgsels-opmærksomhed (GQA)

Arkitekturen anvender konceptet GQA, designet til at accelerere opmærksomhedsprocessen ved at cache forrige token-par. Dette forbedrer effektivt modellens inferensskalabilitet til at forbedre tilgængeligheden.

Præstationsbenchmarks

Sammenlignende præstationsanalyse af Llama 2-Chat-modeller med ChatGPT og andre konkurrenter

Præstationsanalyse af Llama 2-Chat-modeller med ChatGPT og andre konkurrenter

LLama 2 har sat en ny standard i 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, den 70B, overgår også ChatGPT i 36% af tilfældene og matcher præstation i yderligere 31,5% af tilfældene. Kilde: Paper

Open Source: Kraften af fællesskabet

Meta og Microsoft sigter til, at Llama 2 skal være mere end blot et produkt; de forestiller sig det som et fællesskabsdrevet værktøj. Llama 2 er gratis at tilgå til både forskning og ikke-kommercielle formål. De sigter mod at demokratisere AI-kapaciteter, hvilket gør det tilgængeligt for startups, forskere og virksomheder. En open-source-paradigme giver mulighed for ‘crowdsourced fejlfinding’ af modellen. Udviklere og AI-etikere kan teste, identificere svagheder og tilbyde løsninger i en accelereret takt.

Selvom licensvilkårene for LLaMa 2 generelt er permissive, undtagelser findes. Store virksomheder med over 700 millioner månedlige brugere, som Google, kræver ekspllicit godkendelse fra Meta for dets anvendelse. Desuden forbuder licensen brug af LLaMa 2 til forbedring af andre sprogmodeller.

Nuværende udfordringer med Llama 2

  1. Data-generelisering: Såvel Llama 2 som GPT-4 kan nogen gange fejle i ensartet høj præstation på tværs af divergerende opgaver. Datakvalitet og diversitet er lige så afgørende som volumen i disse scenarier.
  2. Model-gennemsigtighed: Givet tidligere tilbageslag med AI, der producerer misvisende output, er det afgørende at udforske den beslutningsmæssige rationales bag disse komplekse modeller.

Code Llama – Metas seneste lancering

Meta annoncerede nyligt Code Llama, der er et stort sprogmodel specialiseret i programmering med parameterstørrelser, der varierer fra 7B til 34B. Ligesom ChatGPT Code Interpreter; Code Llama kan 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 ventetider. Åbent licenseret, inviterer Code Llama til fællesskabsinput for fortsat forbedring.

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

Konklusion

Denne artikel har ført dig gennem, hvordan du sætter en Llama 2-model op 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 Forstærkning 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 det vejen for en ny æra i naturlig sprogforståelse og generativ AI.

Jeg har brugt de sidste fem år på at dykke ned i den fascinerende verden af Machine Learning og Deep Learning. Min passion og ekspertise har ført til, at jeg har bidraget til over 50 forskellige software-udviklingsprojekter, med særlig fokus på AI/ML. Min vedvarende nysgerrighed har også ført mig i retning af Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.