Zum Inhalt springen

Das Finetuning

aus AufEinWort, der freien Forschung

🎓 Das Finetuning

📽️ 7NACHD~1 (9:31)

Soweit, so gut. Wir haben das Pretraining überstanden und jetzt geht es um das Fine Tuning. Noch mal ganz, ganz kurz: Im Pretraining trainieren wir an wahnsinnig vielen Daten vom Internet, und wir komprimieren z. B. 10 TB Text mit unseren GPUs in unser kleines Zipfile. Von diesem Zipfile aus können wir danach dazu halluzinieren. Man nennt diese Architektur die Transformerarchitektur, und es gibt verschiedene Transformerarchitekturen. Es gibt den Mixture of Experts und es gibt auch die normalen Modelle, die nur einen Experten haben, der ganz, ganz breit angewandt ist.

Soweit, so gut. Wir haben das Pretraining überstanden und jetzt geht es um das Fine Tuning. Noch mal ganz, ganz kurz: Im Pretraining trainieren wir an wahnsinnig vielen Daten vom Internet, und wir komprimieren z. B. 10 TB Text mit unseren GPUs in unser kleines Zipfile. Von diesem Zipfile aus können wir danach dazu halluzinieren. Man nennt diese Architektur die Transformerarchitektur, und es gibt verschiedene Transformerarchitekturen. Es gibt den Mixture of Experts und es gibt auch die normalen Modelle, die nur einen Experten haben, der ganz, ganz breit angewandt ist.

Diese Dinge sind noch nicht besonders hilfreich, da die Träume von diesen Modellen noch nicht richtig, richtig gut sind. Das ändern wir jedoch mit dem Fine Tuning. Beim Fine Tuning füttern wir einfach nur Fragen und Antworten, damit sich das Modell ansehen kann, wie man auf Fragen antwortet. Das macht man diesmal nicht mehr wirklich mit Daten aus dem Internet, sondern man macht das mit Daten, die Menschen tatsächlich selbst eintippen.

Das heißt, Menschen schreiben Fragen und dazu passende Antworten. Man trainiert das Modell daran, und dann lernt es sozusagen, wie wir tatsächlich auf Fragen antworten wollen. Ich muss dazu sagen: Das wird nicht nur noch von Menschen gemacht, sondern Mensch und Maschine machen das zusammen. Jetzt sehen wir uns an, wie das Ganze funktioniert.

Das heißt, man würde z. B. solche Daten füttern: Das hat zum Beispiel ein Mensch geschrieben. Erstmal schreibt man User, daß heißt, daß ist der User, der die Frage stellen würde: „Können Sie eine kurze Einführung über die Bedeutung des Begriffs Blockchain in der Finanztechnologie schreiben? Bitte verwenden Sie Beispiele, die die Anwendung von Blockchain im Zahlungsverkehr betreffen, und zitieren Sie relevante Forschung.“ Also diese Frage hat ein Mensch geschrieben.

Und auch diese Antwort schreibt jetzt ein Mensch, daß heißt, das wäre jetzt der „Assistant“, daß nennt man übrigens danach den Assistant, nach dem Finetuning bekommen wir sozusagen unseren hilfreichen Assistant. Jetzt schreibt immer noch derselbe Mensch die Antwort: „Blockchain ist eine dezentrale und verteilte Datenbanktechnologie, die Transaktionen in einer Weise aufzeichnet, die Transparenz, Sicherheit und Unveränderlichkeit gewährleistet. In der Finanztechnologie ist der Begriff besonders relevant, da Blockchain die Grundlage für Kryptowährungen wie Bitcoin bildet und erhebliche Auswirkungen auf den Zahlungsverkehr hat. Ein Beispiel für die Anwendung von Blockchain im Zahlungsverkehr ist die Möglichkeit, internationale Überweisungen schneller und kostengünstiger abzuwickeln, indem Zwischenhändler eliminiert werden. Studien haben gezeigt, dass Blockchain-Technologie die Transaktionskosten erheblich senken und die Transaktionsgeschwindigkeit erhöhen können. Hier z. B. die Forschung von XYZ. Diese Eigenschaften machen Blockchain zu einer vielversprechenden Technologie für die Zukunft des Finanzwesens.“

Daß heißt, all das hat hier jetzt ein Mensch geschrieben. Ein Mensch schreibt ganz einfach hier „User“ und die Frage, danach schreibt er „Assistant“ und die Antwort. Und an solchen Texten trainiert man danach das LLM wieder und wieder und wieder und das nennt man Fine Tuning. Man nimmt so um die 100.000 Beispiele.

Das heißt, wir haben nicht mehr 100 TB Text, sondern vielleicht nur noch so 100.000 Beispiele, die jedoch richtig gut sein müssen und die werden teilweise von Menschen gemacht, aber Mensch in Zusammenhang mit Maschinen. Wie würde das funktionieren?

Ich habe ja jetzt dieses Beispiel, und wir könnten ein LLM verwenden, um ähnliche Beispiele zu machen und genau das habe ich jetztmal gemacht. Daß heißt, ich habe in ChatGPT erstmal diese Antwort reingeschmissen, danach ChatGPT ganz einfach gebeten, er soll ein ähnliches Beispiel machen, das einen Coding-Problem behebt. Daß heißt, „User: Können Sie mir helfen, einen Fehler in Python-Code zu beheben? Der Code soll die Elemente einer Liste in aufsteigender Reihenfolge sortieren, aber es funktioniert nicht richtig. Hier ist der Code:“

Danach das Beispiel und danach eben die Antwort, die wir vom Assistenten erwarten. „Der von ihm beschriebene Code implementiert … hier ist der verbesserte Code um festzustellen ob  die Liste bereits sortiert ist. Hier ist der verbesserte Code. Danach der verbesserten Code und hier noch kurz  die Erklärung, daß heißt, jetzt hat uns sozusagen die Maschine geholfen, den User-Prompt zu machen und die Antwort, die man von solch einem Assistant tatsächlich erwarten würde und somit können wir genau an solchen Beispielen trainieren. Daß heißt, nicht nur dieses Beispiel, von diesem Beispiel kann man mit einem LLM ganz einfach hunderttausende Beispiele machen. Machen jetzt sozusagen Mensch und Maschine zusammen, und an diesen hundertausend Beispielen würde man danach trainieren. Und in diesem Finetuning lernt das Modell richtig gut mit unseren Aufgaben umzugehen.

Daß heißt, hier geht es um Qualität und wenigr um Quantität. Erstmal ging es um riesige Textmengen, jetzt geht darum, etwas weniger Text zu haben, aber ganz ganz genaue, spezifische Antworte, die Menschen zusammen mit Maschinen machen, die händisch teilweise noch kontrolliert werden, damit man auch sicher geht, daß LLM anständig antwortet gibt.

Und es wird sofort klar daß dieser Prozess auch um ein vielfaches schneller geht und um ein vielfaches günstiger ist. Dieses Fine Tuning, das kann sogar teilweise täglich dmachen, wenn man will. Deshalb reagieren all diese LLMs auch ständig etwas anders. ChatGPT wird sich täglich, wöchentlich, was auch immer, minimal verändern und wird immer wieder minimal besser, da andauernd finegetuned wird.

Das komplette Modell neu zu trainieren dauert sehr sehr lange, das Fine Tuning wird wieder und wieder und wieder gemacht. Und so werden LLMs richtig richtig hilfreich, so werden LLM’s   zu einem richtigen Assistenten und nicht mehr nur zu irtgendeinem Ding, daß so komisches Zeug vom Internet zusammenträumt. Es lernt sozusagen das Träumen und durch das Fine Tuning lernt es das Träumen anständnig anzuwenden, so wie wir Menschen eben Antworten gerne hätten.

Und bei diesem Fine Tuning werden auch immer wieder spezifische Dinge hinzugefügt. Du erinnerst dich noch an das Beispiel von Tom Cruise. Ich zeig dir mal das GPT4 omni, die Antwort mittlerweile sehr wohl weiß, weil wohl höchtwahrscheinlich in der Finetuning die richtigen Daten hineingeflossen sind. Da das Beispiel viral gegangen ist und OpenAI dachte sich, daß sollten wir im Finetuning wohl einbauen. Dementsprechend haben sie einfach Finetuningbeispiele gemacht, wo ganz einfach die Antwort korrekt war. Wenn ich also Frage „Wer ist die Mutter von Tom Cruise?“, bekomme ich natürlich die Antwort Mary Lee Pfeiffer. Frage ich danach abwer rückwärts „Wer ist Mary Leee Pfeiffers Sohn?“, dann weiß das GPT3,5 nicht, also ist leider nicht bekannt.

Frage ich das jedoch in ChatGPT 4 omni „Wer ist Mary Lee Pfeiffers Sohn?“, dann bekommen wir wieder die Antwort „Der Schauspieler Tom Cruise“, weil höchstwahrscheinlich im Finetuning solche Beispiele von Menschen gegeben worden sind.

In diesem Video hast du gelernt dass nach dem Pretraining das Finetuning kommt und das Finetuning ist viel viel einfacher anzuwenden und es geht schneller. Man verwendet ganz einfach hundertausende Beispiele, die tatsächlich von Mensch und Maschine zusammen erschaffen worden sind und die werden ganz ganz hübsch strukturiert. Man gibt ganz einfach Frage und Antwort genauso, wie man es von einem LLM erwarten würde. Das ist dementsprechend viel viel günstiger und kann auch ganz ganz oft gemacht werden und das wird auch oft gemacht und dementsprechend lernen auch Modelle wieder und wieder und wieder dazu.

All das ist auch ein iterativer Prozess, das heißt, wenn ein Modell danach falsch antwortet dann werd dann wird wieder von vorne begonnen mit diesem Finetuning. Hier geht es jetzt einfach um die Qualität der Antworten man will das Modell mit guten Beispielen füttern und nicht mehr nur mit riesigen Textmengen.

Die meisten Open Source Modelle geben uns auch das sogenannte Basemodell das nicht feingetunt ist das ist natürlich nicht besonders hilfreich, aber wir können diese Modelle auch selbst Finetunen wenn wir wollen. OpenAI gibt uns die Assistant-Modelle, die natürlich schon feineetunt sind, aber auch diese können wir selbst mit ein paar Umwege ein klein wenig finetunen wenn man will. Wir sehen uns das Finetuning natürlich später noch etwas genauer an, damit wir auch selbst sehen und verstehen wie all das funktioniert.

Also erstmal das Pretraining an wahnsinnig viel Text, danach das Finetuning, wo man spezifische Fragen und Antworten gibt, damit das vortrainierte Modell sehen kann was man von ihm erwartet und danach kommt es noch zu dem sogenannten reinforcement learning und das reinforcement learning sehen wir uns im nächsten Video an.

Und erinnere dich daran beim Finetuning geht es um Qualität der Daten weniger um Quantität es ist günstiger es wird ganz ganz oft gemacht dementsprechend werden die Modelle auch beinahe täglich schlauer weil das einfach wieder und wieder und wieder passiert.

Also wir sehen uns im nächsten Video, wo es um das Reinforcement Learning geht.