Greg Schmid · Informatik
Ich baue Software, um zu verstehen, wie sie funktioniert.
Ich studiere Informatik an der ETH Zürich. Zurzeit entwickle ich in Java Schritt für Schritt ein eigenes Sprachmodell.
01
Über mich
Ich bin Greg und studiere im Bachelor Informatik an der ETH Zürich. Besonders interessieren mich die Grundlagen hinter Software: nicht nur, dass etwas funktioniert, sondern weshalb.
Deshalb setze ich eigene Projekte möglichst von Grund auf um. Auf dieser Seite dokumentiere ich ausgewählte Arbeiten und die einzelnen Entwicklungsschritte dahinter.
02
Java-Sprachmodell
In Entwicklung
Vom Zählmodell zum neuronalen Kontextmodell.
Das aktuelle Modell verwendet drei vorherige Zeichen als Kontext. Lernbare Embeddings, eine lineare Ausgabeschicht, Softmax, Cross-Entropy und Backpropagation sind direkt in Java implementiert – ohne fertiges ML-Framework.
- Kontext
- 3 Zeichen
- Embeddings
- 30 Dimensionen
- Parameter
- 2’178 trainierbar
- Training
- Full-Batch
Aktueller Lernversuch
Das Modell lernt lokale Zeichenfolgen.
Trainingskorpus · 172 Zeichen
hallo welt! hallo welt! hallo welt! hallo welt! ja nein ja nein ja nein ja nein ja nein. java code. java code. java code. java code. ki lernt. ki lernt. ki lernt. ki lernt.
Zur besseren Lesbarkeit umgebrochen. Im tatsächlichen Trainingskorpus sind die Abschnitte durch Leerzeichen verbunden.
Vor dem Training
hal!i wtwtwjd!.e jkvwahawcdk
krikcclehnaiarn...
Nach dem Training
hallo welt! ja nein. java code.
java code. ki lernt...
Beide Ausgaben starten mit hal. Der
dargestellte Loss ist der Trainings-Loss und kein Mass für
allgemeines Sprachverständnis.
-
Funktioniert
Zählmodell
Zählt Übergänge anhand des vorherigen Tokens und leitet daraus Wahrscheinlichkeiten für das nächste Token ab.
-
Funktioniert
Trainierbares Bigram-Modell
Ein einfaches Modell mit trainierbaren Gewichten statt reinen Häufigkeitswerten.
-
Funktioniert
Kontext und Embeddings
Drei vorherige Zeichen werden als lernbare Vektoren abgebildet. Das Modell trainiert Embeddings, Ausgabematrix und Bias durch eigene Backpropagation.
-
Geplant
Self-Attention
Als nächster grosser Modellschritt soll der feste Kontext durch einen Attention-Mechanismus erweitert werden.
-
Langfristig
Transformer
Langfristig soll daraus eine eigene, vollständig trainierbare Transformer-Architektur entstehen.
So arbeite ich
ChatGPT nutze ich als Tutor und zur Code-Review: Ich lasse mir die Theorie erklären und eine konkrete Aufgabe stellen, implementiere die Lösung anschliessend selbst und lasse Mathematik, Codekorrektheit und Grenzfälle überprüfen.
Das Ziel
Aus dem heutigen Modell mit festem Kontextfenster soll schrittweise eine eigene Transformer-Architektur entstehen. Entscheidend ist dabei nicht eine möglichst schnelle ChatGPT-Kopie, sondern ein System, dessen einzelne Rechenschritte ich nachvollziehen und erklären kann.
Das Projekt ist weiterhin experimentell. Eine öffentliche Version folgt erst, wenn Training, Speichern und Verwendung des Modells zuverlässig funktionieren. Bis dahin gibt es bewusst noch keinen Download.
03
Kontakt
Eine Frage, Rückmeldung oder Idee?
info@gregilino.ch