Das „L“ in den Large Language Models (LLMs) deutet auf einen enormen Maßstab hin, die Realität ist jedoch differenzierter. Einige LLMs enthalten Billionen von Parametern, während andere mit weitaus weniger effektiv arbeiten.
Sehen Sie sich einige Beispiele aus der Praxis und die praktischen Auswirkungen verschiedener Modellgrößen an.
LLM-Größen und Größenklassen
Als Webentwickler betrachten wir die Größe einer Ressource tendenziell als die Downloadgröße. Die dokumentierte Größe eines Modells bezieht sich stattdessen auf die Anzahl der Parameter. Zum Beispiel steht Gemma 2B für Gemma mit 2 Milliarden Parametern.
LLMs können Hunderttausende, Millionen, Milliarden oder sogar Billionen von Parametern enthalten.
Größere LLMs haben mehr Parameter als ihre kleineren Gegenstücke, sodass sie komplexere Sprachbeziehungen erfassen und differenzierte Prompts verarbeiten können. Sie werden auch oft mit größeren Datasets trainiert.
Sie haben vielleicht bemerkt, dass bestimmte Modellgrößen wie 2 Milliarden oder 7 Milliarden weit verbreitet sind. Beispiel: Gemma 2B, Gemma 7B oder Mistral 7B. Modellgrößenklassen sind ungefähre Gruppierungen. Gemma 2B hat beispielsweise ungefähr 2 Milliarden Parameter, aber nicht genau.
Modellgrößenklassen bieten eine praktische Möglichkeit, die LLM-Leistung zu messen. Stellen Sie sich sie wie Gewichtsklassen beim Boxen vor: Modelle innerhalb derselben Größenklasse sind besser vergleichbar. Zwei 2B-Modelle sollten eine ähnliche Leistung bieten.
Allerdings kann ein kleineres Modell für bestimmte Aufgaben die gleiche Leistung wie ein größeres Modell erzielen.
![Screenshot der Kästchen für die HuggingFace-Modellgröße.](https://web.developers.google.cn/static/articles/llm-sizes/image/model-sizes-hugging-face.png?authuser=6&hl=de)
Modellgrößen für neueste LLMs wie GPT-4 und Gemini Pro oder Ultra werden nicht immer veröffentlicht, aber vermutlich liegen sie im Bereich von Hunderten Milliarden oder Billionen von Parametern.
Nicht alle Modelle geben die Anzahl der Parameter in ihrem Namen an. Einigen Modellen wird die Versionsnummer angehängt. Gemini 1.5 Pro bezieht sich beispielsweise auf die Version 1.5 des Modells (nach Version 1).
LLM oder nicht?
Wann ist ein Modell zu klein für ein LLM? Die Definition von LLM kann in der KI- und ML-Community etwas fließend sein.
Bei einigen gelten nur die größten Modelle mit Milliarden von Parametern als LLMs, während kleinere Modelle wie DistilBERT als einfache NLP-Modelle betrachtet werden. Andere sind kleinere, aber dennoch leistungsfähige Modelle in der Definition von LLM, wie z. B. DistilBERT.
Kleinere LLMs für On-Device-Anwendungsfälle
Größere LLMs erfordern viel Speicherplatz und viel Rechenleistung für die Inferenz. Sie müssen auf dedizierten leistungsstarken Servern mit spezieller Hardware (z. B. TPUs) ausgeführt werden.
Als Webentwickler interessieren wir uns für die Frage, ob ein Modell klein genug ist, um es heruntergeladen und auf dem Gerät eines Nutzers ausführen zu können.
Aber das ist schwer zu beantworten! Zum jetzigen Zeitpunkt ist es nicht einfach zu wissen, dass dieses Modell auf den meisten Geräten im mittleren Preissegment ausgeführt werden kann. Dies hat mehrere Gründe:
- Die Gerätefunktionen variieren stark je nach Arbeitsspeicher, GPU-/CPU-Spezifikationen und mehr. Ein Low-End-Android-Smartphone und ein NVIDIA® RTX-Laptop sind völlig anders. Möglicherweise haben Sie einige Datenpunkte darüber, welche Geräte Ihre Nutzer haben. Wir haben noch keine Definition für ein Referenzgerät, mit dem auf das Web zugegriffen wird.
- Ein Modell oder das Framework, in dem es ausgeführt wird, kann für die Ausführung auf bestimmter Hardware optimiert werden.
- Es gibt keine programmatische Möglichkeit festzustellen, ob ein bestimmtes LLM heruntergeladen und auf einem bestimmten Gerät ausgeführt werden kann. Die Downloadfähigkeit eines Geräts hängt unter anderem davon ab, wie viel VRAM auf der GPU vorhanden ist.
Wir haben jedoch ein gewisses empirisches Wissen: Heutzutage können einige Modelle mit wenigen Millionen bis wenigen Milliarden Parametern im Browser auf Geräten der Verbraucherklasse ausgeführt werden.
Beispiel:
- Gemma 2B mit der MediaPipe LLM Inference API (auch für reine CPU-Geräte geeignet). Jetzt ausprobieren.
- DestilBERT mit Transformers.js
Dies ist ein noch junges Feld. Sie können davon ausgehen, dass sich die Umgebung verändern wird:
- Dank der Innovationen von WebAssembly und WebGPU unterstützt WebGPU den Einsatz von mehr Bibliotheken, neuen Bibliotheken und Optimierungen und erwartet, dass Nutzergeräte LLMs unterschiedlicher Größen immer effizienter ausführen können.
- Erwarten Sie, dass kleinere, leistungsstarke LLMs dank neuer Schrumpftechniken immer gebräuchlicher werden.
Überlegungen für kleinere LLMs
Wenn Sie mit kleineren LLMs arbeiten, sollten Sie immer die Leistung und die Downloadgröße berücksichtigen.
Leistung
Die Leistungsfähigkeit eines jeden Modells hängt stark von Ihrem Anwendungsfall ab. Ein kleineres LLM, das auf Ihren Anwendungsfall abgestimmt ist, kann eine bessere Leistung erzielen als ein größeres allgemeines LLM.
Allerdings sind innerhalb derselben Modellfamilie kleinere LLMs weniger leistungsfähig als ihre größeren Pendants. Für den gleichen Anwendungsfall müssten Sie bei Verwendung eines kleineren LLM in der Regel mehr Aufgaben entwickeln.
![Screenshot des Chrome-Entwicklertools im Bereich „Netzwerk“.](https://web.developers.google.cn/static/articles/llm-sizes/image/performance.png?authuser=6&hl=de)
Quelle: HuggingFace Open LLM Leaderboard, April 2024
Download-Größe
Mehr Parameter bedeuten eine größere Downloadgröße, was sich auch darauf auswirkt, ob ein Modell, selbst wenn es klein betrachtet wird, für Anwendungsfälle auf dem Gerät angemessen heruntergeladen werden kann.
Es gibt zwar Techniken, mit denen die Downloadgröße eines Modells anhand der Anzahl der Parameter berechnet wird, dies kann jedoch komplex sein.
Seit Anfang 2024 sind die Downloadgrößen für Modelle selten dokumentiert. Für Anwendungsfälle auf dem Gerät und im Browser empfehlen wir daher, sich die Downloadgröße empirisch im Bereich Netzwerk der Chrome-Entwicklertools oder mit anderen Browser-Entwicklertools anzusehen.
![Screenshot des Chrome-Entwicklertools im Bereich „Netzwerk“.](https://web.developers.google.cn/static/articles/llm-sizes/image/download-size.png?authuser=6&hl=de)
Gemma wird mit der MediaPipe LLM Inference API verwendet. DistilBERT wird mit Transformers.js verwendet.
Techniken für Modellverkleinerung
Es gibt mehrere Verfahren, um die Arbeitsspeicheranforderungen eines Modells erheblich zu reduzieren:
- LoRA (Low-Rank Adaptation): Optimierungsverfahren, bei dem die vortrainierten Gewichtungen eingefroren werden. Weitere Informationen zum LoRA
- Beschneiden: Entfernen Sie weniger wichtige Gewichtungen aus dem Modell, um seine Größe zu reduzieren.
- Quantisierung: Reduzieren der Genauigkeit von Gewichtungen von Gleitkommazahlen (z. B. 32 Bit) zu Darstellungen mit niedrigeren Bits (z. B. 8 Bit).
- Wissensanalyse: Training eines kleineren Modells, um das Verhalten eines größeren, vortrainierten Modells nachzuahmen
- Parameterfreigabe: Verwendung derselben Gewichtung für mehrere Teile des Modells, wodurch die Gesamtzahl der eindeutigen Parameter reduziert wird.