2 Punkte von GN⁺ 2023-12-03 | Noch keine Kommentare. | Auf WhatsApp teilen

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 bitsandbytes oder xformers nicht 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 pip die 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.

Noch keine Kommentare.