- Ein Workshop, in dem man sich am Wochenende ein paar Stunden Zeit nimmt, um die Funktionsweise von LLMs im Code nachzuvollziehen und den Ablauf von Implementierung, Training und Nutzung in einem Durchgang kennenzulernen
- Die Praxisübungen beginnen mit einer Einführung in LLMs und führen Schritt für Schritt über Eingabedaten, Tokenizer und die Implementierung der Modellarchitektur weiter
- Nach der Architekturimplementierung behandelt der Workshop GPT-2 und Llama 2, Pretraining sowie das Laden vortrainierter Gewichte und schlägt damit die Brücke zur Nutzung realer Modelle
- Enthalten sind auch die Nutzung von Gewichten mit LitGPT, Instruction Fine-Tuning, Benchmark-Evaluation und die Bewertung der Dialogleistung
- Buch, GitHub-Repository, Workshop-Code, Lightning Studio und LitGPT-Repository werden bereitgestellt, sodass man leicht selbst mitmachen kann
Ablauf des 3-stündigen Workshop-Videos
- Behandelt den Prozess, ein LLM zu implementieren, zu trainieren und zu nutzen in einem einzigen Coding-Workshop
- Mit anklickbaren Kapitelmarken, sodass man direkt zu den benötigten Themen springen kann
-
Grundlagen und Eingabeverarbeitung
- 0:00 Überblick über den Workshop
- 2:17 Einführung in LLMs
- 9:14 Workshop-Materialien
- 10:48 Eingabedaten für LLMs verstehen
- 23:25 Einfache Tokenizer-Klasse
-
Modellimplementierung und Training
- 41:03 LLM-Architektur programmieren
- 45:01 GPT-2 und Llama 2
- 1:07:11 Pretraining
- 1:29:37 Vortrainierte Gewichte laden
- 1:45:12 Vortrainierte Gewichte mit LitGPT verwenden
-
Fine-Tuning und Evaluation
- 1:53:09 Instruction Fine-Tuning
- 2:08:21 Instruction Fine-Tuning mit LitGPT
- 2:26:45 Benchmark-Evaluation
- 2:36:55 Bewertung der Dialogleistung
- 2:42:40 Abschluss
Materialien zum Mitmachen
- Build an LLM from Scratch book: Buch zum Bau eines LLM von Grund auf
- Build an LLM from Scratch GitHub repository: GitHub-Repository zum Buch
- GitHub repository with workshop code: Repository mit dem Workshop-Code
- Lightning Studio for this workshop: Lightning Studio für diesen Workshop
- LitGPT GitHub repository: LitGPT-GitHub-Repository
1 Kommentare
Meinungen auf Hacker News
Es gibt viele Überschneidungen, aber sie behandeln unterschiedliche Themen detaillierter oder setzen andere Schwerpunkte. Andrejs gesamte Reihe ist absolut sehenswert, und auch die kommenden Arbeiten von Eureka Labs sehen sehr vielversprechend aus. Sebastians Blog und Buch sind meiner Meinung nach ebenfalls Zeit und Geld wert
https://ai.meta.com/research/publications/the-llama-3-herd-o...
Es ist zwar ein gutes PyTorch-Tutorial, aber tun wir nicht so, als wäre das Low-Level
Davor hatte ich versucht, mit fast.ai zu lernen, aber dort beginnt man direkt damit, Netzwerke in Pytorch zu bauen, und ich war schnell wieder raus. Es fühlte sich ungefähr so langweilig an wie Java in der Highschool zu lernen; ich musste verstehen, womit ich da eigentlich arbeite
https://16x.engineer/2023/12/29/nanoGPT-azure-T4-ubuntu-guid...
Außerdem interessiert mich, was man mit dem daraus entstandenen Modell tun konnte und wie man ihm aktuelle Ereignisse beibringt
Wenn man es nun genau nimmt: „code“ ist etwas, das auf den Inhalten des Mediums Codex aufbaut. Den historischen Hintergrund findet man unter https://en.wikipedia.org/wiki/Codex; ausgehend von Regelwerken im Rechtsbereich hat sich die Verwendung im Englischen spätestens seit der Mitte des 16. Jahrhunderts auf andere Bereiche ausgeweitet.
„program“ bedeutet eher, eine Sammlung von Absichten zu enthalten und öffentlich zu machen, etwa im Sinne von „zuerst Bach spielen und danach Mozart“. Diese Verwendung kam einige Jahrhunderte später auf als code im Sinne eines „Regelwerks“.
„develop“ gefällt mir als Begriff, weil es ein Entfalten bedeutet, impliziert aber nicht wie die beiden anderen Wörter Regeln oder sequenzielle Abläufe
Den genauen Grund kenne ich nicht, aber ich vermute, dass es daran liegt, dass „program“ im brasilianischen Portugiesisch stark mit Prostitution verbunden ist
Andrejs Material ist mir zu Low-Level, sodass ich mich eher in Details verliere. Das ist nicht als Kritik gemeint, sondern als Kommentar, der für Leute in einer ähnlichen Situation hilfreich sein könnte
Vor langer Zeit habe ich einmal nachvollzogen, wie Backpropagation in tiefen RNNs funktioniert, daher dachte ich, dass der Rest ebenfalls interessant sein könnte
Wenn Windows nicht ausdrücklich erwähnt wird, sehe ich häufig, dass es in dieser Umgebung meist nicht getestet wurde und wegen irgendwelcher Probleme nicht gut läuft
https://developer.nvidia.com/cuda-downloads?target_os=Linux&...