> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/de/modelle/gpt-oss-how-to-run-and-fine-tune.md).

# gpt-oss: Leitfaden zum Ausführen

Führe OpenAIs neue Open-Source-Modelle aus und feinabstimme sie!

OpenAI veröffentlicht '**gpt-oss-120b'** und '**gpt-oss-20b'**, zwei SOTA-Open-Source-Sprachmodelle unter der Apache-2.0-Lizenz. Beide 128k-Kontextmodelle übertreffen ähnlich große Open-Modelle bei Schlussfolgern, Tool-Nutzung und agentischen Aufgaben. Sie können sie jetzt lokal mit Unsloth ausführen und feinabstimmen!

<a href="#run-gpt-oss-20b" class="button secondary">Führe gpt-oss-20b aus</a><a href="#run-gpt-oss-120b" class="button secondary">Führe gpt-oss-120b aus</a><a href="#fine-tuning-gpt-oss-with-unsloth" class="button primary">gpt-oss feinabstimmen</a>

> [**Feinabstimmen**](#fine-tuning-gpt-oss-with-unsloth) **gpt-oss-20b kostenlos mit unserem** [**Colab-Notebook**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/gpt-oss-\(20B\)-Fine-tuning.ipynb)

Trainiert mit [RL](/docs/de/loslegen/reinforcement-learning-rl-guide.md), **gpt-oss-120b** konkurriert mit o4-mini und **gpt-oss-20b** konkurriert mit o3-mini. Beide glänzen beim Funktionsaufruf und CoT-Schlussfolgern und übertreffen o1 und GPT-4o.

Für die beste Leistung stellen Sie sicher, dass Ihr gesamter verfügbarer Speicher (vereinheitlichter Speicher + VRAM + Systemspeicher) die Größe der quantisierten Modelldatei übersteigt, die Sie herunterladen. Wenn das nicht der Fall ist, kann llama.cpp weiterhin per SSD/HDD-Auslagerung ausgeführt werden, aber die Inferenz wird langsamer sein.

#### **gpt-oss - Unsloth GGUFs:**

{% hint style="success" %}
**Enthält Unsloths** [**Chat-Template-Fixes**](#unsloth-fixes-for-gpt-oss)**. Für beste Ergebnisse verwenden Sie unsere Uploads und trainieren Sie mit Unsloth!**
{% endhint %}

* 20B: [gpt-oss-**20B**](https://huggingface.co/unsloth/gpt-oss-20b-GGUF)
* 120B: [gpt-oss-**120B**](https://huggingface.co/unsloth/gpt-oss-120b-GGUF)

## :scroll:Unsloth-Korrekturen für gpt-oss

{% hint style="info" %}
Einige unserer Korrekturen wurden upstream in OpenAIs offizielles Modell auf Hugging Face übernommen. [Siehe](https://huggingface.co/openai/gpt-oss-20b/discussions/94/files)
{% endhint %}

OpenAI hat eine eigenständige Parsing- und Tokenisierungsbibliothek namens veröffentlicht [Harmony](https://github.com/openai/harmony) die es ermöglicht, Konversationen in OpenAIs bevorzugtes Format für gpt-oss zu tokenisieren.

Inference-Engines verwenden in der Regel stattdessen die jinja-Chat-Vorlage und nicht das Harmony-Paket, und wir haben einige Probleme damit gefunden, nachdem wir direkt mit Harmony verglichen haben. Wie Sie unten sehen, ist der obere Teil die korrekte gerenderte Form wie von Harmony. Der unten ist die von der aktuellen jinja-Chat-Vorlage gerenderte Form. Es gibt einige Unterschiede!

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-9b377044965ac55a125d6c703ec1c50555157266%2FScreenshot%202025-08-08%20at%2008-19-49%20Untitled151.ipynb%20-%20Colab.png?alt=media" alt="" width="563"><figcaption></figcaption></figure></div>

Wir haben auch einige Funktionen erstellt, mit denen Sie OpenAIs Harmony-Bibliothek direkt verwenden können, ohne eine jinja-Chat-Vorlage, wenn Sie möchten - Sie können einfach normale Konversationen wie unten parsen:

```python
messages = [
    {"role" : "user", "content" : "What is 1+1?"},
    {"role" : "assistant", "content" : "2"},
    {"role": "user",  "content": "Wie ist die Temperatur in San Francisco jetzt? Und morgen? Das heutige Datum ist 2024-09-30."},
    {"role": "assistant",  "content": "Der Nutzer fragt: 'Wie ist das Wetter in San Francisco?' Wir müssen das Tool get_current_temperature verwenden.", "thinking" : ""},
    {"role": "assistant", "content": "", "tool_calls": [{"name": "get_current_temperature", "arguments": '{"location": "San Francisco, California, United States", "unit": "celsius"}'}]},
    {"role": "tool", "name": "get_current_temperature", "content": '{"temperature": 19.9, "location": "San Francisco, California, United States", "unit": "celsius"}'},
]
```

Dann verwenden Sie die `encode_conversations_with_harmony` Funktion von Unsloth:

```python
from unsloth_zoo import encode_conversations_with_harmony

def encode_conversations_with_harmony(
    messages,
    reasoning_effort = "medium",
    add_generation_prompt = True,
    tool_calls = None,
    developer_instructions = None,
    model_identity = "Du bist ChatGPT, ein großes Sprachmodell, trainiert von OpenAI.",
)
```

Das Harmony-Format enthält mehrere interessante Dinge:

1. `reasoning_effort = "mittel"` Sie können niedrig, mittel oder hoch wählen, und das ändert gpt-oss' Schlussfolgerungsbudget - im Allgemeinen gilt: Je höher, desto besser die Genauigkeit des Modells.
2. `developer_instructions` ist wie ein System-Prompt, den Sie hinzufügen können.
3. `model_identity` lässt man am besten unverändert - Sie können es bearbeiten, aber wir sind uns nicht sicher, ob benutzerdefinierte funktionieren.

Wir finden mehrere Probleme mit aktuellen jinja-Chat-Vorlagen (es gibt mehrere Implementierungen im Ökosystem):

1. Funktions- und Tool-Aufrufe werden gerendert mit `tojson`, was in Ordnung ist, wenn es ein Dict ist, aber wenn es ein String ist, werden Anführungszeichen und andere **Symbole mit Backslashes versehen**.
2. Es gibt einige **zusätzliche Zeilenumbrüche** in der jinja-Vorlage an einigen Grenzen.
3. Die Gedanken des Modells beim Tool-Aufruf sollten das **`analysis` -Tag und nicht das `final` -Tag haben**.
4. Andere Chat-Vorlagen scheinen `<|channel|>final` überhaupt nicht zu nutzen - man sollte dies für die endgültige Assistentennachricht verwenden. Sie sollten dies nicht für Denkspuren oder Tool-Aufrufe verwenden.

Unsere Chat-Vorlagen für das GGUF, unsere BnB- und BF16-Uploads sowie alle Versionen sind korrigiert! Wenn wir beispielsweise unsere und das Harmony-Format vergleichen, erhalten wir keine unterschiedlichen Zeichen:

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-4c42f3d83194ea2fbe436670a550e1b6f148f4cd%2FScreenshot%202025-08-08%20at%2008-20-00%20Untitled151.ipynb%20-%20Colab.png?alt=media" alt="" width="563"><figcaption></figcaption></figure></div>

### :1234: Genauigkeitsprobleme

Wir fanden mehrere Genauigkeitsprobleme auf Tesla-T4- und float16-Maschinen, hauptsächlich weil das Modell mit BF16 trainiert wurde und daher Ausreißer und Überläufe vorhanden waren. MXFP4 wird auf Ampere- und älteren GPUs tatsächlich nicht unterstützt, daher stellt Triton `tl.dot_scaled` für die MXFP4-Matrixmultiplikation bereit. Es wandelt die Matrizen intern im laufenden Betrieb in BF16 hoch.

Wir haben auch ein [MXFP4-Inferenz-Notebook](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/GPT_OSS_MXFP4_\(20B\)-Inference.ipynb) für Tesla-T4-Colab erstellt!

{% hint style="info" %}
[Softwareemulation](https://triton-lang.org/main/python-api/generated/triton.language.dot_scaled.html) ermöglicht das Ansprechen von Hardwarearchitekturen ohne native Unterstützung für Microscaling-Operationen. Derzeit werden in so einem Fall microskalierte lhs/rhs vorab zu `bf16` Elementtyp hochgestuft für die Dot-Berechnung,
{% endhint %}

Wir haben festgestellt, dass Sie bei Verwendung von float16 als gemischten Präzisions-Autocast-Datentyp nach einiger Zeit Unendlichkeiten erhalten. Um dem entgegenzuwirken, haben wir festgestellt, dass man das MoE in bfloat16 durchführen und es dann entweder in bfloat16- oder float32-Präzision belassen sollte. Wenn ältere GPUs nicht einmal bfloat16-Unterstützung haben (wie T4), wird float32 verwendet.

Wir ändern außerdem alle Präzisionen von Operationen (wie den Router) für float16-Maschinen auf float32.

## 🖥️ **Ausführen von gpt-oss**

Nachfolgend finden Sie Anleitungen für die [20B](#run-gpt-oss-20b) und [120B](#run-gpt-oss-120b) Varianten des Modells.

{% hint style="info" %}
Jede Quantisierung kleiner als F16, einschließlich 2-Bit, hat nur minimalen Genauigkeitsverlust, da nur einige Teile (z. B. Attention-Schichten) in geringerer Bitbreite vorliegen, während der Großteil in voller Präzision bleibt. Deshalb liegen die Größen nahe am F16-Modell; zum Beispiel verhält sich die 2-Bit-Variante (11,5 GB) nahezu gleich wie die vollständige 16-Bit-Variante (14 GB). Sobald llama.cpp eine bessere Quantisierung für diese Modelle unterstützt, laden wir sie so schnell wie möglich hoch.
{% endhint %}

Der `gpt-oss` OpenAI-Modelle enthalten eine Funktion, mit der Benutzer den „Schlussfolgerungsaufwand“ des Modells anpassen können. So haben Sie Kontrolle über den Kompromiss zwischen der Leistung des Modells und seiner Antwortgeschwindigkeit (Latenz), die von der Anzahl der Tokens abhängt, die das Modell zum Nachdenken verwendet.

Der `gpt-oss` Modelle bieten drei unterschiedliche Stufen des Schlussfolgerungsaufwands, aus denen Sie wählen können:

* **Niedrig**: Optimiert für Aufgaben, die sehr schnelle Antworten erfordern und kein komplexes, mehrstufiges Schlussfolgern benötigen.
* **Mittel**: Ein Gleichgewicht zwischen Leistung und Geschwindigkeit.
* **High**: Bietet die stärkste Schlussfolgerungsleistung für Aufgaben, die sie erfordern, führt jedoch zu höherer Latenz.

### :gear: Empfohlene Einstellungen

OpenAI empfiehlt diese Inference-Einstellungen für beide Modelle:

`temperature=1.0`, `top_p=1.0`, `top_k=0`

* <mark style="background-color:green;">**Temperatur von 1.0**</mark>
* Top\_K = 0 (oder mit 100 experimentieren für möglicherweise bessere Ergebnisse)
* Top\_P = 1.0
* Empfohlener Mindestkontext: 16.384
* Maximale Kontextfensterlänge: 131.072

**Chat-Vorlage:**

```
<|start|>system<|message|>Du bist ChatGPT, ein großes Sprachmodell, trainiert von OpenAI.\nWissensstand: 2024-06\nAktuelles Datum: 2025-08-05\n\nSchlussfolgerung: mittel\n\n# Gültige Kanäle: analysis, commentary, final. Der Kanal muss bei jeder Nachricht enthalten sein.<|end|><|start|>user<|message|>Hallo<|end|><|start|>assistant<|channel|>final<|message|>Hallo!<|end|><|start|>user<|message|>Was ist 1+1?<|end|><|start|>assistant
```

Das End-of-Sentence-/Generierungstoken: EOS ist `<|return|>`

### Führe gpt-oss-20B aus

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-920b641670a166258845bbe8152999983b1e68af%2Fgpt-oss-20b.svg?alt=media" alt=""><figcaption></figcaption></figure>

Um Inferenzgeschwindigkeiten von über 6 Tokens pro Sekunde für unsere dynamische 4-Bit-Quantisierung zu erreichen, sollten Sie mindestens **14 GB einheitlichen Speicher** (kombinierte VRAM und RAM) oder **14 GB Systemspeicher** allein haben. Als Faustregel sollte Ihr verfügbarer Speicher der Größe des verwendeten Modells entsprechen oder größer sein. GGUF-Link: [unsloth/gpt-oss-20b-GGUF](https://huggingface.co/unsloth/gpt-oss-20b-GGUF)

**HINWEIS:** Das Modell kann mit weniger Speicher als seiner Gesamtgröße ausgeführt werden, aber das verlangsamt die Inferenz. Maximaler Speicher wird nur für die schnellsten Geschwindigkeiten benötigt.

{% hint style="info" %}
Befolgen Sie die [**oben genannten Best Practices**](#recommended-settings). Sie sind dieselben wie beim 120B-Modell.
{% endhint %}

Sie können das Modell vorerst auf Google Colab, Docker, LM Studio oder llama.cpp ausführen. Siehe unten:

> **Sie können gpt-oss-20b kostenlos mit unserem** [**Google-Colab-Notebook**](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/GPT_OSS_MXFP4_\(20B\)-Inference.ipynb)

#### 🦥 Unsloth Studio-Leitfaden

Für dieses Tutorial verwenden wir [Unsloth Studio](/docs/de/neu/studio.md), unsere neue Web-UI zum Ausführen und Trainieren von LLMs. Mit Unsloth Studio können Sie Modelle lokal auf **Mac, Windows**, und Linux sowie:

{% columns %}
{% column %}

* Suchen, herunterladen, [GGUFs ausführen](/docs/de/neu/studio.md#run-models-locally) und Safetensor-Modelle
* **Vergleichen** Modelle **nebeneinander**
* [**Selbstheilend** Tool-Aufrufe](/docs/de/neu/studio.md#execute-code--heal-tool-calling) + **Websuche**
* [**Codeausführung**](/docs/de/neu/studio.md#run-models-locally) (Python, Bash)
* [Automatische Inferenz](https://unsloth.ai/docs/desktop#feature-deep-dive) Abstimmung der Parameter (Temp., Top-p usw.)
* [LLMs trainieren](/docs/de/neu/studio.md#no-code-training) 2x schneller mit 70 % weniger VRAM
  {% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FFeQ0UUlnjXkDdqhcWglh%2Fskinny%20studio%20chat.png?alt=media&amp;token=c2ee045f-c243-4024-a8e4-bb4dbe7bae79" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

{% stepper %}
{% step %}

#### Unsloth installieren

Führen Sie dies in Ihrem Terminal aus:

**macOS, Linux, WSL:**

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

**Windows PowerShell:**

```bash
irm https://unsloth.ai/install.ps1 | iex
```

{% endstep %}

{% step %}

#### Unsloth starten

**MacOS, Linux, WSL, Windows:**

```bash
unsloth studio -H 0.0.0.0 -p 8888
```

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fd1yMMNa65Ccz50Ke0E7r%2FScreenshot%202026-03-17%20at%2012.32.38%E2%80%AFAM.png?alt=media&amp;token=9369cfe7-35b1-4955-b8cb-42f7ecb43780" alt="" width="375"><figcaption></figcaption></figure></div>

**Dann öffnen Sie `http://localhost:8888` in Ihrem Browser.**
{% endstep %}

{% step %}

#### gpt-oss-20b suchen und herunterladen

Beim ersten Start musst du ein Passwort erstellen, um dein Konto zu sichern, und dich später erneut anmelden. Dann siehst du einen kurzen Einrichtungsassistenten, um ein Modell, einen Datensatz und grundlegende Einstellungen auszuwählen. Du kannst ihn jederzeit überspringen.

Gehen Sie dann zum [Unsloth Chat](/docs/de/neu/studio/chat.md) Registerkarte und suchen Sie in der Suchleiste nach gpt-oss, um Ihr gewünschtes Modell und Ihre gewünschte Quantisierung herunterzuladen.

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F24OqTOq1fYvW3oZ5WlNG%2FScreenshot%202026-03-20%20at%201.35.19%E2%80%AFAM.png?alt=media&amp;token=b1e463ee-33a2-4e77-b725-d715b03f5d28" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Führe gpt-oss-20b aus

Die Inferenzparameter sollten bei der Verwendung von Unsloth Studio automatisch gesetzt werden, Sie können sie jedoch weiterhin manuell ändern. Sie können auch die Kontextlänge, das Chat-Template und andere Einstellungen bearbeiten.

Für weitere Informationen können Sie unseren [Inferenzleitfaden für Unsloth Studio](/docs/de/neu/studio/chat.md).

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FXPQGEEr1YoKofrTatAKK%2Ftoolcallingif.gif?alt=media&amp;token=25d68698-fb13-4c46-99b2-d39fb025df08" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

#### 🐋 Docker: Anleitung zum Ausführen von gpt-oss-20b

Wenn Sie bereits Docker Desktop haben, müssen Sie nur den unten stehenden Befehl ausführen und sind fertig:

```bash
docker model run hf.co/unsloth/gpt-oss-20b-GGUF:F16
```

#### :sparkles: Llama.cpp: Anleitung zum Ausführen von gpt-oss-20b

1. Holen Sie sich die neueste `llama.cpp` auf [hier auf GitHub](https://github.com/ggml-org/llama.cpp). Sie können auch die folgenden Build-Anweisungen befolgen. Ändern Sie `-DGGML_CUDA=ON` zu `-DGGML_CUDA=OFF` wenn Sie keine GPU haben oder nur CPU-Inferenz möchten. **Für Apple-Mac-/Metal-Geräte**, setzen Sie `-DGGML_CUDA=OFF` und fahren Sie dann wie gewohnt fort – Metal-Unterstützung ist standardmäßig aktiviert.

```bash
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \\
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
```

2. Sie können direkt von Hugging Face abrufen über:

   ```bash
   ./llama.cpp/llama-cli \\
       -hf unsloth/gpt-oss-20b-GGUF:F16 \\
       --jinja -ngl 99 --ctx-size 16384 \\
       --temp 1.0 --top-p 1.0 --top-k 0
   ```
3. Lade das Modell über (nach der Installation von `pip install huggingface_hub hf_transfer` ). Wenn Downloads hängen bleiben, siehe [Hugging Face Hub, XET-Debugging](/docs/de/grundlagen/troubleshooting-and-faqs/hugging-face-hub-xet-debugging.md)

```python
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1"
from huggingface_hub import snapshot_download
snapshot_download(
    repo_id = "unsloth/gpt-oss-20b-GGUF",
    local_dir = "unsloth/gpt-oss-20b-GGUF",
    allow_patterns = ["*F16*"],
)
```

### Führe gpt-oss-120b aus:

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-4f6fc3b98363be32b7c7cf07c713947cb1bd9444%2Fgpt-oss-120b.svg?alt=media" alt=""><figcaption></figcaption></figure>

Um Inferenzgeschwindigkeiten von über 6 Tokens pro Sekunde für unsere 1-Bit-Quantisierung zu erreichen, empfehlen wir mindestens **66 GB einheitlichen Speicher** (kombinierte VRAM und RAM) oder **66 GB Systemspeicher** allein haben. Als Faustregel sollte Ihr verfügbarer Speicher der Größe des verwendeten Modells entsprechen oder größer sein. GGUF-Link: [unsloth/gpt-oss-120b-GGUF](https://huggingface.co/unsloth/gpt-oss-120b-GGUF)

**HINWEIS:** Das Modell kann mit weniger Speicher als seiner Gesamtgröße ausgeführt werden, aber das verlangsamt die Inferenz. Maximaler Speicher wird nur für die schnellsten Geschwindigkeiten benötigt.

{% hint style="info" %}
Befolgen Sie die [**oben genannten Best Practices**](#recommended-settings). Sie sind dieselben wie beim 20B-Modell.
{% endhint %}

#### 🦥 Unsloth Studio-Leitfaden

Für dieses Tutorial verwenden wir [Unsloth Studio](/docs/de/neu/studio.md), unsere neue Web-UI zum Ausführen und Trainieren von LLMs. Mit Unsloth Studio können Sie Modelle lokal auf **Mac, Windows**, und Linux sowie:

{% columns %}
{% column %}

* Suchen, herunterladen, [GGUFs ausführen](/docs/de/neu/studio.md#run-models-locally) und Safetensor-Modelle
* **Vergleichen** Modelle **nebeneinander**
* [**Selbstheilend** Tool-Aufrufe](/docs/de/neu/studio.md#execute-code--heal-tool-calling) + **Websuche**
* [**Codeausführung**](/docs/de/neu/studio.md#run-models-locally) (Python, Bash)
* [Automatische Inferenz](https://unsloth.ai/docs/desktop#feature-deep-dive) Abstimmung der Parameter (Temp., Top-p usw.)
* [LLMs trainieren](/docs/de/neu/studio.md#no-code-training) 2x schneller mit 70 % weniger VRAM
  {% endcolumn %}

{% column %}

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FFeQ0UUlnjXkDdqhcWglh%2Fskinny%20studio%20chat.png?alt=media&amp;token=c2ee045f-c243-4024-a8e4-bb4dbe7bae79" alt=""><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

{% stepper %}
{% step %}

#### Unsloth installieren

**macOS, Linux, WSL:**

```bash
curl -fsSL https://unsloth.ai/install.sh | sh
```

**Windows PowerShell:**

```bash
irm https://unsloth.ai/install.ps1 | iex
```

{% endstep %}

{% step %}

#### Unsloth Studio einrichten (einmalig)

Die Einrichtung installiert automatisch Node.js (über nvm), baut das Frontend, installiert alle Python-Abhängigkeiten und baut llama.cpp mit CUDA-Unterstützung.

{% hint style="info" %}
**Für WSL-Nutzer:** Sie werden zur Eingabe Ihres `sudo` Passworts aufgefordert, um Build-Abhängigkeiten zu installieren (`cmake`, `git`, `libcurl4-openssl-dev`).
{% endhint %}
{% endstep %}

{% step %}

#### Unsloth starten

**macOS, Linux, WSL:**

```bash
source unsloth_studio/bin/activate
unsloth studio -H 0.0.0.0 -p 8888
```

**Windows PowerShell:**

```bash
& .\unsloth_studio\Scripts\unsloth.exe studio -H 0.0.0.0 -p 8888
```

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fd1yMMNa65Ccz50Ke0E7r%2FScreenshot%202026-03-17%20at%2012.32.38%E2%80%AFAM.png?alt=media&amp;token=9369cfe7-35b1-4955-b8cb-42f7ecb43780" alt="" width="375"><figcaption></figcaption></figure></div>

**Dann öffnen Sie `http://localhost:8888` in Ihrem Browser.**
{% endstep %}

{% step %}

#### gpt-oss-120b suchen und herunterladen

Beim ersten Start musst du ein Passwort erstellen, um dein Konto zu sichern, und dich später erneut anmelden. Dann siehst du einen kurzen Einrichtungsassistenten, um ein Modell, einen Datensatz und grundlegende Einstellungen auszuwählen. Du kannst ihn jederzeit überspringen.

Gehen Sie dann zum [Unsloth Chat](/docs/de/neu/studio/chat.md) Registerkarte und suchen Sie in der Suchleiste nach gpt-oss, um Ihr gewünschtes Modell und Ihre gewünschte Quantisierung herunterzuladen.

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FgKxB8OhIRVgT29vCGFEg%2FScreenshot%202026-03-20%20at%201.34.07%E2%80%AFAM.png?alt=media&amp;token=9950d667-4ff1-463e-b017-601d5e8e38a5" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

#### Führe gpt-oss-120b aus

Die Inferenzparameter sollten bei der Verwendung von Unsloth Studio automatisch gesetzt werden, Sie können sie jedoch weiterhin manuell ändern. Sie können auch die Kontextlänge, das Chat-Template und andere Einstellungen bearbeiten.

Für weitere Informationen können Sie unseren [Inferenzleitfaden für Unsloth Studio](/docs/de/neu/studio/chat.md).

<div data-with-frame="true"><figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FXPQGEEr1YoKofrTatAKK%2Ftoolcallingif.gif?alt=media&amp;token=25d68698-fb13-4c46-99b2-d39fb025df08" alt="" width="563"><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

#### 📖 Llama.cpp: Anleitung zum Ausführen von gpt-oss-120b

Für gpt-oss-120b werden wir speziell Llama.cpp für optimierte Inferenz verwenden.

{% hint style="success" %}
Wenn Sie eine **vollständige unquantisierte Version in voller Präzision**, verwenden Sie unsere `F16` Versionen!
{% endhint %}

1. Holen Sie sich die neueste `llama.cpp` auf [hier auf GitHub](https://github.com/ggml-org/llama.cpp). Sie können auch die folgenden Build-Anweisungen befolgen. Ändern Sie `-DGGML_CUDA=ON` zu `-DGGML_CUDA=OFF` wenn Sie keine GPU haben oder nur CPU-Inferenz möchten.

   ```bash
   apt-get update
   apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
   git clone https://github.com/ggml-org/llama.cpp
   cmake llama.cpp -B llama.cpp/build \\
       -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
   cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-gguf-split
   cp llama.cpp/build/bin/llama-* llama.cpp
   ```
2. Sie können llama.cpp direkt verwenden, um das Modell herunterzuladen, aber ich empfehle normalerweise `huggingface_hub` Um llama.cpp direkt zu verwenden, gehen Sie so vor:

   ```bash
   ./llama.cpp/llama-cli \\
       -hf unsloth/gpt-oss-120b-GGUF:F16 \\
       --ctx-size 16384 \\
       --n-gpu-layers 99 \\
       -ot ".ffn_.*_exps.=CPU" \\
       --temp 1.0 \\
       --min-p 0.0 \\
       --top-p 1.0 \\
       --top-k 0 \
   ```
3. Oder laden Sie das Modell über (nach der Installation von `pip install huggingface_hub hf_transfer` ). Ihr könnt UD-Q2\_K\_XL oder andere quantisierte Versionen wählen..

   ```python
   # !pip install huggingface_hub hf_transfer
   import os
   os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0" # Kann manchmal zu Rate-Limits führen, daher auf 0 setzen, um zu deaktivieren
   from huggingface_hub import snapshot_download
   snapshot_download(
       repo_id = "unsloth/gpt-oss-120b-GGUF",
       local_dir = "unsloth/gpt-oss-120b-GGUF",
       allow_patterns = ["*F16*"],
   )
   ```
4. Führen Sie das Modell im Konversationsmodus aus und probieren Sie irgendeine Eingabeaufforderung aus.
5. Bearbeiten `--threads -1` für die Anzahl der CPU-Threads, `--ctx-size` 262114 für die Kontextlänge, `--n-gpu-layers 99` für GPU-Offloading auf wie viele Layer. Versuche, ihn anzupassen, wenn deiner GPU der Speicher ausgeht. Entferne ihn auch, wenn du nur CPU-Inferenz hast.

{% hint style="success" %}
Verwenden Sie `-ot ".ffn_.*_exps.=CPU"` um alle MoE-Schichten auf die CPU auszulagern! Dadurch können Sie effektiv alle Nicht-MoE-Schichten auf 1 GPU unterbringen und die Generierungsgeschwindigkeit verbessern. Sie können den Regex-Ausdruck anpassen, um mehr Schichten auszulagern, wenn Sie mehr GPU-Kapazität haben. Weitere Optionen werden [hier](#improving-generation-speed).
{% endhint %}

{% code overflow="wrap" %}

```bash
./llama.cpp/llama-cli \\
    --model unsloth/gpt-oss-120b-GGUF/gpt-oss-120b-F16.gguf \\
    --ctx-size 16384 \\
    --n-gpu-layers 99 \\
    -ot ".ffn_.*_exps.=CPU" \\
    --temp 1.0 \\
    --min-p 0.0 \\
    --top-p 1.0 \\
    --top-k 0 \
```

{% endcode %}

### :tools: Die Generierungsgeschwindigkeit verbessern

Wenn Sie mehr VRAM haben, können Sie versuchen, mehr MoE-Layer oder ganze Layer selbst auszulagern.

Normalerweise `-ot ".ffn_.*_exps.=CPU"` lagert alle MoE-Layer auf die CPU aus! Dadurch können Sie effektiv alle Nicht-MoE-Layer auf 1 GPU unterbringen, was die Generierungsgeschwindigkeit verbessert. Sie können den Regex-Ausdruck anpassen, um mehr Layer unterzubringen, wenn Sie mehr GPU-Kapazität haben.

Wenn Sie etwas mehr GPU-Speicher haben, versuchen Sie `-ot ".ffn_(up|down)_exps.=CPU"` Dadurch werden Up- und Down-Projektions-MoE-Layer ausgelagert.

Versuchen Sie `-ot ".ffn_(up)_exps.=CPU"` wenn Sie noch mehr GPU-Speicher haben. Dadurch werden nur Up-Projektions-MoE-Layer ausgelagert.

Sie können den Regex auch anpassen, zum Beispiel `-ot "\.(6|7|8|9|[0-9][0-9]|[0-9][0-9][0-9])\.ffn_(gate|up|down)_exps.=CPU"` bedeutet, Gate-, Up- und Down-MoE-Layer auszulagern, aber nur ab dem 6. Layer aufwärts.

Der [neueste llama.cpp-Version](https://github.com/ggml-org/llama.cpp/pull/14363) führt außerdem den High-Throughput-Modus ein. Verwenden Sie `llama-parallel`. Lesen Sie mehr darüber [hier](https://github.com/ggml-org/llama.cpp/tree/master/examples/parallel). Sie können auch **den KV-Cache auf 4 Bit quantisieren** zum Beispiel, um VRAM-/RAM-Bewegungen zu reduzieren, was den Generierungsprozess ebenfalls beschleunigen kann.

## 🦥 Feinabstimmung von gpt-oss mit Unsloth

{% hint style="success" %}
[**Update vom 28. Aug.**](/docs/de/modelle/gpt-oss-how-to-run-and-fine-tune/long-context-gpt-oss-training.md#new-saving-to-gguf-vllm-after-gpt-oss-training)**:** Du kannst dein mit QLoRA feinabgestimmtes gpt-oss-Modell jetzt nach llama.cpp, vLLM, HF usw. exportieren/speichern.

Außerdem haben wir [Unsloth Flex Attention](/docs/de/modelle/gpt-oss-how-to-run-and-fine-tune/long-context-gpt-oss-training.md#introducing-unsloth-flex-attention-support) eingeführt, was **>8× längere Kontextlängen**, **>50 % weniger VRAM-Nutzung** und **>1,5× schnelleres Training** gegenüber allen Implementierungen ermöglicht. [Lesen Sie hier mehr](/docs/de/modelle/gpt-oss-how-to-run-and-fine-tune/long-context-gpt-oss-training.md#introducing-unsloth-flex-attention-support)
{% endhint %}

Die gpt-oss-Feinabstimmung mit Unsloth ist 1,5x schneller, nutzt 70 % weniger VRAM und unterstützt 10x längere Kontextlängen. Das QLoRA-Training von gpt-oss-20b passt auf 14 GB VRAM, und gpt-oss-120b funktioniert mit 65 GB VRAM.

* **QLoRA-Anforderungen:** gpt-oss-20b = 14 GB VRAM • gpt-oss-120b = 65 GB VRAM.
* **BF16-LoRA-Anforderungen:** gpt-oss-20b = 44 GB VRAM • gpt-oss-120b = 210 GB VRAM.

Lesen Sie unsere Schritt-für-Schritt-Anleitung zum Feinabstimmen von gpt-oss:

{% content-ref url="/pages/795c60e5aacc9878814ca680a7342a1f57e65aad" %}
[Tutorial: Wie man gpt-oss feinabstimmt](/docs/de/modelle/gpt-oss-how-to-run-and-fine-tune/tutorial-how-to-fine-tune-gpt-oss.md)
{% endcontent-ref %}

{% hint style="success" %}
Du kannst dein mit QLoRA feinabgestimmtes gpt-oss-Modell jetzt nach llama.cpp, vLLM, HF usw. exportieren/speichern.
{% endhint %}

Kostenlose Unsloth-Notebooks zum Feinabstimmen von gpt-oss:

* gpt-oss-20b [Notebook für Schlussfolgern + Konversation](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/gpt-oss-\(20B\)-Fine-tuning.ipynb)

### Bestärkendes Lernen (GRPO)

Unsloth unterstützt jetzt RL für gpt-oss! Wir haben zwei Notebooks erstellt; weitere Details finden Sie in unserem speziellen Blog zu gpt-oss-RL: [gpt-oss RL](/docs/de/modelle/gpt-oss-how-to-run-and-fine-tune/gpt-oss-reinforcement-learning.md)

| [2048-Notebook](https://colab.research.google.com/github/openai/gpt-oss/blob/main/examples/reinforcement-fine-tuning.ipynb) (Offizielles OpenAI-Beispiel) | [Notebook zur Kernel-Generierung](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/gpt-oss-\(20B\)-GRPO.ipynb) |
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |

### 💾**NEU: Speichern in GGUF, vLLM nach dem gpt-oss-Training**

Sie können gpt-oss jetzt mit QLoRA feinabstimmen und das Modell direkt speichern, exportieren oder zusammenführen in **llama.cpp**, **vLLM**, oder **HF** - nicht nur Unsloth. Wir werden hoffentlich bald ein kostenloses Notebook veröffentlichen.

Bisher war jedes mit QLoRA feinabgestimmte gpt-oss-Modell darauf beschränkt, in Unsloth ausgeführt zu werden. Wir haben diese Einschränkung entfernt, indem wir **On-Demand-Dekwantisierung von MXFP4** Basismodelle (wie gpt-oss) während des LoRA-Zusammenführungsprozesses. Dadurch ist es möglich, **dein feinabgestimmtes Modell im bf16-Format zu exportieren**.

Nach dem Feinabstimmen Ihres gpt-oss-Modells können Sie es jetzt mit einem **einzigen Befehl**:

```python
model.save_pretrained_merged(save_directory, tokenizer)
```

in ein 16-Bit-Format zusammenführen, wenn Sie es stattdessen lieber direkt auf den Hugging-Face-Hub pushen möchten, können Sie das mit folgendem Befehl tun:

```python
model.push_to_hub_merged(repo_name, tokenizer=tokenizer, token=hf_token)
```

### 💡Effizientes gpt-oss-Feinabstimmen möglich machen

Wir haben festgestellt, dass MXFP4 zwar sehr effizient ist, aber kein natives Training mit gpt-oss unterstützt. Um diese Einschränkung zu überwinden, haben wir benutzerdefinierte Trainingsfunktionen speziell für MXFP4-Schichten implementiert, indem wir es nachbilden über `Bitsandbytes` NF4-Quantisierung.

Wir haben OpenAIs Triton-Kernels-Bibliothek direkt verwendet, um MXFP4-Inferenz zu ermöglichen. Für Finetuning/Training unterstützen die MXFP4-Kernels jedoch das Training noch nicht, da der Backward-Pass noch nicht implementiert ist. Wir arbeiten aktiv an der Implementierung in Triton! Es gibt ein Flag namens `W_TRANSPOSE` wie erwähnt [hier](https://github.com/triton-lang/triton/blob/main/python/triton_kernels/triton_kernels/matmul_ogs_details/_matmul_ogs.py#L39), das implementiert werden sollte. Die Ableitung kann durch die Transponierung der Gewichtsmatrizen berechnet werden, daher müssen wir die Transponierungsoperation implementieren.

Wenn Sie gpt-oss mit einer anderen Bibliothek als Unsloth trainieren möchten, müssen Sie die Gewichte vor dem Training auf bf16 hochstufen. Dieser Ansatz, **erhöht jedoch erheblich** sowohl den VRAM-Verbrauch als auch die Trainingszeit um bis zu **300 % mehr Speicherverbrauch**! <mark style="background-color:green;">**ALLE anderen Trainingsmethoden erfordern mindestens 65 GB VRAM, um das 20B-Modell zu trainieren, während Unsloth nur 14 GB VRAM benötigt (-80%).**</mark>

Da beide Modelle eine MoE-Architektur verwenden, wählt das 20B-Modell 4 Experten aus 32 aus, während das 120B-Modell 4 von 128 pro Token auswählt. Während Training und Veröffentlichung werden Gewichte im MXFP4-Format als `nn.Parameter` Objekte gespeichert, nicht als `nn.Linear` Schichten, was die Quantisierung erschwert, insbesondere da die MoE/MLP-Experten etwa 19B der 20B-Parameter ausmachen.

Um `BitsandBytes` Quantisierung und speichereffizientes Feinabstimmen zu ermöglichen, haben wir diese Parameter in `nn.Linear` Schichten umgewandelt. Obwohl dies Operationen leicht verlangsamt, ermöglicht es das Feinabstimmen auf GPUs mit begrenztem Speicher, ein lohnender Kompromiss.

### Anleitung zum Feinabstimmen von Datensätzen

Obwohl gpt-oss nur Schlussfolgern unterstützt, können Sie es dennoch mit einem Nicht-Schlussfolgerungs- [Datensatz](/docs/de/loslegen/fine-tuning-llms-guide/datasets-guide.md), aber dies kann seine Schlussfolgerungsfähigkeit beeinträchtigen. Wenn Sie seine Schlussfolgerungsfähigkeiten beibehalten möchten (optional), können Sie eine Mischung aus direkten Antworten und Chain-of-Thought-Beispielen verwenden. Verwenden Sie mindestens <mark style="background-color:green;">75 % Reasoning</mark> und <mark style="background-color:green;">25 % Nicht-Reasoning</mark> in Ihrem Datensatz, damit das Modell seine Reasoning-Fähigkeiten beibehält.

Unser gpt-oss-20b-Konversationsnotebook verwendet OpenAIs Beispiel, das Hugging Faces Multilingual-Thinking-Datensatz ist. Der Zweck der Verwendung dieses Datensatzes besteht darin, dem Modell zu ermöglichen, Schlussfolgerungsfähigkeiten in diesen vier unterschiedlichen Sprachen zu erlernen und zu entwickeln.

<figure><img src="https://797013937-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fgit-blob-4d648159c0ba6d62d5c9b5cd519767f764e5faab%2Fwider%20gptoss%20image.png?alt=media" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://unsloth.ai/docs/de/modelle/gpt-oss-how-to-run-and-fine-tune.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
