> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fastino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use https://docs.fastino.ai/llms.txt to discover and navigate pages. Use https://docs.fastino.ai/llms-full.txt when you need the complete documentation corpus. Use https://docs.fastino.ai/openapi.json as the source of truth for customer-facing routes. For GLiDE decision inference, call POST https://api.fastino.ai/v1/systemone with model fastino/GLiDE. Create managed config jobs with POST /v1/training/jobs using base_model. Both config and interactive jobs use /v1/training/jobs/{job_id} for their canonical REST lifecycle. For custom training loops, use the supported Tinker-compatible SDK client; its /v1/training/compat/tinker adapter is intentionally absent from OpenAPI and must not be called directly. Auto Train is private access and has no public route; direct interested users to sales@fastino.ai. Do not infer undocumented routes. Read API keys from FASTINO_API_KEY and never embed credentials in code, logs, or reports.

# Benutzerdefinierten Trainingsloop erstellen

> Verbinden Sie Sampling, Rewards, Updates und Checkpoints innerhalb eines interaktiven Fastino-Jobs.

Ihre Anwendung entscheidet, was gesampelt, wie es bewertet und wann es
aktualisiert wird. Fastino führt die interaktiven Modelloperationen aus. Ein
`TrainingClient` repräsentiert während des gesamten Loops einen interaktiven
Fastino-Job.

## Der Kontrollloop

<Steps>
  <Step title="Interaktiven Job erstellen">
    Wählen Sie `base_model` und weitere Optionen aus der Antwort zu den
    Fähigkeiten und rufen Sie anschließend
    `create_lora_training_client(...)` auf. Lesen Sie die kanonische Job-ID aus
    `training_client.get_info().model_data.model_id`.
  </Step>

  <Step title="Gewichte für Sampling als Checkpoint speichern">
    Rufen Sie `save_weights_for_sampler(name)` auf und erstellen Sie
    anschließend aus dem zurückgegebenen Checkpoint-Pfad einen Sampling-Client.
    Dadurch wird die Rollout-Policy an ein explizites Artefakt desselben Jobs
    gebunden.
  </Step>

  <Step title="Rollout-Gruppen sammeln">
    Sampeln Sie für jeden Prompt mehrere Antwortkandidaten. Ihre Anwendung ist
    für Prompt-Erstellung, Rendering der Antworten und Gruppierung
    verantwortlich.
  </Step>

  <Step title="Rewards und Advantages berechnen">
    Bewerten Sie jede Antwort und wandeln Sie die Rewards anschließend in die
    Advantages um, die von Ihrer ausgewählten und durch die Fähigkeiten
    unterstützten Trainingsoperation benötigt werden.
  </Step>

  <Step title="Trainings-Datums erstellen">
    Kombinieren Sie Modelleingaben, gesampelte Antwort-Tokens,
    Sampling-Metadaten und Trainingssignale auf Token-Ebene in der vom SDK
    erwarteten Form.
  </Step>

  <Step title="Denselben Job aktualisieren">
    Senden Sie unterstützte Forward-/Backward-Arbeit und anschließend einen
    Optimierungsschritt über den bestehenden `TrainingClient`.
  </Step>

  <Step title="Wiederherstellungsgrenze speichern">
    Speichern Sie einen Status-Checkpoint und persistieren Sie seine ID mit dem
    Anwendungsschritt und Datensatz-Cursor, bevor die nächste Iteration beginnt.
  </Step>
</Steps>

## Objektmodell

| Objekt | Rolle |
| - | - |
| `ServiceClient` | Fragt Fähigkeiten ab und erstellt SDK-Clients |
| `TrainingClient` | Repräsentiert einen interaktiven Fastino-Job und sendet dessen Modelloperationen |
| `SamplingClient` | Sampelt aus einem aufgelösten Checkpoint |
| `RestClient` | Listet kanonische Jobs auf oder ruft sie ab und verwaltet Checkpoints über unterstützte SDK-Methoden |
| Future | Verfolgt eine an den Job gesendete Operation |

Die SDK-Modell-ID ist die kanonische Fastino-Job-ID. Futures und
Sampling-Clients erstellen keine unabhängigen Läufe.

Wie Sie deterministisches Grading in gruppenrelative Advantages umwandeln,
erfahren Sie unter
[Mit verifizierbaren Rewards trainieren](/de/training/verifiable-rewards).

## Ausgerichtete Datums erstellen

Bei einem Loop im Importance-Sampling-Stil ist der Prompt der Kontext und die
gesampelte Vervollständigung die Aktion. Halten Sie Token-Arrays auf das SDK und
den Renderer des ausgewählten Modells ausgerichtet:

* Modelleingabe mit Prompt- und Vervollständigungs-Tokens
* An der Modelleingabe ausgerichtete Ziel-Tokens
* An generierten Tokens ausgerichtete Sampling-Log-Wahrscheinlichkeiten
* Auf Positionen der Vervollständigung angewendete Advantages

<Warning>
  Prompt-Rendering, Tokenisierung, Erstellung von Datums und Reward-Ausführung
  liegen beim Client. Validieren Sie ihre Formen anhand von `tinker==0.33.1`
  und der aktuellen Antwort zu den Fähigkeiten, bevor Sie einen größeren
  Workload ausführen.
</Warning>

## Abhängige Arbeit geordnet halten

Lösen Sie ein Forward-/Backward-Future auf, bevor Sie diese Phase als
abgeschlossen behandeln, und lösen Sie das Optimizer-Future auf, bevor Sie den
aktualisierten Status als Checkpoint speichern. Lassen Sie nicht mehrere
unabhängige Controller denselben Job ohne Koordination auf Anwendungsebene
verändern.

Das SDK führt diese interaktiven Operationen aus. Bilden Sie sie nicht als
direkte HTTP-Aufrufe nach.

Verfolgen Sie jedes Future, das ein unterstützter Aufruf zurückgibt. Lösen Sie
Futures einzeln auf oder brechen Sie sie einzeln ab. Der Batch-Abruf über
`retrieve_futures` wird nicht unterstützt.

## Loop wiederherstellen

Speichern Sie die kanonische Job-ID, den Anwendungsschritt, den
Datensatz-Cursor und die relevanten Future- oder Checkpoint-IDs dauerhaft. Ein
neu gestarteter Controller kann dann ermitteln, welche Arbeit abgeschlossen
wurde, ohne ein Update zu wiederholen.

Die Wiederherstellungsreihenfolge und die Checkpoint-Arten finden Sie unter
[Checkpoints und Wiederherstellung](/de/training/checkpoints).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.