Skip to main content
Dieser Schnellstart zeigt, wie Sie ein Decoder-LLM trainieren, wenn Ihre Anwendung Sampling, Rewards und Modellupdates steuern muss. Um einen GLiNER-Encoder mit einem verwalteten Config-Job feinabzustimmen, verwenden Sie den Encoder-Schnellstart.

1. Authentifizieren

  1. Erstellen Sie ein Fastino-Konto.
  2. Öffnen Sie API-Schlüssel.
  3. Erstellen Sie einen Schlüssel und kopieren Sie ihn, sobald er angezeigt wird.
Speichern Sie den Schlüssel in einer Umgebungsvariable:
Senden Sie diesen Schlüssel als X-API-Key: $FASTINO_API_KEY. Den vollständigen Authentifizierungsvertrag finden Sie unter Authentifizierung. Wählen Sie eine unterstützte Schnittstelle:
  • Native JSON-Clients rufen POST /v1/training/jobs/create-model auf, reihen Modelloperationen unter /v1/training/jobs/{job_id} ein und fragen jede zurückgegebene future_id ab, bis sie completed, failed oder cancelled ist.
  • Bestehende Tinker-Programme behalten tinker==0.32.0; die SDK-Einrichtung finden Sie unter Von Tinker migrieren.
Native Clients senden weder seq_id noch Heartbeats. Der Server weist die Operationsreihenfolge zu und hält die interne Sitzung aktiv. Ein Request mit wait=true wartet höchstens 25 Sekunden. Der Client muss eine nicht abgeschlossene Operation daher weiter abfragen. Informationen zu Rewards, wiederholten Rollouts und Wiederherstellung nach diesem Quickstart finden Sie unter Benutzerdefinierten Trainingsloop erstellen.

2. Client-Bibliotheken installieren

Sie benötigen Python 3.11 oder neuer. transformers liefert den Tokenizer des Modells; das Training selbst läuft auf Fastino.

3. Modell auswählen

LoRA-Ränge von 1 bis 32 werden unterstützt; der Standard ist 32.

4. Job erstellen

Die Antwort enthält eine job_id und die future_id des create-Futures des Jobs:
Jeder Aufruf, der Arbeit ausführt, gibt ein Future zurück. Lesen Sie es, bis status completed ist. Mit wait=true wartet die Anfrage bis zu 25 Sekunden:

5. Trainieren, speichern und samplen

Das folgende Skript führt den ganzen Loop aus: Es erstellt einen Job, führt drei Forward-Backward-Durchläufe und Optimiererschritte aus, speichert einen Sampler-Checkpoint, sampelt daraus und stoppt den Job. Erstellen Sie quickstart.py:
Das Skript wartet auf den erfolgreichen Abschluss des Forward-Backward- Durchlaufs, bevor es den Optimiererschritt sendet. Wenn ein Future fehlschlägt oder abgebrochen wird, löst wait einen Fehler aus und die abhängige Operation wird nicht gesendet. enable_thinking=False schließt den Reasoning-Block des Modells, bevor die überwachte Antwort beginnt. Dies ist ein Tokenizer-Template-Argument, kein Anfragefeld der Training API. Führen Sie das Skript aus:
Kopieren Sie den Wert nach TRAINING_JOB_ID=.
Ein interaktiver Job ohne Aufrufe für 30 Minuten wird freigegeben. Seine Checkpoints bleiben erhalten. Das Stoppen antwortet sofort und verhindert neue Aufrufe, aber bereits eingereihte Operationen können abgeschlossen werden, bevor Ressourcen freigegeben werden. Die Nutzung kann bis zu dieser Freigabe weiterlaufen. Sie können seine Sampler-Checkpoints weiterhin samplen und herunterladen.

6. Kanonischen Job prüfen

Die Antwort beschreibt denselben Job, der über den nativen REST-Endpunkt erstellt wurde. Verwenden Sie die öffentlichen Seiten für interaktive Operationen und die kanonische Jobs-API für dokumentierte Job-Lesezugriffe.

Weiter

Encoder-Schnellstart

Einen GLiNER-Encoder mit einem verwalteten Config-Job feinabstimmen.

Referenz für interaktive Jobs

Jede Anfrage und Antwort interaktiver Jobs prüfen.

Trainingsloop

Rewards, Updates und Wiederherstellung zu einem benutzerdefinierten Loop hinzufügen.