For the complete documentation index, see llms.txt. This page is also available as Markdown.

Modelle in Ollama speichern

Siehe unten in unserem Leitfaden den vollständigen Ablauf, wie man Modelle speichert in Ollama:

🦙Tutorial: Finetune Llama-3 and Use In Ollama

Speichern auf Google Colab

Sie können das feinabgestimmte Modell als kleine 100-MB-Datei speichern, genannt LoRA-Adapter, wie unten gezeigt. Stattdessen können Sie es auch auf den Hugging-Face-Hub pushen, wenn Sie Ihr Modell hochladen möchten! Denken Sie daran, sich einen Hugging-Face-Token zu holen über: https://huggingface.co/settings/tokens und fügen Sie Ihren Token hinzu!

Nach dem Speichern des Modells können wir Unsloth erneut verwenden, um das Modell selbst auszuführen! Verwenden Sie FastLanguageModel erneut, um es für die Inferenz aufzurufen!

Export nach Ollama

Schließlich können wir unser feinabgestimmtes Modell direkt 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 gezeigt:

Erinnerung zum Umstellen von False auf True für 1 Zeile, und nicht jede Zeile auf True, sonst werden Sie sehr lange warten! Wir empfehlen normalerweise, die erste Zeile auf True, damit wir das feinabgestimmte Modell schnell in das Q8_0 Format (8-Bit-Quantisierung) exportieren können. Wir ermöglichen Ihnen auch den Export in eine ganze Liste von Quantisierungsmethoden, wobei eine beliebte q4_k_m.

Gehen Sie zu https://github.com/ggml-org/llama.cpp um mehr über GGUF zu erfahren. Wir haben hier auch einige manuelle Anweisungen, wie Sie bei Bedarf nach GGUF exportieren können: https://github.com/unslothai/unsloth/wiki#manually-saving-to-gguf

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

Und schließlich wird es ganz am Ende so aussehen wie unten:

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.

Automatische Modelfile Erstellung

Der Trick, den Unsloth bietet, ist, dass wir automatisch eine Modelfile erstellen, die Ollama benötigt! Dies ist einfach eine Liste von Einstellungen und enthält die Chat-Vorlage, die wir für den Feinabstimmungsprozess verwendet haben! Sie können auch die Modelfile wie unten gezeigt ausgeben:

Dann bitten wir Ollama, ein mit Ollama kompatibles Modell zu erstellen, indem wir die Modelfile

Ollama Inferenz

Und jetzt können wir das Modell bei Bedarf für die Inferenz aufrufen, also Ollama selbst ansprechen, das auf Ihrem eigenen lokalen Rechner / im kostenlosen Colab-Notebook im Hintergrund läuft. Denken Sie daran, dass Sie den gelb unterstrichenen Teil bearbeiten können.

Die Ausführung in Unsloth funktioniert gut, aber nach dem Export und der Ausführung in Ollama sind die Ergebnisse schlecht

Es kann manchmal vorkommen, dass Ihr Modell in Unsloth ausgeführt wird und gute Ergebnisse liefert, aber wenn Sie es auf einer anderen Plattform wie Ollama verwenden, sind die Ergebnisse schlecht oder Sie erhalten Kauderwelsch, endlose/unendliche Generierungen oder wiederholte Ausgaben.

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

  • Sie müssen das richtige eos-Token. Wenn nicht, kann es bei längeren Generierungen zu Kauderwelsch kommen.

  • Es kann auch daran liegen, dass Ihre Inferenz-Engine ein unnötiges "Start-of-Sequence"-Token hinzufügt (oder umgekehrt daran, dass es fehlt), also prüfen Sie sicherheitshalber beide Hypothesen!

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

Zuletzt aktualisiert

War das hilfreich?