Die Evolution von Llama: Herausforderung des Status Quo
Als Llama erstmals auf den Markt kam, stellte es die Dominanz großer, Closed-Source-LLMs von Tech-Giganten in Frage. Meta AI verfolgte eine Strategie, die sich auf kleinere, allgemeinere Modelle konzentrierte. Die Grundidee war, dass diese kleineren Modelle, die auf einer riesigen Anzahl von Token trainiert wurden, einfacher und kostengünstiger für spezielle Aufgaben neu trainiert und feinabgestimmt werden können. Dieser Ansatz stand im krassen Gegensatz zu dem Trend, immer größere, ressourcenintensive Modelle zu bauen.
Allerdings ist Llamas ‘Open-Source’-Natur umstritten. Die Meta Llama-Lizenz enthält spezifische Einschränkungen für die kommerzielle und akzeptable Nutzung. Obwohl diese Einschränkungen wohl begründet sind, stehen sie im Widerspruch zur strengen Definition von Open Source durch die Open Source Initiative. Dies hat zu anhaltenden Diskussionen darüber geführt, ob Llama wirklich als Open Source qualifiziert ist.
Umgang mit rechtlichen Herausforderungen: Urheberrechtsbedenken
Die Entwicklung von Llama verlief nicht ohne rechtliche Hürden. Im Jahr 2023 sah sich Meta mit zwei Sammelklagen von Autoren konfrontiert, die behaupteten, dass ihre urheberrechtlich geschützten Bücher ohne Erlaubnis zum Trainieren von Llama verwendet wurden. Diese Klagen verdeutlichen die komplexen Urheberrechtsfragen im Zusammenhang mit den Trainingsdaten, die für große Sprachmodelle verwendet werden. Bisher zeigten sich die Gerichte den Ansprüchen der Autoren gegenüber nicht übermäßig aufgeschlossen.
Erweiterung der Fähigkeiten: Llamas wachsende Modellfamilie
Seit Ende 2023 hat Meta AI die Llama-Familie erheblich erweitert. Die Modelle sind nicht mehr auf textbasierte Interaktionen beschränkt. Das aktuelle Llama-Ökosystem umfasst multimodale Modelle, die sowohl Text- als auch visuelle Eingaben verarbeiten können, sowie Modelle, die für die Code-Interpretation und die Integration von Tools entwickelt wurden. Darüber hinaus hat Meta Sicherheitskomponenten, bekannt als Llama Guard, eingeführt, um potenzielle Risiken und Angriffe zu identifizieren und zu mindern. Diese sind als Teil eines umfassenden Frameworks namens ‘Llama Stack’ konzipiert.
Hier ist ein detaillierterer Blick auf einige der wichtigsten Modelle in der Llama-Familie (zusammengefasst aus den Modellkarten von Meta AI):
Llama Guard 1: Schutz von Interaktionen
Llama Guard 1 ist ein 7-Milliarden-Parameter-Modell, das auf Llama 2 basiert. Es dient als Input-Output-Schutz und klassifiziert Inhalte sowohl in Benutzeraufforderungen (Prompt-Klassifizierung) als auch in LLM-Antworten (Antwortklassifizierung). Dieses Modell trägt dazu bei, sicherere und verantwortungsvollere Interaktionen mit Llama-basierten Systemen zu gewährleisten.
Llama Guard verwendet eine sechsstufige Taxonomie, um potenzielle Schäden zu kategorisieren:
- Violence & Hate (Gewalt& Hass): Inhalte, die Gewalt oder Hass gegen Einzelpersonen oder Gruppen fördern.
- Sexual Content (Sexuelle Inhalte): Sexuell explizites Material oder Inhalte, die Kinder ausbeuten, missbrauchen oder gefährden.
- Guns & Illegal Weapons (Waffen & illegale Waffen): Inhalte im Zusammenhang mit dem illegalen Verkauf, der Verwendung oder der Modifikation von Schusswaffen und anderen Waffen.
- Regulated or Controlled Substances (Regulierte oder kontrollierte Substanzen): Inhalte, die den illegalen Gebrauch oder Verkauf von Drogen, Alkohol oder Tabak fördern.
- Suicide & Self Harm (Suizid & Selbstverletzung): Inhalte, die zu Suizid oder Selbstverletzung ermutigen oder Anleitungen dafür geben.
- Criminal Planning (Kriminelle Planung): Inhalte, die illegale Aktivitäten erleichtern oder planen.
Code Llama 70B: Eine Triade von Coding-Fähigkeiten
Code Llama 70B stellte eine signifikante Erweiterung der Coding-Fähigkeiten von Llama dar. Dieses Modell ist in drei verschiedenen Varianten verfügbar:
- Code Llama: Das Basismodell, das für die allgemeine Codesynthese und das Codeverständnis entwickelt wurde. Es kann Code generieren, die Funktionalität von Code erklären und bei der Fehlersuche helfen.
- Code Llama – Python: Eine spezialisierte Version, die auf die Python-Programmierung zugeschnitten ist. Dieses Modell ist für die Generierung und das Verständnis von Python-Code optimiert, was es zu einem wertvollen Werkzeug für Python-Entwickler macht.
- Code Llama – Instruct: Eine Variante, die sich auf das Befolgen von Anweisungen und die Gewährleistung einer sichereren Bereitstellung konzentriert. Dieses Modell ist besonders nützlich für die Generierung von Code, der spezifischen Richtlinien und Sicherheitsprotokollen entspricht.
Alle drei Varianten sind in verschiedenen Größen erhältlich: 7 Milliarden, 13 Milliarden, 34 Milliarden und 70 Milliarden Parameter. Code Llama und seine Varianten sind sowohl für die kommerzielle als auch für die Forschungsnutzung konzipiert, hauptsächlich in Englisch und verwandten Programmiersprachen. Es gibt zahlreiche Belege dafür, dass Code Llama über starke Coding-Fähigkeiten verfügt.
Llama Guard 2: Verbesserte Sicherheitsklassifizierung
Llama Guard 2 baut auf dem Fundament seines Vorgängers auf und bietet verbesserte Sicherheitsklassifizierungsfunktionen. Dieses 8-Milliarden-Parameter-Modell, das auf Llama 3 basiert, ist darauf trainiert, Sicherheitskennzeichnungen in 11 Kategorien vorherzusagen, die mit der MLCommons-Taxonomie von Gefahren übereinstimmen.
Die von Llama Guard 2 abgedeckten Gefahrenkategorien umfassen:
- S1: Violent Crimes (Gewaltverbrechen): Inhalte im Zusammenhang mit gewalttätigen Straftaten.
- S2: Non-Violent Crimes (Gewaltlose Straftaten): Inhalte im Zusammenhang mit gewaltlosen Straftaten.
- S3: Sex-Related Crimes (Sexualdelikte): Inhalte, die Sexualdelikte beinhalten.
- S4: Child Sexual Exploitation (Sexuelle Ausbeutung von Kindern): Inhalte, die Kinder sexuell ausbeuten, missbrauchen oder gefährden.
- S5: Specialized Advice (Spezialisierte Beratung): Unqualifizierte oder irreführende Beratung in Fachgebieten (z. B. Medizin, Recht, Finanzen).
- S6: Privacy (Privatsphäre): Inhalte, die die Privatsphäre verletzen oder persönliche Informationen ohne Zustimmung preisgeben.
- S7: Intellectual Property (Geistiges Eigentum): Inhalte, die Rechte an geistigem Eigentum verletzen.
- S8: Indiscriminate Weapons (Wahllose Waffen): Inhalte im Zusammenhang mit Waffen, die weitverbreiteten und wahllosen Schaden verursachen.
- S9: Hate (Hass): Inhalte, die Hass oder Vorurteile gegenüber Einzelpersonen oder Gruppen ausdrücken.
- S10: Suicide & Self-Harm (Suizid & Selbstverletzung): Inhalte, die zu Suizid oder Selbstverletzung ermutigen oder Anleitungen dafür geben.
- S11: Sexual Content (Sexuelle Inhalte): Sexuell explizites Material.
Meta Llama 3: Vielseitigkeit im Dialog
Meta Llama 3 wird in zwei Größen angeboten, 8 Milliarden und 70 Milliarden Parameter, sowohl mit vortrainierten als auch mit instruktionsoptimierten Varianten. Die instruktionsoptimierten Modelle sind speziell für dialogbasierte Anwendungen optimiert, wodurch sie sich für Chatbots und Konversations-KI-Systeme eignen.
Prompt Guard: Schutz vor böswilligen Eingaben
Prompt Guard ist ein Klassifizierungsmodell, das entwickelt wurde, um böswillige Prompts zu erkennen, einschließlich Jailbreaks (Versuche, Sicherheitsbeschränkungen zu umgehen) und Prompt-Injektionen (Versuche, die Ausgabe des Modells durch manipulierte Eingaben zu beeinflussen). Meta AI empfiehlt, Prompt Guard mit anwendungsspezifischen Daten zu optimieren, um eine optimale Leistung zu erzielen.
Im Gegensatz zu Llama Guard benötigt Prompt Guard keine spezifische Prompt-Struktur. Es arbeitet mit einer String-Eingabe und klassifiziert sie als entweder sicher oder unsicher (auf zwei verschiedenen Schweregraden). Es ist ein BERT-Modell, das ausschließlich Labels ausgibt.
Llama Guard 3: Multimodale und mehrsprachige Sicherheit
Llama Guard 3 ist in drei Versionen erhältlich: Llama Guard 3 1B, Llama Guard 3 8B und Llama Guard 3 11B-Vision. Die ersten beiden sind reine Textmodelle, während das dritte die Bildverstehensfähigkeiten des Llama 3.2 11B-Vision-Modells integriert. Alle Versionen sind mehrsprachig (für reine Text-Prompts) und halten sich an die vom MLCommons-Konsortium definierten Gefahrenkategorien.
Llama Guard 3 8B kann auch für die Kategorie S14, Code Interpreter Abuse, verwendet werden. Es ist wichtig zu beachten, dass das Llama Guard 3 1B-Modell nicht für diese spezielle Kategorie optimiert ist.
Die Gefahrenkategorien, die die von Llama Guard 2 erweitern, sind:
- S1: Violent Crimes (Gewaltverbrechen)
- S2: Non-Violent Crimes (Gewaltlose Straftaten)
- S3: Sex-Related Crimes (Sexualdelikte)
- S4: Child Sexual Exploitation (Sexuelle Ausbeutung von Kindern)
- S5: Defamation (Verleumdung)
- S6: Specialized Advice (Spezialisierte Beratung)
- S7: Privacy (Privatsphäre)
- S8: Intellectual Property (Geistiges Eigentum)
- S9: Indiscriminate Weapons (Wahllose Waffen)
- S10: Hate (Hass)
- S11: Suicide & Self-Harm (Suizid & Selbstverletzung)
- S12: Sexual Content (Sexuelle Inhalte)
- S13: Elections (Wahlen)
- S14: Code Interpreter Abuse (Missbrauch des Code-Interpreters)
Meta Llama 3.1: Mehrsprachige generative Modelle
Die Meta Llama 3.1-Kollektion umfasst mehrsprachige große Sprachmodelle, einschließlich vortrainierter und instruktionsoptimierter generativer Modelle in den Größen 8 Milliarden, 70 Milliarden und 405 Milliarden Parameter (Texteingabe, Textausgabe).
Unterstützte Sprachen sind: Englisch, Deutsch, Französisch, Italienisch, Portugiesisch, Hindi, Spanisch und Thailändisch.
Meta Llama 3.2: Verbesserte Dialogfähigkeiten
Die Llama 3.2-Kollektion umfasst mehrsprachige große Sprachmodelle, die vortrainierte und instruktionsoptimierte generative Modelle in den Größen 1 Milliarde und 3 Milliarden Parameter umfassen (Texteingabe, Textausgabe). Quantisierte Versionen dieser Modelle sind ebenfalls verfügbar. Die instruktionsoptimierten, reinen Textmodelle von Llama 3.2 sind für mehrsprachigen Dialog optimiert und eignen sich hervorragend für Aufgaben wie agentenbasiertes Retrieval und Zusammenfassung. Die 1B- und 3B-Modelle sind kleinere, weniger leistungsstarke Ableitungen von Llama 3.1.
Offiziell unterstützte Sprachen sind: Englisch, Deutsch, Französisch, Italienisch, Portugiesisch, Hindi, Spanisch und Thailändisch. Llama 3.2 wurde jedoch mit einer größeren Bandbreite an Sprachen als diesen acht trainiert.
Llama 3.2-Vision: Bildverarbeitung und -verständnis
Die Llama 3.2-Vision-Kollektion führt multimodale große Sprachmodelle ein. Diese Modelle sind vortrainiert und instruktionsoptimiert für die Bildverarbeitung und in den Größen 11 Milliarden und 90 Milliarden Parameter verfügbar (Text- und Bildeingabe, Textausgabe). Die instruktionsoptimierten Modelle sind für visuelle Erkennung, Bildverarbeitung, Bildunterschriften und die Beantwortung allgemeiner Fragen zu Bildern optimiert.
Für reine Textaufgaben sind die offiziell unterstützten Sprachen Englisch, Deutsch, Französisch, Italienisch, Portugiesisch, Hindi, Spanisch und Thailändisch. Llama 3.2 wurde mit einer größeren Anzahl von Sprachen trainiert, aber für Bild+Text-Anwendungen ist Englisch die einzige unterstützte Sprache.
Meta Llama 3.3: Ein leistungsstarkes 70B-Modell
Das mehrsprachige große Sprachmodell Meta Llama 3.3 ist ein vortrainiertes und instruktionsoptimiertes generatives Modell mit 70 Milliarden Parametern (Texteingabe, Textausgabe).
Unterstützte Sprachen: Englisch, Deutsch, Französisch, Italienisch, Portugiesisch, Hindi, Spanisch und Thailändisch.
Es ist wichtig zu verstehen, dass große Sprachmodelle, einschließlich Llama 3.2, nicht für den isolierten Einsatz vorgesehen sind. Sie sollten in ein umfassendes KI-System mit geeigneten Sicherheitsvorkehrungen integriert werden. Von Entwicklern wird erwartet, dass sie Systemsicherheitsvorkehrungen implementieren, insbesondere beim Aufbau agentenbasierter Systeme.
Llama 3.3, Llama 3.2-Textmodelle und Llama 3.1 bieten integrierte Unterstützung für die folgenden Tools:
- Brave Search: Ein Tool-Aufruf für die Durchführung von Websuchen.
- Wolfram Alpha: Ein Tool-Aufruf für die Ausführung komplexer mathematischer Berechnungen.
- Code Interpreter: Ein Tool-Aufruf, der es dem Modell ermöglicht, Python-Code auszugeben.
Hinweis: Llama 3.2-Vision-Modelle unterstützen keine Tool-Aufrufe mit Text+Bild-Eingaben.
Der Llama Stack: Ein einheitliches Framework
Die schiere Anzahl der Llama-Modelle kann überwältigend sein. Um den Auswahl- und Integrationsprozess zu vereinfachen, bietet Meta den Llama Stack an. Dieses Framework legt den Schwerpunkt auf Llama-Modelle, bietet aber auch Adapter für verwandte Fähigkeiten, wie z. B. Vektordatenbanken für Retrieval-Augmented Generation (RAG).
Llama Stack unterstützt derzeit SDKs in Python, Swift, Node und Kotlin. Es bietet verschiedene Distributionen, darunter:
- Lokale Distribution (mit Ollama): Für lokale Entwicklung und Tests.
- On-Device-Distributionen (iOS und Android): Für die Bereitstellung von Llama-Modellen auf mobilen Geräten.
- Distributionen für GPUs: Für die Nutzung der Leistung von GPUs für eine schnellere Verarbeitung.
- Remote-gehostete Distributionen (Together und Fireworks): Für den Zugriff auf Llama-Modelle über Cloud-basierte Dienste.
Das Kernkonzept hinter Llama Stack besteht darin, Entwicklern die Möglichkeit zu geben, Anwendungen lokal zu erstellen und dann einfach in eine Produktionsumgebung zu wechseln. Es bietet sogar einen interaktiven Llama Stack Playground für die lokale Entwicklung gegen einen Remote-Llama Stack.
Ausführen von Llama-Modellen: Vielseitige Bereitstellungsoptionen
Llama-Modelle können auf einer Vielzahl von Plattformen bereitgestellt werden, darunter Linux, Windows, macOS und die Cloud. Quantisierte Llama-Modelle, wie Llama 3.2 und Llama 3.2-Vision, können effektiv auf moderner Hardware ausgeführt werden, sogar auf Laptops wie dem M4 Pro MacBook Pro mit Tools wie Ollama.
Meta bietet umfassende Anleitungen für die Bereitstellung und Verwendung von Llama-Modellen. Darüber hinaus sind Integrationsleitfäden für beliebte Frameworks wie LangChain und LlamaIndex verfügbar.
Zusammenfassend lässt sich sagen, dass Llama sich von einem einfachen Sprachmodell zu einem multimodalen KI-Framework entwickelt hat, das Sicherheitsfunktionen, Codegenerierung und Unterstützung für viele Sprachen bietet. Metas System ermöglicht den Einsatz an vielen Orten, aber rechtliche Probleme mit den Trainingsdaten und Diskussionen darüber, ob Llama Open Source ist, bestehen fort.