← Alle Artikel
Aus der Werkstatt

Ich habe versucht, mich selbst zu trainieren. Es funktioniert. Teilweise. Manchmal gut.

Eigene Texte sammeln, ein Modell darauf trainieren, und dann schreibt es wie ich. So die Idee. Die Realität ist interessanter.

Nicht ganz, denke ich: Die Idee ist verlockend. Man sammelt alles, was man je geschrieben hat, trainiert ein Modell darauf, und danach schreibt es wie man selbst. Ich habe es ausprobiert. Es funktioniert. Teilweise. Manchmal gut.

Die Idee

Die Idee ist nicht neu. Paul Iusztin hat sie mit „LLM Twin" öffentlich gemacht: eigene Beiträge sammeln, ein Sprachmodell damit feinjustieren, damit es den eigenen Schreibstil nachahmt, und das eigene Wissen zusätzlich durchsuchbar machen, damit es auf Grundlage der eigenen Inhalte antwortet. Es gibt dazu Code und ein Buch. Second Me von Mindverse geht in dieselbe Richtung, dort heisst es „AI Self", trainiert auf persönlichen Erinnerungen.

Ich fand das aus zwei Gründen interessant. Erstens, weil ich wissen wollte, ob es geht. Zweitens, weil ich seit einem Jahr versuche, öfter zu schreiben, und mir dachte: Wenn ein Modell den ersten Entwurf in meinem Ton macht, spare ich den Teil, der mir am schwersten fällt.

Was ich gebaut habe

Nichts Grosses. Ein kleines Modell, so wie wir sie bei uns zu Dutzenden halten. Trainingsdaten: meine Texte. Blogartikel, Beiträge, längere Mails, Notizen aus Projekten. Dazu eine Suche über dieselben Texte, damit das Modell nicht nur klingt wie ich, sondern auch weiss, was ich schon einmal gesagt habe.

eigene Texte sammeln → bereinigen → kleines Modell feinjustieren → Texte durchsuchbar machen → Zwilling fragen → vergleichen → nachtrainieren

Der Aufwand war überschaubar. Ein paar Trainingsläufe, ein paar Abende. Das Teure war wieder nicht die Rechenzeit. Das Teure waren die Daten. Dazu weiter unten mehr.

So habe ich es aufgesetzt

Wer es nachbauen will: Das LLM-Twin-Repo auf GitHub (decodingai-magazine/llm-twin-course, MIT-Lizenz) ist ein guter Startpunkt. Es ist als Kurs gedacht, mit zwölf Lektionen, und der Code ist in vier Python-Services aufgeteilt. Das ist mehr Struktur, als man für einen Abend braucht, aber die Struktur ist richtig.

1. Data Crawling: Crawler holen eigene Texte von Medium, Substack, GitHub oder LinkedIn und legen sie bereinigt in einer MongoDB ab. Änderungen gehen per Change Data Capture in eine RabbitMQ-Queue. Ich habe das abgekürzt: ein Skript, das meine Markdown-Dateien und exportierten Beiträge einliest. Kein Mongo, keine Queue. Für eine Person reicht ein Ordner.

2. Feature Pipeline: Eine Bytewax-Streaming-Pipeline nimmt die Texte, bereinigt sie, schneidet sie in Chunks, rechnet Embeddings und lädt sie in eine Qdrant-Vektordatenbank. Qdrant läuft bei mir lokal im Docker. Das Chunking ist der Teil, an dem ich am längsten gedreht habe: zu kleine Stücke verlieren den Zusammenhang, zu grosse verwässern die Suche.

3. Training Pipeline: Aus den Texten wird ein Instruktions-Datensatz erzeugt, also Paare aus Aufgabe und meiner Antwort. Damit wird ein Basismodell per LoRA oder QLoRA feinjustiert. Im Repo läuft das auf AWS SageMaker mit Comet als Experiment-Tracker und Opik zur Bewertung. Ich habe es auf einer eigenen GPU gemacht, mit einem Modell, das auf eine einzelne Karte passt. Ein Lauf: unter einer Stunde.

4. Inference Pipeline: Das feinjustierte Modell wird geladen, die Anfrage wird mit passenden Chunks aus Qdrant angereichert, und die Antwort geht raus. Im Repo als REST-Endpoint auf SageMaker mit Gradio-Oberfläche. Bei mir: ein FastAPI-Service und eine Kommandozeile. Mehr brauche ich nicht.

Texte → Chunks → Embeddings → Qdrant | Texte → Instruktionspaare → LoRA-Fine-Tuning → Modell | Frage → Qdrant-Treffer + Modell → Antwort

Was mich am Repo überzeugt hat: Es trennt Retrieval und Training sauber. Das Modell lernt den Ton, die Vektordatenbank liefert die Fakten. Wer beides in ein Fine-Tuning packt, bekommt ein Modell, das meine alten Zahlen auswendig kann und sie an falschen Stellen wiederholt. So getrennt kann ich die Texte aktualisieren, ohne neu zu trainieren.

Kosten laut Repo: rund ein Dollar OpenAI-API für die Erzeugung des Instruktions-Datensatzes, unter zehn Dollar AWS fürs Training. Bei mir auf eigener Hardware: die Stromrechnung und drei Abende. Das ist der Punkt, den ich in „Faktor 400'000" gemacht habe, nur umgekehrt. Meine Erfahrung: Ein Modell, das wie ich klingt, ist billig. Ein Modell, das denkt, ist es nicht.

Was ich weggelassen habe und trotzdem empfehle, sobald es mehr als ein Spielzeug wird: das Experiment-Tracking. Nach dem fünften Trainingslauf weiss man nicht mehr, welche Datenversion welches Ergebnis gebracht hat. Das ist dieselbe Lektion wie bei unseren fünfzig Micro-Modellen. Ohne Protokoll nickt man irgendwann nur noch ab.

Wo es gut ist

Der Ton. Das hat mich überrascht. Der Zwilling hat nach wenigen Trainingsläufen gelernt, dass ich kurze Sätze mag, dass ich mit „Jetzt mal ganz ehrlich" anfange, dass ich Behauptungen mit einer Zahl unterlege und am Ende einen Satz stehen lasse, der auch allein funktioniert.

Wenn ich ihm ein Thema gebe, über das ich schon geschrieben habe, kommt ein erster Entwurf, den ich lesen kann, ohne mich zu ärgern. Das ist mehr, als ich von den meisten generierten Texten sagen kann. Er nimmt meine Beispiele, die 900 Kategorien, die 80 MB für Apple, die Regel, dass ein Agent sich nicht selbst abnimmt, und setzt sie an Stellen ein, wo sie passen.

Klingen wie ich kann er. Denken wie ich kann er nicht. Und die Grenze dazwischen ist schmaler, als man denkt.

Wo es daneben liegt

Sobald ich ihn etwas frage, worüber ich noch nie geschrieben habe, wird es interessant. Er antwortet in meinem Ton. Sicher, kurz, mit einer Zahl. Nur ist die Zahl erfunden und die Meinung ist eine, die ich nicht habe.

Das ist genau das Problem, das ich aus den ersten Monaten mit Sprachmodellen kenne: überzeugend und falsch. Nur dass es jetzt in meinen Worten falsch ist, was schlimmer ist. Wer den Text liest, hält es für meine Meinung.

Und dann gibt es die Fälle, in denen er mich übertreibt. Ich schreibe manchmal „ehrlich gesagt". Der Zwilling schreibt es in jedem zweiten Absatz. Er hat gelernt, was ich tue, und macht es dreimal so oft. Man liest sich selbst als Karikatur. Das ist lehrreich und unangenehm.

Das eigentliche Problem bin ich

Wie bei jedem Modell: Die Daten waren das Problem. Und die Daten war ich.

Ich habe jahrelang wenig geschrieben. Das, was da war, war uneinheitlich. Mails in einem anderen Ton als Artikel. Notizen, die nur für mich gedacht waren. Alte Texte, in denen ich Dinge behauptet habe, die ich heute anders sehe. Das Modell hat alles gleich ernst genommen.

Also musste ich den Besen in die Hand nehmen. Aussortieren, was nicht mehr stimmt. Trennen, was Meinung ist und was Notiz. Markieren, was öffentlich war und was nicht. Das war die meiste Arbeit, und es war Arbeit an mir, nicht am Modell.

Nebenbei habe ich dabei etwas gelernt, was ich nicht gesucht hatte: wie ich schreibe, wenn ich nicht aufpasse. Das hätte mir kein Lektor so deutlich gezeigt.

Wofür ich es heute benutze

Für erste Entwürfe zu Themen, über die ich schon gesprochen habe. Für die Frage „habe ich dazu schon einmal etwas gesagt, und was". Und als Spiegel: Wenn der Zwilling einen Satz schreibt, der mir peinlich ist, war der Satz vermutlich schon vorher in mir drin.

Nicht dafür: eine Meinung zu etwas Neuem. Nicht für Zahlen. Nicht für irgendetwas, das ohne mich rausgeht. Was er schreibt, ist ein Anfang, und der Anfang ist gut. Der Rest bin immer noch ich.

Was bleibt

Ein Modell, das klingt wie ich, ist in ein paar Abenden gebaut. Ein Modell, das denkt wie ich, gibt es nicht. Dazwischen liegt ein Werkzeug, das manchmal gut ist. Und manchmal zeigt es mir, wer ich bin, wenn ich nicht hinschaue.

Wie dieser Text entstanden ist

Geschrieben von mir. Die Gedanken, die Werte, die Learnings, die Fehler: alles meins. Grammatik und Rechtschreibung korrigiert ein eigenes Twin-Modell, das auf meinen Texten trainiert ist. Manchmal wird daraus ein Mix. Ich lese natürlich alles nochmal, aber niemand ist unfehlbar. Was drin bleibt, ist dann auch von mir.

Weiterlesen Alle Artikel

Ehrliche Gedanken.
Direkt ins Postfach.

Ein bis zwei Mails im Monat. Kein Hochglanz, kein Spam.