Cycle de vie des tâches
Créer un job d'entraînement de configuration
Appelez POST /v1/training/jobs pour démarrer un entraînement géré asynchrone (job config) à partir d’un modèle de base et de datasets.
POST
POST /v1/training/jobs
Démarre un entraînement géré asynchrone (job config) et renvoie son
enregistrement. Vous fournissez un dataset et une configuration, et Fastino
exécute la boucle d’entraînement. Pour l’entraînement interactif (job
interactive), où votre application contrôle chaque étape d’entraînement,
suivez le Démarrage rapide du décodeur,
qui crée un job interactive via
POST /v1/training/jobs/create-model
ou le SDK Tinker pris en charge. Cet endpoint ne crée pas de jobs interactifs.
Après leur création, les deux types de jobs utilisent leurs ID canoniques avec
les opérations de cycle de vie documentées sous /v1/training/jobs/{job_id}.
Les jobs config entraînent les modèles encodeurs renvoyés par
GET /v1/base-models?supports_training=true qui disposent d’une route de
dispatch compatible pour les jobs config. Les modèles de base décodeurs
renvoient 400 ; entraînez plutôt les décodeurs avec un job interactive.
Cet endpoint est limité à 20 requêtes par minute et par utilisateur.
Requête
string
requis
Votre clé API Fastino.
string
Clé de nouvelle tentative générée par le client, de 1 à 255 caractères ; un UUID est recommandé. Répéter la même clé et le même corps renvoie le job d’origine. Réutiliser la clé avec un autre corps renvoie
422.string
requis
Nom d’affichage du modèle entraîné. Longueur : 1 à 100 caractères.
string
requis
Un ID d’encodeur entraînable renvoyé par
GET /v1/base-models?supports_training=true. Le training_type sélectionné doit disposer d’une route de dispatch compatible. Les UUID de checkpoint et les modèles de base décodeurs renvoient 400.object[]
requis
Une ou plusieurs références de datasets importés. Chaque élément nécessite
name et peut inclure version ; les versions omises sont résolues vers la dernière version.string
défaut:"lora"
lora ou full. Le modèle de base sélectionné doit prendre en charge le type demandé.number
défaut:"0.2"
Fraction réservée à la validation, de
0 à 0.9 par incréments de 0.01.integer
défaut:"100"
Nombre maximal d’époques, de
1 à 10000 ; l’arrêt anticipé peut terminer plus tôt.number
Taux d’apprentissage maximal de
1e-8 à 1. Omettez-le pour utiliser la recette d’entraînement du modèle sélectionné.integer
Taille du batch par appareil de
1 à 256. Omettez-la pour utiliser le default_training_batch_size du modèle renvoyé par GET /v1/base-models?supports_training=true. Une valeur supérieure au max_training_batch_size du modèle, lorsque le catalogue en publie un, renvoie 422. Si un batch GLiNER ne tient pas sur le GPU d’entraînement, il est réduit à la plus grande taille qui tient ; le batch_size du job indique la taille utilisée.integer
Seed de reproductibilité facultative de
0 à 2147483647. Définissez provider_name sur modal lors de son utilisation. Une seed réduit une source de variation, mais ne garantit pas des exécutions GPU identiques bit à bit.string
UUID du projet. S’il est omis, Fastino associe le job au projet par défaut de l’appelant.
Réponse
Renvoie200 avec l’enregistrement complet du job d’entraînement, y compris un
id UUID et le statut initial. L’exemple ci-dessous est abrégé ; la réponse réelle
contient tous les champs définis par TrainingJobResponse.
id renvoyé dans cette réponse. Vous l’utiliserez pour interroger
le statut, récupérer les métriques et les artefacts, et exécuter des inférences
sur le modèle entraîné.
Un corps mal formé renvoie 422. Une combinaison valide mais indisponible de
modèle, dataset, type d’entraînement ou fournisseur renvoie une erreur 4xx
propre à la requête.
La création peut renvoyer les conflits codés suivants :
La même
Idempotency-Key et un corps identique rejouent le job d’origine au lieu d’en créer un autre. Un corps différent avec la même clé renvoie 422.
La vérification des soumissions identiques pendant 60 secondes est distincte du rejeu par clé d’idempotence. Passé ce délai, envoyer le même corps sans réutiliser la clé d’origine crée et facture un autre job. Si le nom de modèle demandé est déjà utilisé, le job suivant reçoit un suffixe tel que <name>_2.
Un modèle de base décodeur renvoie 400 :
interactive avec
POST /v1/training/jobs/create-model
et suivez le Démarrage rapide du décodeur.
Autorisation
Nécessite le rôle Owner, Admin ou Editor de l’équipe. Les autres rôles reçoivent403 Forbidden.
