Finetuning von LLMs mit NVIDIA DGX Spark und Unsloth
Tutorial, wie man Finetuning und Reinforcement Learning (RL) mit OpenAI gpt-oss auf NVIDIA DGX Spark durchführt.
Unsloth ermöglicht lokales Fine-Tuning von LLMs mit bis zu 200B Parametern auf dem NVIDIA DGX™ Spark. Mit 128 GB Unified Memory können Sie massive Modelle wie gpt-oss-120btrainieren und Inferenz direkt auf dem DGX Spark ausführen oder bereitstellen.
Wie gezeigt auf OpenAI DevDay, wurde gpt-oss-20b mit RL und Unsloth auf DGX Spark trainiert, um 2048 automatisch zu gewinnen. Sie können mit Unsloth in einem Docker-Container oder einer virtuellen Umgebung auf DGX Spark trainieren.
In diesem Tutorial trainieren wir gpt-oss-20b mit RL unter Verwendung von Unsloth-Notebooks, nachdem Unsloth auf Ihrem DGX Spark installiert wurde. gpt-oss-120b wird etwa 68GB Unified Memory verwenden.
Nach 1.000 Schritten und 4 Stunden RL-Training übertrifft das gpt-oss-Modell das Original bei 2048 deutlich, und längeres Training würde die Ergebnisse weiter verbessern.
Sie können Unsloth, vorgestellt auf dem OpenAI DevDay 2025, ansehen hier.
gpt-oss, mit RL trainiert, übertrifft konstant bei 2048.
⚡ Schritt-für-Schritt-Anleitung
1
Beginnen Sie mit dem Unsloth-Docker-Image für DGX Spark
Zuerst bauen Sie das Docker-Image mit dem DGX Spark Dockerfile, das hier zu finden ist. Sie können außerdem Folgendes im Terminal auf dem DGX Spark ausführen:
Dann bauen Sie das Trainings-Docker-Image mit dem gespeicherten Dockerfile:
Sie können auch hier klicken, um das vollständige DGX Spark Dockerfile zu sehen
2
Container starten
Starten Sie den Trainingscontainer mit GPU-Zugriff und Volume-Mounts:
3
Jupyter starten und Notebooks ausführen
Starten Sie innerhalb des Containers Jupyter und führen Sie das erforderliche Notebook aus. Sie können das Reinforcement-Learning gpt-oss 20b Notebook verwenden, um 2048 zu gewinnen Notebook hier. Tatsächlich funktionieren alle Unsloth-Notebooks im DGX Spark, einschließlich des 120b Notebooks! Entfernen Sie einfach die Installationszellen.
Die folgenden Befehle können ebenfalls verwendet werden, um das RL-Notebook auszuführen. Nachdem Jupyter Notebook gestartet wurde, öffnen Sie das „gpt_oss_20B_RL_2048_Game.ipynb”
Vergessen Sie nicht, Unsloth ermöglicht Ihnen auch, Ihre Modelle zu speichern und auszuführen nach dem Fine-Tuning, sodass Sie sie anschließend lokal direkt auf Ihrem DGX Spark bereitstellen können.
Vielen Dank an Lakshmi Ramesh und Barath Anandan von NVIDIA für die Unterstützung beim DGX Spark-Start von Unsloth und beim Erstellen des Docker-Images.
Unified Memory-Verwendung
gpt-oss-120b QLoRA 4-Bit Fine-Tuning wird etwa 68GB Unified Memory verwenden. Wie Ihre Unified Memory-Auslastung aussehen sollte vorher (links) und nach (rechts) Training:
Und das war's! Viel Spaß beim Trainieren und Ausführen von LLMs komplett lokal auf Ihrem NVIDIA DGX Spark!
Video-Tutorials
Dank an Tim von AnythingLLM für die Bereitstellung eines großartigen Fine-Tuning-Tutorials mit Unsloth auf DGX Spark: