Speichern für Ollama

Siehe unseren Leitfaden unten für den vollständigen Prozess, wie man speichert in Ollamaarrow-up-right:

🦙Tutorial: Finetune Llama-3 and Use In Ollamachevron-right

Speichern in Google Colab

Sie können das feinabgestimmte Modell als kleine 100MB-Datei namens LoRA-Adapter wie unten speichern. Alternativ können Sie es auch in das Hugging Face Hub hochladen, wenn Sie Ihr Modell bereitstellen möchten! Denken Sie daran, ein Hugging Face-Token zu erhalten über: https://huggingface.co/settings/tokensarrow-up-right und fügen Sie Ihr Token hinzu!

Nachdem wir das Modell gespeichert haben, können wir erneut Unsloth verwenden, um das Modell selbst auszuführen! Verwenden Sie FastLanguageModel wieder, um es für Inferenz aufzurufen!

Export nach Ollama

Schließlich können wir unser feinabgestimmtes Modell nach Ollama exportieren! Zuerst müssen wir Ollama im Colab-Notebook installieren:

Dann exportieren wir das feinabgestimmte Modell in die GGUF-Formate von llama.cpp wie unten:

Erinnerung, zu konvertieren Falsch zu Wahr für 1 Zeile, und nicht jede Zeile in Wahr, sonst warten Sie sehr lange! Normalerweise empfehlen wir, die erste Zeile auf Wahrsetzen, damit wir das feinabgestimmte Modell schnell nach Q8_0 Format (8-Bit-Quantisierung). Wir erlauben Ihnen auch, in eine ganze Liste von Quantisierungsmethoden zu exportieren, wobei eine beliebte Methode q4_k_m.

Besuchen Sie https://github.com/ggerganov/llama.cpparrow-up-right um mehr über GGUF zu erfahren. Wir haben auch einige Anleitungen, wie man manuell nach GGUF exportiert, falls Sie hier nachlesen möchten: https://github.com/unslothai/unsloth/wiki#manually-saving-to-ggufarrow-up-right

Sie werden eine lange Liste von Text wie unten sehen - bitte warten Sie 5 bis 10 Minuten!!

Und schließlich sieht es ganz am Ende so aus:

Dann müssen wir Ollama selbst im Hintergrund ausführen. Wir verwenden subprocess weil Colab asynchrone Aufrufe nicht mag, aber normalerweise führt man einfach ollama serve im Terminal / in der Eingabeaufforderung aus.

Automatisch Modell-Datei Erstellung

Der Trick, den Unsloth bietet, ist, dass wir automatisch eine Modell-Datei erstellen, die Ollama benötigt! Dies ist nur eine Liste von Einstellungen und enthält die Chat-Vorlage, die wir für den Fine-Tuning-Prozess verwendet haben! Sie können auch das Modell-Datei wie unten generiert ausgeben:

Dann bitten wir Ollama, ein Modell zu erstellen, das mit Ollama kompatibel ist, indem wir die Modell-Datei

Ollama Inference

Und wir können das Modell jetzt für Inferenz aufrufen, wenn Sie den Ollama-Server selbst auf Ihrem eigenen Rechner / im kostenlosen Colab-Notebook im Hintergrund laufen lassen möchten. Denken Sie daran, dass Sie den gelb unterstrichenen Teil bearbeiten können.

Das Ausführen in Unsloth funktioniert gut, aber nach dem Export & Ausführen auf Ollama sind die Ergebnisse schlecht

Sie könnten manchmal auf ein Problem stoßen, bei dem Ihr Modell in Unsloth gut läuft und gute Ergebnisse liefert, aber wenn Sie es auf einer anderen Plattform wie Ollama verwenden, die Ergebnisse schlecht sind oder Sie Kauderwelsch, endlose/unendliche Generierungen erhalten oder wiederholte Ausgaben.

  • Die häufigste Ursache für diesen Fehler ist die Verwendung einer inkorrekten Chat-Vorlage. Es ist entscheidend, dieselbe Chat-Vorlage zu verwenden, die beim Training des Modells in Unsloth verwendet wurde und später, wenn Sie es in einem anderen Framework wie llama.cpp oder Ollama ausführen. Beim Inferencing aus einem gespeicherten Modell ist es wichtig, die korrekte Vorlage anzuwenden.

  • Sie müssen das richtige eos-Token. Wenn nicht, erhalten Sie möglicherweise bei längeren Generierungen Kauderwelsch.

  • Es kann auch daran liegen, dass Ihre Inferenz-Engine ein unnötiges "Start der Sequenz"-Token hinzufügt (oder im Gegenteil dessen Fehlen), also prüfen Sie bitte beide Hypothesen!

  • Verwenden Sie unsere konversationellen Notebooks, um die Chat-Vorlage zu erzwingen - das behebt die meisten Probleme.

Zuletzt aktualisiert

War das hilfreich?