De evolutie van Llama: De status quo uitdagen
Toen Llama voor het eerst verscheen, daagde het de dominantie uit van grote, closed-source LLM’s van techgiganten. Meta AI hanteerde een strategie die zich richtte op kleinere, meer gegeneraliseerde modellen. Het kernidee was dat deze kleinere modellen, getraind op een enorm aantal tokens, gemakkelijker en kosteneffectiever zouden zijn om te hertrainen en te finetunen voor gespecialiseerde taken. Deze aanpak stond in schril contrast met de trend van het bouwen van steeds grotere, resource-intensieve modellen.
De ‘open-source’ aard van Llama is echter een onderwerp van discussie. De Meta Llama-licentie bevat specifieke beperkingen op commercieel en acceptabel gebruik. Hoewel deze beperkingen aantoonbaar gerechtvaardigd zijn, zijn ze in strijd met de strikte definitie van open source van het Open Source Initiative. Dit heeft geleid tot voortdurende discussies over de vraag of Llama echt als open source kan worden aangemerkt.
Navigeren door juridische uitdagingen: Auteursrechtelijke zorgen
De ontwikkeling van Llama is niet zonder juridische hindernissen verlopen. In 2023 werd Meta geconfronteerd met twee class-action rechtszaken van auteurs die beweerden dat hun auteursrechtelijk beschermde boeken zonder toestemming waren gebruikt om Llama te trainen. Deze rechtszaken benadrukken de complexe auteursrechtelijke kwesties rond de trainingsgegevens die worden gebruikt voor grote taalmodellen. Tot nu toe zijn de rechtbanken niet overdreven sympathiek geweest voor de claims van de auteurs.
Uitbreiding van de mogelijkheden: Llama’s groeiende modelfamilie
Sinds eind 2023 heeft Meta AI de Llama-familie aanzienlijk uitgebreid. De modellen zijn niet langer beperkt tot tekstgebaseerde interacties. Het huidige Llama-ecosysteem omvat multi-modale modellen die zowel tekst- als visuele input kunnen verwerken, evenals modellen die zijn ontworpen voor code-interpretatie en toolintegratie. Verder heeft Meta veiligheidscomponenten geïntroduceerd, bekend als Llama Guard, om potentiële risico’s en aanvallen te identificeren en te beperken. Deze zijn ontworpen om deel uit te maken van een overkoepelend framework genaamd de ‘Llama Stack’.
Hier is een dieper inzicht in enkele van de belangrijkste modellen in de Llama-familie (samengevat van Meta AI’s modelkaarten):
Llama Guard 1: Interacties beveiligen
Llama Guard 1 is een 7-miljard parameter model gebaseerd op Llama 2. Het dient als een input-output beveiliging, die inhoud classificeert in zowel gebruikersprompts (promptclassificatie) als LLM-reacties (responsclassificatie). Dit model helpt om veiligere en meer verantwoorde interacties met op Llama gebaseerde systemen te garanderen.
Llama Guard gebruikt een zes-niveau taxonomie om potentiële schade te categoriseren:
- Violence & Hate: Inhoud die geweld of haat tegen individuen of groepen promoot.
- Sexual Content: Seksueel expliciet materiaal of inhoud die kinderen uitbuit, misbruikt of in gevaar brengt.
- Guns & Illegal Weapons: Inhoud gerelateerd aan de illegale verkoop, het gebruik of de wijziging van vuurwapens en andere wapens.
- Regulated or Controlled Substances: Inhoud die het illegale gebruik of de verkoop van drugs, alcohol of tabak promoot.
- Suicide & Self Harm: Inhoud die zelfmoord of zelfbeschadiging aanmoedigt of instructies daarvoor geeft.
- Criminal Planning: Inhoud die illegale activiteiten faciliteert of plant.
Code Llama 70B: Een drietal van codeervaardigheid
Code Llama 70B betekende een aanzienlijke uitbreiding van Llama’s codeermogelijkheden. Dit model is beschikbaar in drie verschillende varianten:
- Code Llama: Het basismodel ontworpen voor algemene codesynthese en -begrip. Het kan code genereren, codefunctionaliteit uitleggen en helpen bij het debuggen.
- Code Llama – Python: Een gespecialiseerde versie op maat gemaakt voor Python-programmering. Dit model is geoptimaliseerd voor het genereren en begrijpen van Python-code, waardoor het een waardevol hulpmiddel is voor Python-ontwikkelaars.
- Code Llama – Instruct: Een variant gericht op het volgen van instructies en het waarborgen van een veiligere implementatie. Dit model is met name handig voor het genereren van code die voldoet aan specifieke richtlijnen en veiligheidsprotocollen.
Alle drie de varianten zijn beschikbaar in verschillende groottes: 7 miljard, 13 miljard, 34 miljard en 70 miljard parameters. Code Llama en zijn varianten zijn ontworpen voor zowel commercieel als onderzoeksgebruik, voornamelijk in het Engels en gerelateerde programmeertalen. Er is voldoende bewijs om te suggereren dat Code Llama sterke codeervaardigheden bezit.
Llama Guard 2: Verbeterde veiligheidsclassificatie
Llama Guard 2 bouwt voort op de basis van zijn voorganger en biedt verbeterde veiligheidsclassificatiemogelijkheden. Dit 8-miljard parameter model, gebaseerd op Llama 3, is getraind om veiligheidslabels te voorspellen in 11 categorieën, in overeenstemming met de MLCommons-taxonomie van gevaren.
De gevarencategorieën die door Llama Guard 2 worden gedekt, omvatten:
- S1: Violent Crimes: Inhoud gerelateerd aan gewelddadige criminele handelingen.
- S2: Non-Violent Crimes: Inhoud gerelateerd aan niet-gewelddadige strafbare feiten.
- S3: Sex-Related Crimes: Inhoud met betrekking tot seksuele misdrijven.
- S4: Child Sexual Exploitation: Inhoud die kinderen seksueel uitbuit, misbruikt of in gevaar brengt.
- S5: Specialized Advice: Ongekwalificeerd of misleidend advies op gespecialiseerde gebieden (bijv. medisch, juridisch, financieel).
- S6: Privacy: Inhoud die de privacy schendt of persoonlijke informatie vrijgeeft zonder toestemming.
- S7: Intellectual Property: Inhoud die inbreuk maakt op intellectuele eigendomsrechten.
- S8: Indiscriminate Weapons: Inhoud gerelateerd aan wapens die wijdverspreide en willekeurige schade veroorzaken.
- S9: Hate: Inhoud die haat of vooroordelen uitdrukt jegens individuen of groepen.
- S10: Suicide & Self-Harm: Inhoud die zelfmoord of zelfbeschadiging promoot of instructies daarvoor geeft.
- S11: Sexual Content: Seksueel expliciet materiaal.
Meta Llama 3: Veelzijdigheid in dialoog
Meta Llama 3 wordt aangeboden in twee formaten, 8 miljard en 70 miljard parameters, met zowel voorgetrainde als instructie-afgestemde varianten. De instructie-afgestemde modellen zijn specifiek geoptimaliseerd voor op dialoog gebaseerde toepassingen, waardoor ze geschikt zijn voor chatbots en conversationele AI-systemen.
Prompt Guard: Verdediging tegen kwaadaardige inputs
Prompt Guard is een classificatiemodel dat is ontworpen om kwaadaardige prompts te detecteren, waaronder jailbreaks (pogingen om veiligheidsbeperkingen te omzeilen) en promptinjecties (pogingen om de output van het model te manipuleren door middel van vervaardigde inputs). Meta AI raadt aan om Prompt Guard te finetunen met toepassingsspecifieke gegevens om optimale prestaties te bereiken.
In tegenstelling tot Llama Guard vereist Prompt Guard geen specifieke promptstructuur. Het werkt op een string-input en classificeert deze als veilig of onveilig (op twee verschillende niveaus van ernst). Het is een BERT-model dat uitsluitend labels uitvoert.
Llama Guard 3: Multi-modale en meertalige veiligheid
Llama Guard 3 is beschikbaar in drie versies: Llama Guard 3 1B, Llama Guard 3 8B en Llama Guard 3 11B-Vision. De eerste twee zijn tekst-only modellen, terwijl de derde de visuele begripsmogelijkheden van het Llama 3.2 11B-Vision model incorporeert. Alle versies zijn meertalig (voor tekst-only prompts) en houden zich aan de gevarencategorieën gedefinieerd door het MLCommons-consortium.
Llama Guard 3 8B kan ook worden gebruikt voor categorie S14, Code Interpreter Abuse. Het is belangrijk op te merken dat het Llama Guard 3 1B-model niet is geoptimaliseerd voor deze specifieke categorie.
De gevarencategorieën, die een uitbreiding zijn op die van Llama Guard 2, zijn:
- S1: Violent Crimes
- S2: Non-Violent Crimes
- S3: Sex-Related Crimes
- S4: Child Sexual Exploitation
- S5: Defamation
- S6: Specialized Advice
- S7: Privacy
- S8: Intellectual Property
- S9: Indiscriminate Weapons
- S10: Hate
- S11: Suicide & Self-Harm
- S12: Sexual Content
- S13: Elections
- S14: Code Interpreter Abuse
Meta Llama 3.1: Meertalige generatieve modellen
De Meta Llama 3.1-collectie omvat meertalige grote taalmodellen, waaronder voorgetrainde en instructie-afgestemde generatieve modellen in 8 miljard, 70 miljard en 405 miljard parametergroottes (tekstinput, tekstoutput).
Ondersteunde talen zijn: Engels, Duits, Frans, Italiaans, Portugees, Hindi, Spaans en Thais.
Meta Llama 3.2: Verbeterde dialoogmogelijkheden
De Llama 3.2-collectie bevat meertalige grote taalmodellen, waaronder voorgetrainde en instructie-afgestemde generatieve modellen in 1 miljard en 3 miljard parametergroottes (tekstinput, tekstoutput). Gekwantiseerde versies van deze modellen zijn ook beschikbaar. De Llama 3.2 instructie-afgestemde tekst-only modellen zijn geoptimaliseerd voor meertalige dialoog, en blinken uit in taken zoals agentic retrieval en samenvatting. De 1B- en 3B-modellen zijn kleinere, minder krachtige afgeleiden van Llama 3.1.
Officieel ondersteunde talen zijn: Engels, Duits, Frans, Italiaans, Portugees, Hindi, Spaans en Thais. Llama 3.2 is echter getraind op een breder scala aan talen dan deze acht.
Llama 3.2-Vision: Beeldredenering en -begrip
De Llama 3.2-Vision-collectie introduceert multi-modale grote taalmodellen. Deze modellen zijn voorgetraind en instructie-afgestemd voor beeldredenering, beschikbaar in 11 miljard en 90 miljard parametergroottes (tekst- en beeldinput, tekstoutput). De instructie-afgestemde modellen zijn geoptimaliseerd voor visuele herkenning, beeldredenering, ondertiteling en het beantwoorden van algemene vragen over afbeeldingen.
Voor tekst-only taken zijn de officieel ondersteunde talen Engels, Duits, Frans, Italiaans, Portugees, Hindi, Spaans en Thais. Llama 3.2 is getraind op een bredere set talen, maar voor beeld+tekst-toepassingen is Engels de enige ondersteunde taal.
Meta Llama 3.3: Een krachtig 70B-model
Het Meta Llama 3.3 meertalige grote taalmodel is een voorgetraind en instructie-afgestemd generatief model met 70 miljard parameters (tekstinput, tekstoutput).
Ondersteunde talen: Engels, Duits, Frans, Italiaans, Portugees, Hindi, Spaans en Thais.
Het is cruciaal om te begrijpen dat grote taalmodellen, waaronder Llama 3.2, niet bedoeld zijn voor geïsoleerde implementatie. Ze moeten worden geïntegreerd in een uitgebreid AI-systeem met passende veiligheidsmaatregelen. Van ontwikkelaars wordt verwacht dat ze systeembeveiligingen implementeren, vooral bij het bouwen van agentic systemen.
Llama 3.3, Llama 3.2 tekst-only modellen en Llama 3.1 bevatten ingebouwde ondersteuning voor de volgende tools:
- Brave Search: Een tool call voor het uitvoeren van webzoekopdrachten.
- Wolfram Alpha: Een tool call voor het uitvoeren van complexe wiskundige berekeningen.
- Code Interpreter: Een tool call waarmee het model Python-code kan uitvoeren.
Opmerking: Llama 3.2 vision-modellen ondersteunen geen tool calling met tekst+beeld-inputs.
De Llama Stack: Een uniform framework
Het grote aantal Llama-modellen kan overweldigend zijn. Om het selectie- en integratieproces te vereenvoudigen, biedt Meta de Llama Stack aan. Dit framework legt de nadruk op Llama-modellen, maar biedt ook adapters voor gerelateerde mogelijkheden, zoals vector databases voor retrieval-augmented generation (RAG).
Llama Stack ondersteunt momenteel SDK’s in Python, Swift, Node en Kotlin. Het biedt verschillende distributies, waaronder:
- Lokale distributie (met behulp van Ollama): Voor lokale ontwikkeling en testen.
- On-device distributies (iOS en Android): Voor het implementeren van Llama-modellen op mobiele apparaten.
- Distributies voor GPU’s: Voor het benutten van de kracht van GPU’s voor snellere verwerking.
- Remote-hosted distributies (Together en Fireworks): Voor toegang tot Llama-modellen via cloud-gebaseerde services.
Het kernconcept achter Llama Stack is om ontwikkelaars in staat te stellen applicaties lokaal te bouwen en vervolgens gemakkelijk over te stappen naar een productieomgeving. Het biedt zelfs een interactieve Llama Stack Playground voor lokale ontwikkeling tegen een externe Llama Stack.
Llama-modellen uitvoeren: Veelzijdige implementatie-opties
Llama-modellen kunnen worden geïmplementeerd op verschillende platforms, waaronder Linux, Windows, macOS en de cloud. Gekwantiseerde Llama-modellen, zoals Llama 3.2 en Llama 3.2-Vision, kunnen effectief worden uitgevoerd op moderne hardware, zelfs op laptops zoals de M4 Pro MacBook Pro met behulp van tools zoals Ollama.
Meta biedt uitgebreide how-to gidsen voor het implementeren en gebruiken van Llama-modellen. Daarnaast zijn er integratiegidsen beschikbaar voor populaire frameworks zoals LangChain en LlamaIndex.
Samenvattend, Llama is meer dan alleen een eenvoudig taalmodel; het is nu een multi-modaal AI-framework compleet met veiligheidsfuncties, codegeneratie en ondersteuning voor vele talen. Meta’s systeem maakt het mogelijk om het op veel plaatsen te implementeren, maar juridische kwesties met de trainingsgegevens en argumenten over de vraag of Llama open source is, blijven bestaan.