Skip to main content
Esta guía rápida usa un bucle de entrenamiento personalizado para entrenar modelos Nemotron o Qwen mientras tu aplicación controla el muestreo, las recompensas y las actualizaciones del modelo. Para ajustar un codificador GLiNER con entrenamiento gestionado, consulta el inicio rápido del codificador.

1. Autentícate

  1. Crea una cuenta de Fastino.
  2. Abre Claves de API.
  3. Crea una clave y cópiala cuando se muestre.
Guarda la clave en una variable de entorno:
Envía esta clave como X-API-Key: $FASTINO_API_KEY. Consulta Autenticación para ver el contrato de autenticación completo. Elige una interfaz compatible:
  • Los clientes JSON nativos llaman a POST /v1/training/jobs/create-model, encolan operaciones del modelo bajo /v1/training/jobs/{job_id} y consultan cada future_id devuelto hasta que esté completed, failed o cancelled.
  • Los programas Tinker existentes mantienen tinker==0.32.0; consulta Migrar desde Tinker para configurar el SDK.
Los clientes nativos no envían seq_id ni latidos. El servidor asigna el orden de las operaciones y mantiene activa la sesión interna. Una solicitud con wait=true espera como máximo 25 segundos. Por tanto, el cliente debe seguir consultando una operación no terminal. Después de este inicio rápido, consulta Construye un bucle de entrenamiento personalizado para añadir recompensas, rollouts repetidos y recuperación. El ejemplo REST nativo requiere Python 3.11 o posterior. Para configurar el SDK de Tinker, consulta Migrar desde Tinker.

2. Instala las bibliotecas cliente

Necesitas Python 3.11 o posterior. transformers aporta el tokenizador del modelo; el entrenamiento se ejecuta en Fastino.

3. Elige un modelo

Se admiten rangos LoRA de 1 a 32; el valor por defecto es 32.

4. Crea el trabajo

La respuesta contiene un job_id y el future_id del future create del trabajo:
Cada llamada que hace trabajo devuelve un future. Léelo hasta que status sea completed. Con wait=true, la solicitud espera hasta 25 segundos:

5. Entrena, guarda y muestrea

El script siguiente ejecuta el bucle completo: crea un trabajo, ejecuta tres pasadas forward-backward y pasos del optimizador, guarda un checkpoint sampler, muestrea desde él y detiene el trabajo. Crea quickstart.py:
El script espera a que forward-backward termine correctamente antes de enviar el paso del optimizador. Si un future falla o se cancela, wait genera un error y no se envía la operación dependiente. enable_thinking=False cierra el bloque de razonamiento del modelo antes de que empiece la respuesta supervisada. Es un argumento de la plantilla del tokenizer, no un campo de solicitud de la API de entrenamiento. Ejecuta el script:
Copia el valor que aparece después de TRAINING_JOB_ID=.
Un trabajo interactivo sin llamadas durante 30 minutos se libera. Sus checkpoints se conservan. Detenerlo responde de inmediato e impide llamadas nuevas, pero las operaciones ya encoladas pueden terminar antes de que se liberen los recursos. El uso puede continuar hasta esa liberación. Aún puedes muestrear y descargar sus checkpoints sampler.

6. Verifica el trabajo canónico

La respuesta describe el mismo trabajo creado mediante el endpoint REST nativo. Usa las páginas públicas de operaciones interactivas para las operaciones del modelo y la API canónica de trabajos para las lecturas documentadas.

Continúa

Inicio rápido del codificador

Ajusta un codificador GLiNER con entrenamiento gestionado.

Referencia de trabajos interactivos

Revisa cada solicitud y respuesta de los trabajos interactivos.

Bucle de entrenamiento

Añade recompensas, actualizaciones y recuperación a un bucle personalizado.