1 Punkte von GN⁺ 2023-07-24 | 1 Kommentare | Auf WhatsApp teilen
  • In reinem C kann ein kleines Llama-2-Modell inferiert werden.
  • Dieser Code ermöglicht es, die Llama-2-LLM-Architektur in PyTorch zu trainieren und die Gewichte als rohe Binärdatei zu speichern.
  • Anschließend können die Gewichte in eine C-Datei geladen werden.
  • Die C-Datei kann Modelle beachtlicher Größe mit sehr hoher Geschwindigkeit ausführen.
  • Dieses Projekt wurde als Wochenendprojekt erstellt und ist keine produktionsreife Bibliothek.
  • Vortrainierte Modelle können heruntergeladen und in C ausgeführt werden.
  • Der C-Code streamt rohe Tokens, die mit einem einfachen Wrapper in Text umgewandelt werden können.
  • Der C-Code läuft auf einem M1 MacBook Air mit etwa 100 Tokens pro Sekunde.
  • Die Ausgabe des C-Codes ist auf Basis des Modells generierter Text.
  • Dieses Projekt fokussiert sich auf eine bestimmte Anwendung und trainiert dieselbe Architektur von Grund auf.
  • Der Quelldatensatz kann heruntergeladen, vorab tokenisiert und anschließend zum Trainieren des Modells verwendet werden.
  • Durch Anpassen der Hyperparameter lässt sich ein besseres Modell erstellen.
  • Zum Vergleich kann auch das PyTorch-Inferenzskript ausgeführt werden.
  • Mit dem bereitgestellten Testskript können ausführliche Tests durchgeführt werden.
  • Für dieses Projekt werden aus dem PyTorch-Training die Dateien model.bin und model.ckpt benötigt.
  • Im Text werden einige To-dos und Fragen erwähnt.
  • Dieses Projekt wird unter der MIT-Lizenz bereitgestellt.

1 Kommentare

 
GN⁺ 2023-07-24
Hacker-News-Kommentare
  • Andrej wird von OpenAI bezahlt und hilft gleichzeitig Apple, Facebook und der Open-Source-Bewegung.
  • Der ursprüngliche Checkpoint läuft auf einem MacBook Air M1 schneller als erwartet.
  • Ein neues 44M-Modell befindet sich im Training.
  • Das Llama-Modell läuft über Emscripten im Browser.
  • Lokal ausgeführte LLMs sind eine interessante Technologie für den Bau von Web-Apps für lokale Inferenz.
  • Der Code lässt sich sauber mit dem WASI SDK bauen und läuft in einer Wasm-Runtime.
  • Weitere Details finden sich auf Andrejs Twitter.
  • Der für die Ausführung des neuronalen Netzes erforderliche Speicherbedarf wird diskutiert.
  • Es wird darauf hingewiesen, dass Llama-2 nicht für kreative Arbeiten verwendet werden kann.
  • Die Branche könnte sich in Richtung separater Quellcodes für jedes veröffentlichte Modell bewegen.
  • Über den Reiz von „in einer Datei“ oder „nur Header“ wird diskutiert.
  • Es gibt einen humorvollen Kommentar darüber, bessere Tests zu schreiben, um weniger yolo zu sein.