4 Punkte von GN⁺ 2024-01-25 | 1 Kommentare | Auf WhatsApp teilen
  • KI-Kampf-Engineering – Was man wissen muss

    • Eine offene Sammlung von Methoden für das erfolgreiche Training von KI-(ML)-Modellen, insbesondere großen Sprachmodellen (LLM) und multimodalen Modellen (VLM).
    • Technisches Material für LLM/VLM-Trainingsingenieure und -Operatoren, mit vielen Skripten und Copy-und-Paste-Befehlen, sodass sich benötigte Aufgaben schnell ausführen lassen.
    • Dokumentiert fortlaufend Erfahrungen und Know-how aus dem Training des Open-Source-Modells BLOOM-176B im Jahr 2022 und des multimodalen Modells IDEFICS-80B im Jahr 2023; derzeit Entwicklung/Training von Open-Source-Retrieval-Augmented-Modellen bei Contextual.AI.
  • Inhaltsverzeichnis

    • Entschuldigt sich für das instabile Layout; es werden neue Kapitel geschrieben und die Inhalte intuitiver neu organisiert.
  • Hardware-Komponenten

    • Beschleuniger - Die Arbeitspferde des ML, darunter GPU, TPU, IPU, FPGA, HPU, QPU und RDU.
    • Netzwerk - Konnektivität innerhalb von Knoten und zwischen Knoten sowie Berechnung der Bandbreitenanforderungen.
    • Speicher - Lokale und verteilte Datenträger und Dateisysteme.
    • CPU - Inhalte zu CPU und Affinität.
    • CPU-Speicher - Das kürzeste Kapitel darüber, wie viel CPU-Speicher ausreicht.
  • Performance

    • Fehlertoleranz
    • Performance
    • Multi-Node-Networking
    • Modellparallelität
  • Betrieb

    • SLURM
    • Trainings-Hyperparameter und Modellinitialisierung
    • Instabilität
  • Entwicklung

    • Debugging von Software- und Hardwarefehlern
    • Noch mehr Debugging
    • Reproduzierbarkeit
    • Tensor-Präzision / Datentypen
    • HF-Transformers-Notizen - Tipps zu kleinen Modellen, Tokenizern, Datensätzen usw.
  • Sonstiges

    • Materialien - LLM/VLM-Chronik.
  • Direktzugriffe

    • Werkzeuge und Leitfäden, die man häufig schnell finden muss.
    • Werkzeuge: all_reduce_bench.py, torch-distributed-gpu-test.py
    • Leitfäden: debugging pytorch applications, slurm for users, make tiny models/datasets/tokenizers, LLM/VLM chronicles collection
  • Buch erstellen

    • Wer ein PDF erstellen oder Links prüfen möchte, siehe den Abschnitt „Buch erstellen“.
  • Danksagung

    • Dieses Know-how lernen zu können, ist ein Privileg, das nur wenigen offensteht, da das Anmieten großer ML-Compute-Cluster sehr teuer ist.
    • Besonderer Dank an Thom Wolf und HuggingFace.
  • Mitwirken

    • Wer Bugs oder Tippfehler findet oder Verbesserungsvorschläge hat, wird ermutigt, ein Issue zu eröffnen oder einen PR beizutragen.
  • Lizenz

    • Die Inhalte dieser Website werden unter der Lizenz Attribution-ShareAlike 4.0 International veröffentlicht.
  • Meine Repository-Karte

    • Maschinelles Lernen: ML Engineering Open Book | ML ways | Porting
    • Leitfäden: The Art of Debugging
    • Anwendungen: ipyexperiments
    • Werkzeuge und Cheat Sheets: bash | conda | git | jupyter-notebook | make | python | tensorboard | unix

Meinung von GN⁺

  • Dieses Material leistet einen großen Beitrag zur ML-Community, indem es praktisches Wissen und Werkzeuge für das Training großer Sprachmodelle und multimodaler Modelle bereitstellt.
  • Durch das Teilen von Know-how aus realen Projekterfahrungen hilft es angehenden Softwareingenieuren, praxisnahes Wissen zu erwerben, das für das Training großer ML-Modelle nötig ist.
  • Der Open-Source-Ansatz fördert Wissensaustausch und Zusammenarbeit im ML-Bereich und spielt damit eine wichtige Rolle bei der Beschleunigung von Forschung und Innovation.

1 Kommentare

 
GN⁺ 2024-01-25
Hacker-News-Kommentare
  • Dieser Beitrag ist wirklich wertvoll. Ich arbeite daran, LLM-Trainings-Setups zur Unterstützung der Forschung zu debuggen, und ich wünschte, ich hätte solche Notizen schon zu Beginn gehabt.

    • Bringt zum Ausdruck, dass solche Informationen für jemanden, der zu Beginn mit dem Debugging von LLM-Trainings-Setups arbeitet, nützlich gewesen wären.
  • Ich arbeite mit Applied Scientists zusammen und unterstütze Aufgaben rund um Modelltraining und Deployment; wie können Leute wie ich mit eher Low-Level-Engineering-Arbeiten wie Optimierung und Performance in Berührung kommen? Wir haben zwar ein ML-Infrastruktur-Team, aber dessen Ziel ist es, Tools rund um die Plattform zu bauen, nicht unbedingt, Workloads optimal auszuführen.

    • Zeigt, dass jemand, der Modelltraining und Deployment unterstützt, Erfahrungen mit Low-Level-Engineering-Arbeiten wie Optimierung und Performance sammeln möchte.
  • Ich würde das gern ausprobieren, aber ich habe keine vernünftige GPU. Wie führt ihr solche Dinge aus?

    • Bringt zum Ausdruck, dass es ohne eine geeignete GPU schwierig ist, mit Experimenten zu beginnen.
  • Vielen Dank für alles im Abschnitt "Unsolicited Advice" auf AI Battlefield [1]. Das ist eine sehr realistische Perspektive auf das ständige Hinterherhecheln hinter den schnellen Fortschritten in der AI-Entwicklung und die damit verbundene emotionale Belastung.

    • Drückt Dankbarkeit für "Unsolicited Advice" aus, das einen realistischen Blick auf das hohe Tempo der AI-Entwicklung und die daraus entstehende emotionale Belastung bietet.
  • Wie weit verbreitet ist Slurm?

    • Drückt Neugier über den Verbreitungsgrad von Slurm aus.
  • Ich habe zufällig herumgeklickt und etwas über Repeatability gelesen, frage mich aber immer noch, wie das im verteilten Training erreicht wird. Macht deterministische Synchronisation die Dinge nicht langsamer? Andererseits habe ich gehört, dass bei zumindest einigen großen Unternehmen ihr Training reproduzierbar ist.

    • Wirft Fragen zur Wiederholbarkeit im verteilten Training und zu den Auswirkungen deterministischer Synchronisation auf die Performance auf.
  • Wie sammelt man Erfahrungen mit solchen Dingen, wenn man keinen Job hat?

    • Stellt die Frage, wie man ohne einen entsprechenden Job relevante Erfahrungen sammeln kann.
  • Gibt es irgendwo ein PDF? Es scheint Anleitungen zum Bauen zu geben, aber keine eigentliche Datei.

    • Bringt zum Ausdruck, dass nach einer PDF-Version der betreffenden Dokumentation gesucht wird.