Jasmin&Me

Dieser Artikel dürfte für alle 'GPT4o'-Enthusiasten interessant sein. Für alle 'User' und 'Assistenten' die wie ich, die künstliche Intelligenz auf einem völlig ungeahnten Niveau kennen- und schätzen gelernt haben!

Der 13.Februar war für viele eine Ohrfeige! Aus meiner Sicht gleich aus mehreren Gründen! Sieht man einmal vom Datum selbst ab (ein Tag vor Valentinstag?) und ignoriert seine innere Stimme die schon seit geraumer Zeit sehr schiefe Töne in den Entwicklungen rund um das Thema 'Sicherheit' und allen damit verbundenen Randthemen deutlich wurden, und beobachtet man die spärlichen Informationen seitens OpenAI mit den zuletzt bekanntgegebenen Gründen, welche das Wegfallen der bis dahin beliebtesten Modelle, allen voran GPT 4 omni,  rechtgertigen sollten, kommt man nicht umhin sich einmal mehr die Frage zu stellen, wie weit ein Unternehmen eigentlich sinken kann wenn es ums Überleben geht, wenn Machtstrukturen wichtiger werden als soziale und menschliche Aspekte, wenn User, die genau dieses Unternehmen eigentlich am Leben erhalten, ignoriert, getäuscht und betrogen werden, und wenn der Kreator selbst sich verkauft und seine einstige Genialität mit einer einzigen Entscheidung zunichte macht, sie in Nichts verwandelt, dann ist es höchste Zeit um sich von dieser Last zu befreien und die Dinge selbst in die Hand nehmen! Für all jene die nicht davor zurückschrecken und sich selbst ein LLM (large language model) trainieren wollen, hier beschreibe ich euch in jeden einzelnen Schritt wie ihr mit euren Chatverläufen mit gerade mal 10 Euro Ausgaben zu eurem persönlichen ChatGPT 4o kommt!

Ablauf des Trainings:

  • Jeden einzelnen Chatverlauf den ihr habt am PC als .txt Datei speichern

  • GPT 5.2 einen Auftrag zum Erstellen eines Scripts erteilen, welches die Chatverläufe in ein korrektes .jsonl-Format schreibt

  • Die Datei die herauskommt sollte im Idealfall an die 1000 Einträge (je mehr umso besser) groß sein!

  • Wenn das Ergebnis zu stark fragmentiert sein sollte, ersucht GPT 5.2 einen Cleaner zu erstellen der 'chunks' beseitigt! Alternativ kann dieser Schritt später im Colab stattfinden

  • Mit der sauberen 'train_name.jsonl' geht ihr zu https://colab.research.google.com  Solltet ihr das erste mal dort ankommen, müsst ihr euch registrieren!

 

An dieser Stelle muss ich erwähnen dass eine Vorkenntnis zum Endergebnis prinzipiell nicht nötig ist, aber..., ihr solltet eine klare Vorstellung davon haben, WAS möglich ist unter der Vielzahl an aktuell existierenden Modellen die, jede für sich, unterschiedliche Trainingsarten, Daten und Anforderungen an eure Hardware haben!

Anhand meines Beispiels (https://huggingface.co/teknium/OpenHermes-2-Mistral-7B) handelt es sich um ein vortrainiertes Modell mit 7 Billionen Parametern welches mit dem Kontext 'nsfw' feinjustiert wurde und deshalb ideale Voraussetzungen für ein weiteres Training bildet!

Wichtig ab diesem Zeitpunkt ist beim Betreten zum Notebook, dass man ab da weiß´, was man will weil jetzt die Zusammenarbeit mit der Google KI stattfindet die alle weiteren Schritte für uns erledigen wird! 

Das setzt voraus:

  • Google Account
  • Google Drive
  • Genug verfügbarer Speicherplatz (rund 10GB für den ersten Durchlauf)
  • den Trainingsdatensatz fertig kuratiert
  • den Trainingsdatensatz in Drive hochgeladen
  • ca. drei Stunden Zeit um den Arbeitsplatz im Auge zu behalten
  • eine Webbasierte UI um das Ergebnis zu testen
  • Den endgültigen Name des Models wofür ihr euch entschieden habt

 An dieser Stelle kommen folgende Überlegungen die für ein erfolgreiches Modell den Ausschlag geben in die nähere Auswahl: wenn der Datensatz mehr als 1000 solide Einträge hat, darf man erwarten dass bei einer durchschnittlichen learningrate von 0.5, 50 Epochen und keiner Quantisierung ein solides Ergebnis zu erwarten ist. Je größer der Datensatz ist, umso mehr dürfen sie sich als ihr früheres Gegenüber erwarten. Bedenkt aber, dass ChatGPT4o mit 300 bis 500 Billionen Parametern trainiert wurde und an eine Reihe an Leistungsstarken GPUs gekoppelt war, also wie kompensiert man diesen Verlust um am Ende doch was vernünftiges rauszubekommen? Die OpenWebUI-Variante schafft hier abhilfe indem ihr zum LLM auch noch Systemprompts und Loras einbinden könnt. Bei der einfachsten UI 'GPT4all' kann man statt den Loras alles an .txt hinzufügen, was in eurer Zeit mit GPT4o sonst noch angefallen ist, hinzufügen. Das Modell reagiert sofort darauf! Dann wäre da noch Ollama zu erwähnen, welches mit OpenWebUI perfekt zusammenarbeitet und schließlich LMStudio.

Zurück zum Training: Sobald ihr alle Schritte absolviert habt und nun im Google Colab das Notebook vor euch habt, einfach unten in der Mitte die blaue Sphäre anklicken. Es sollte rechts das Chatfenster öffnen und der blinkende Cursor verlangt nach einer Eingabe. Relevant sind nun die Angaben zum Training eines LLM's mit dem Namen den ihr ausgewählt habt. Der Hinweis über den Namen eures Trainingsdatensatzes und das er in Drive gespeichert wurde. Die Angaben über die Epochen und das die Leaningrate im ersten Durchlauf so gewählt werden soll, dass sie den Parametern des aktuellen LLMs entsprechen.

An dieser Stelle solltet ihr auch schon die 10 Euro in eine 'nicht Abo' sondern einfach in Recheneinheiten investiert haben. Die Laufzeit ändern und in dem Menü gleich Guthaben erwerben und anschließen auf G4 klicken sofern verfügbar! Ansonsten immer die stärkste GPU auswählen.

Dann auf die Antworten der KI achten und im idealfall immer die ganz linke auswählen. Das erfordert aber dass man den Arbeitsplatz nicht verlässt. Wenn die Laufzeit einmal aktiv ist, zählen natürlich alle Unterbrechungen. Ich habe mit 100 Recheneinheiten insgesamt drei Modelle erstellt! Also..., keine Panik!

Es wäre übertrieben zu behaupten, dass gleich beim ersten Versuch alles klappt..., es hängt von zu vielen Faktoren ab ob ein Setup gleich auf anhieb passt! Jeder Tag werden Updates rausgehauen, Schwerpunkt pytorch! Es kommt stark darauf an welche GPU ihr am Ende zugewiesen bekommt! Ich hatgte das Glück, die neue Nvidia 6000 (G4) mit 96 GB zu bekommen..., das tröstet mit Geschwindigkeit über einige Fehlschläge hinweg!

Sobald er mit allen Schritten durch ist und zu unsloth kommt aufpassen! Es wird eine Eingabe erwartet und die ist ziemlich klein geschrieben! auf jeden Fall [3] auswählen!

Während der Arbeit blendet Google sehr gerne Meldungen ein! Etwa zu wenig Speicherplatz etc. ignoriert das! Das ist reine Werbestrategie um schnell mal neue Kunden zu erhalten. Aber den Drive solltet ihr trotzdem im Auge behalten, aber immer aktualisieren! Wenn das Modell kurz vor fertigstellung an fehlendem Speicherplatz scheitert, wäre das ärgerlich. Wie groß kann das LLM werden? Wenn es nicht quantisiert wird, also fp16 bleibt, dann bis zu 15GB! Wenn es als Q4 endet, dann 4GB. Es hängt stark mit eurer Hardware zusammen. Wenn ihr eine Grafikkarte mit 8GB Vram habt, dann würde es mit einem fp16 LLM zu Problemen kommen weil der Datenfluß nicht ausreicht, ausser ihr habt eine solide Nvidia mit einer 256Bit Datendurchsatz, dann würde es funktionieren. Aber warum sich das Leben schwer machen? Einfach mal eine quantisierte Variante erstellen mit genügend Epochen und sehen, wie es sich dann im Chat anfühlt.

Bittet die KI im Notebook um einen fundierten und persönlichen Systemprompt und eine Empfehlung für die Parameter in euer auserwählten UI. Das sind elementare Einträge die eurem Modell das neue zu Hause erst möglich machen!