Show HN: Llama-Feintuning mit 80 % höherer Geschwindigkeit, 50 % weniger Speicherverbrauch und 0 % Genauigkeitsverlust
(github.com/unslothai)Höhere Effizienz beim Tuning von QLoRA-Modellen
- QLoRA-/LoRA-Modelle erreichen durch manuell abgeleitete Backpropagation-Schritte eine um 80 % höhere Geschwindigkeit und 50 % geringeren Speicherverbrauch.
- Alle in OpenAIs Sprache Triton geschriebenen Kernel wurden ohne Genauigkeitsverlust optimiert.
- Kann ohne Hardwareänderungen auf NVIDIA-GPUs verwendet werden (Modelle ab 2018, mit Unterstützung für CUDA 7.5+).
- Effizientes Modelltraining ist durch Unterstützung für Flash Attention sowie 4-Bit- und 16-Bit-LoRA-Feintuning möglich.
- Das Slim-Orca-Modell kann in einer lokal ausgeführten Umgebung in stark verkürzter Zeit trainiert werden, von 1301 Stunden auf 260 Stunden.
- Die Open-Source-Version bietet ein 5-mal schnelleres Training, während die Codepfade von Unsloth Pro und Max ein bis zu 30-mal schnelleres Training ermöglichen.
Installationshinweise
- Unsloth wird nur auf Linux-Distributionen und mit Pytorch ab Version 2.1 unterstützt.
- Die Installation ist über Conda und Pip möglich; je nach CUDA-Version wird das passende Paket ausgewählt und installiert.
Beispiel für das Alpaca-Modell
- Mit FastLlamaModel wird ein Llama-Modell geladen, und durch 4-Bit-Quantisierung wird der Speicherverbrauch reduziert.
- Durch Model-Patching und das Hinzufügen schneller LoRA-Gewichte wird die Leistung verbessert.
- Modelltraining ist mit dem Trainer von Huggingface und dem Laden von Datensätzen möglich.
Zukünftige Ziele und Einschränkungen
- Geplant ist die Unterstützung von sqrt-Gradient-Checkpointing, wodurch sich der Speicherverbrauch zusätzlich um 25 % senken lässt.
- Derzeit werden nur Llama-Modelle unterstützt, künftig sollen aber auch andere Modelle unterstützt werden.
Leistungsvergleich
- Beim Einsatz einer Tesla-T4-GPU zeigt Unsloth im Vergleich zu Huggingface deutlich schnellere Epochenzeiten und einen geringeren Speicherverbrauch.
- Sowohl auf Single-GPU- als auch auf Multi-GPU-Systemen bieten die Pro- und Max-Versionen von Unsloth eine höhere Leistung.
Fehlerbehebung
- Es werden Lösungen bereitgestellt, wenn
bitsandbytesoderxformersnicht korrekt verknüpft sind. - Windows wird derzeit nicht unterstützt; sobald Xformers und Triton Windows offiziell unterstützen, soll auch Unsloth unterstützt werden.
- Bei Installationsproblemen kann ein Update von
pipdie Lösung sein.
Meinung von GN⁺
Der wichtigste Punkt dieses Artikels ist, dass das Tuning von QLoRA-/LoRA-Modellen im Vergleich zu bestehenden Methoden deutlich schneller und speichereffizienter ist. Solche Optimierungen reduzieren Trainingszeit und -kosten für KI-Modelle erheblich und können dadurch auch für Softwareingenieure am Anfang ihrer Laufbahn eine attraktive Lösung sein. Außerdem bietet der Artikel ein interessantes Beispiel dafür, wie sich Open-Source-Technologien weiterentwickeln und dadurch den Zugang zu Technologie verbessern.
Noch keine Kommentare.