> ## 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.

# Construire une boucle d'entraînement personnalisée

> Reliez l'échantillonnage, les récompenses, les mises à jour et les checkpoints au sein d'un même job interactif Fastino.

Votre application décide quoi échantillonner, comment l'évaluer et quand
effectuer une mise à jour. Fastino exécute les opérations interactives du
modèle. Un `TrainingClient` représente un job interactif Fastino pendant toute
la boucle.

## La boucle de contrôle

<Steps>
  <Step title="Créer le job interactif">
    Choisissez un `base_model` et d'autres options à partir de la réponse de
    capacités, puis appelez `create_lora_training_client(...)`. Lisez l'ID
    canonique du job dans `training_client.get_info().model_data.model_id`.
  </Step>

  <Step title="Créer un checkpoint des poids pour l'échantillonnage">
    Appelez `save_weights_for_sampler(name)`, puis créez un client
    d'échantillonnage à partir du chemin de checkpoint renvoyé. Cela associe la
    politique de rollout à un artefact explicite du même job.
  </Step>

  <Step title="Collecter des groupes de rollouts">
    Échantillonnez plusieurs réponses candidates pour chaque prompt. Votre
    application contrôle la construction des prompts, le rendu des réponses et
    le regroupement.
  </Step>

  <Step title="Calculer les récompenses et les avantages">
    Évaluez chaque réponse, puis transformez les récompenses en avantages requis
    par l'opération d'entraînement sélectionnée et prise en charge par les
    capacités.
  </Step>

  <Step title="Construire les datums d'entraînement">
    Combinez les entrées du modèle, les tokens des réponses échantillonnées, les
    métadonnées d'échantillonnage et les signaux d'entraînement au niveau des
    tokens dans la forme attendue par le SDK.
  </Step>

  <Step title="Mettre à jour le même job">
    Soumettez les opérations avant/arrière prises en charge, puis une étape
    d'optimisation, via le `TrainingClient` existant.
  </Step>

  <Step title="Enregistrer une limite de récupération">
    Enregistrez un checkpoint d'état et conservez son identifiant avec l'étape
    de l'application et le curseur du dataset avant de commencer l'itération
    suivante.
  </Step>
</Steps>

## Modèle d'objets

| Objet | Rôle |
| - | - |
| `ServiceClient` | Interroge les capacités et crée les clients SDK |
| `TrainingClient` | Représente un job interactif Fastino et soumet ses opérations de modèle |
| `SamplingClient` | Échantillonne depuis un checkpoint résolu |
| `RestClient` | Liste ou obtient les jobs canoniques et administre les checkpoints avec des méthodes SDK prises en charge |
| Future | Suit une opération soumise au job |

L'ID de modèle du SDK est l'ID de job Fastino canonique. Les futures et les
clients d'échantillonnage ne créent pas d'exécutions indépendantes.

Pour transformer une évaluation déterministe en avantages relatifs au groupe,
suivez [S'entraîner avec des récompenses vérifiables](/fr/training/verifiable-rewards).

## Construire des datums alignés

Pour une boucle fondée sur l'échantillonnage d'importance, le prompt constitue
le contexte et la complétion échantillonnée constitue l'action. Conservez les
tableaux de tokens alignés avec le SDK et le renderer utilisés par le modèle
sélectionné :

* Entrée du modèle contenant les tokens du prompt et de la complétion
* Tokens cibles alignés avec l'entrée du modèle
* Log-probabilités d'échantillonnage alignées avec les tokens générés
* Avantages appliqués aux positions de la complétion

<Warning>
  Le rendu des prompts, la tokenisation, la construction des datums et
  l'exécution des récompenses sont contrôlés par le client. Validez leurs formes
  par rapport à `tinker==0.33.1` et à la réponse de capacités active avant
  d'exécuter un workload plus important.
</Warning>

## Maintenir l'ordre du travail dépendant

Résolvez une future avant/arrière avant de considérer cette étape comme
terminée, et résolvez la future de l'optimiseur avant de créer un checkpoint de
l'état mis à jour. Ne laissez pas des contrôleurs indépendants modifier le même
job sans coordination au niveau de l'application.

Le SDK exécute ces opérations interactives. Ne les reproduisez pas sous forme
d'appels HTTP directs.

Suivez chaque future renvoyée par un appel pris en charge. Résolvez ou annulez
les futures individuellement. La récupération par lots via `retrieve_futures`
n'est pas prise en charge.

## Récupérer la boucle

Conservez l'ID de job canonique, l'étape de l'application, le curseur du
dataset et les identifiants de futures ou de checkpoints pertinents. Un
contrôleur redémarré peut alors déterminer quel travail est terminé sans
rejouer une mise à jour.

Pour la séquence de récupération et les types de checkpoints, consultez
[Checkpoints et récupération](/fr/training/checkpoints).


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