Zum Inhalt springen

Ein LLM besteht aus nur zwei Dateien

aus AufEinWort, der freien Forschung

🎓 Ein LLM besteht aus nur zwei Dateien

📽️ 1EINLL~1 (9:54)

Was ist ein Large Language Model und was ist Inference? Ich erkläre bis jetzt das LLM immer ganz, ganz einfach und ganz, ganz schnell: Ein Modell, das trainiert worden ist an ganz, ganz viel Text. Es errechnet danach anhand von Wahrscheinlichkeiten ganz einfach das passende Wort zurück, wenn man eine Frage stellt. Es macht das Ganze, indem es Worte beziehungsweise Sätze in Wortstückchen, die sogenannten Token, zerlegt und dann ganz einfach in seinen Trainingsdaten die passenden Token dazu errechnet, die wir höchstwahrscheinlich bekommen wollen.

Das Konzept, womit ich es immer vergleiche, ist: Wenn ich zum Beispiel ein großes Buch lesen würde. Du stellst mir jetzt eine Frage, und ich suche im Buch die passende Antwort. Ich kann dir dazu die Dinge geben. Danach passieren viele, viele Sachen, wie Reinforcement Learning und so weiter. Jedoch will ich hier in diesem Kurs alles Schritt für Schritt aufklären, Schritt für Schritt zeigen. Wir werden uns hier Beispiele von Open-Source-Modellen ansehen. Open Source bedeutet, dass die Modelle jeder runterladen kann. Das heißt, diese Modelle kannst du auch auf dem Computer installieren und lokal laufen lassen, ohne dass du jemals Probleme hast, dass eine andere Firma, zum Beispiel, an deine Daten kommt.

Und das Coolste ist eben, dass man bei diesen Modellen auch sehen kann, wie sie trainiert worden sind. Man bekommt die sogenannten Weights und eigentlich bekommt man alles, was man braucht. Was machen wir also? Wir starten erstmal mit LLaMA. LLaMA kommt von Meta, ehemals Facebook. Also, ich habe hier eine Paintfolie. Auf der Paintfolie steht LLaMA. Wir verwenden hier LLaMA 2. Mittlerweile haben wir auch LLaMA 3. Wir haben sogar ein 400-Billionen-Modell. Aber für dieses Beispiel nehmen wir einfach mal das LLaMA 2, 70-Billionen-Parameter-Beispiel.

Wie macht man Inferenz mit diesem Modell? Was ist Inferenz? Es ist nichts anderes, als dass man dieses Modell laufen lassen kann. Und wie kann man dieses Modell laufen lassen? Was braucht man, um dieses Modell laufen zu lassen? Man braucht tatsächlich nur zwei Files. Also ein File und ein zweites File. Und was ist in diesen Files? In diesen Files sind einmal die Parameter. Wir nennen das Ganze P. Das heißt, Parameter im ersten File und im zweiten File haben wir ein .c. Das heißt, wir haben ein Runfile, wir haben Parameter, und wir haben das Runfile. Und im Groben war es das auch schon.

Elon Musk hat das ganz, ganz oft so erklärt. Auch Andrew Karpathy hat das ganz, ganz oft so erklärt. Lustigerweise hat Andrew Karpathy mal bei Tesla gearbeitet und danach auch bei OpenAI. Mittlerweile arbeitet er auch nicht mehr bei OpenAI. Das heißt, wir haben die Parameter, und wir haben auch das .c Runfile. Diese Parameter, die sind unterschiedlich groß. Im Fall von LLaMA haben wir hier dieses Modell: 140 GB groß. Das heißt, dieses Modell, die Gewichte von LLaMA 2, die sind tatsächlich 140 GB groß. Das ist gar nicht so groß.

Und um das Ganze laufen zu lassen, brauchen wir zusätzlich noch das Runfile. Und das Runfile, das sind in etwa 500 Zeilen Code. Das heißt, das Ding ist winzig, winzig klein. Man kann diese Modelle laufen lassen, lokal auf dem Computer, mit einem File, wo 140 GB dieser Parameter sind, und mit 500 Zeilen Code. Nennen wir das Ganze noch „Lines of Code“. Diese zwei Dinge braucht man. Dann kann man das lokal laufen lassen. Und übrigens, man kann all diese Open-Source-Modelle auch überall online laufen lassen und zwar komplett ohne anzumelden. Man kann Inferenz machen. Inferenz heißt immer laufen lassen. Man kann die in der Cloud laufen lassen über verschiedenste Möglichkeiten.

Ich zeig dir jetzt die schnellste Möglichkeit, wie wir LLaMA 2 oder auch LLaMA 3 laufen lassen können. Das Ding nennt sich hier Groq. Das heißt, wir können auch im Web tatsächlich LLaMA 3, das ist hier das LLaMA-3-400-Billionen-Modell, wir können auch das 70-Billionen-Modell hier verwenden. Und wir können einfach nur auf irgendwas klicken, und du siehst: Das Modell tippt hier fröhlich vor sich hin. Dass dieses Modell hier aktuell läuft, verwenden wir hier von Groq die Hardware, diesen Chip.

Wir können das – haben wir schon gehört – dieses Modell auch lokal installieren lassen. Und damit dieses Modell dann funktioniert, haben wir nur die zwei Files hier. Das heißt, wir haben die Parameter und diese 500 Zeilen Code. Damit diese zwei Dinge funktionieren, wird unsere Grafikkarte verwendet. Was haben wir hier jetzt gerade in der Cloud? Womit läuft hier dieses Modell? Woher bekommt es die Power? Es bekommt die Power von Groq.

Groq ist ein Unternehmen, das auch nicht wirklich Grafikkarten macht, sondern ähnliche Hardware. Wir tauchen später noch ein. Das nennt sich LPU, das heißt „Language Processing Units“. Im Groben kann man sagen: Man kann diese Modelle überall laufen lassen.

Auch auf Hugging Chat könnte man zum Beispiel gehen und hier zum Beispiel das gleiche Modell, das LLaMA-3-Modell, laufen lassen. Man klickt einfach auf irgendetwas hier, und man bekommt sofort den Text zurück. Vielleicht fällt uns hier auf, dass dieses Modell hier etwas langsamer läuft. Das liegt immer daran, weil wir hier eine andere Inferenz haben.

Das heißt, hier mit diesem Groq-Chip sind wir wahnsinnig, wahnsinnig schnell, weil dieser Chip speziell für Large Language Models gemacht ist. Hier auf Hugging Chat, ich weiß nicht genau, welche Grafikkarten wir haben. Ich nehme an, etwas von Nvidia. Und wenn wir diese Dinge lokal installieren wollen, dann müssen wir darauf achten, dass wir eine anständige, starke Grafikkarte haben.

Aber nochmal zurück: Was ist also ein Large Language Model? Nichts anderes als zwei Files: einmal die Parameter und einmal diese 500 Zeilen Code, das Runfile. Und danach kann man diese laufen lassen.

Der Unterschied von diesen Open-Source-Modellen ist natürlich: Diese Open-Source-Modelle, die kann man selbst runterladen, auf dem Computer laufen lassen, natürlich ohne, dass andere Leute Zugriff haben, ohne, dass etwas rauskommt. Aber OpenAI macht das Ganze, zumindest aktuell, anders. Auf ChatGPT 4, GPT-4 Omni, GPT-5, was weiß ich, welches Modell da ist – sobald du dir den Kurs ansiehst.

Aber man hat höchstwahrscheinlich nur Zugriff über ein Webinterface. Und für die neuesten Updates muss man meistens bezahlen. Das machen sie daher, damit sie sich auch alles leisten können.

Und wir haben natürlich den Nachteil, dass natürlich auch eventuelle Eingaben irgendwo hinkommen, wo wir sie nicht wollen, oder dass einfach Dinge passieren hier im Web, die wir tatsächlich nicht haben wollen. Wir haben einfach nicht Zugriff auf die Parameter und auf das Runfile. Dementsprechend sind wir natürlich auch in der Benutzung etwas eingeschränkt, tatsächlich.

Wenn du dich fragst, warum wir hier 140 GB groß sind, in diesem File der Gewichte, dann ist das nur eine einfache Multiplikation. Wir haben hier 70 Billionen Parameter. Jeder Parameter ist ganz einfach als zwei Bytes aufbewahrt, sozusagen, in diesem Parametermodell. Und deshalb haben wir 140 GB – 2 x 7 = 14. Übrigens, dieses Run.c-File: „C“ ist eine einfache Programmiersprache. Es könnte auch Python-Code sein, der diese Parameter zum Laufen bringt.

Also nochmal ganz, ganz kurz: In diesem Video hast du gelernt, dass ein Large Language Model eigentlich nur zwei Files sind. Wenn wir hier LLaMA 2 70 Billionen, verwenden, dann haben wir hier tatsächlich nur diese zwei Files: einmal die Parameter, ein 140-GB-großes File, und noch ein zweites File mit etwas Code, mit 500 Zeilen Code, um das Modell laufen zu lassen. Mit diesen zwei Files kannst du das auf deinem Computer lokal installieren und laufen lassen. Und das funktioniert komplett ohne Internet, also alles lokal. Du musst hier nichts hinzufügen. Das ist ganz, ganz einfach. Sehen wir uns später natürlich noch an.

Aber wir haben auch die Möglichkeit, das im Internet laufen zu lassen, über verschiedenste Server. Zum Beispiel über Groq. Groq leiht uns hier sozusagen Grafikkarten beziehungsweise Language Processing Units aus. Und das funktioniert ganz, ganz, ganz schnell. Wenn du es lokal installierst, wird es etwas langsamer sein, da deine Grafikkarte nicht ganz so schnell ist.

Die großen Firmen wie zum Beispiel OpenAI, die geben diese Files meistens nicht öffentlich raus. Das heißt, bei ihnen muss man meistens über ein Webinterface arbeiten und dafür bezahlen oder über deren API arbeiten. Keine Sorge, wenn du ein, zwei Worte noch nicht verstehst – wir machen das ganz, ganz langsam.

Im Groben: Du hast gelernt, es ist nicht viel dabei bei einem Large Language Model. Wir können es auch lokal laufen lassen. Wo das „Hexenwerk“ beginnt, ist jedoch bei diesem File hier: Das „Hexenwerk“ ist, die Parameter zu trainieren. Die Parameter so hinzubekommen, wie sie sind, die Parameter anständig gut zu machen. Und darum soll es im nächsten Video gehen.