Skip to main content
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

1

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

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

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

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

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

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

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.

Modèle d’objets

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.

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

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.