Skip to main content
El fine-tuning en Pioneer adapta un modelo base a tu tarea y dominio específicos usando tu dataset etiquetado. Envías un trabajo de entrenamiento a través de la API, Pioneer gestiona la computación y tú recibes un modelo entrenado al que puedes llamar para inferencia o descargar. Todo el proceso es asíncrono: inicias el trabajo y luego sondeas hasta que termina. Los nuevos trabajos de entrenamiento de Pioneer usan fine-tuning supervisado (SFT). Consulta la guía de fine-tuning de LLM para conocer el formato de los datasets y ver ejemplos de entrenamiento de decoders.

Ciclo de vida de un trabajo de entrenamiento

El campo status de un trabajo de entrenamiento pasa por varios estados. La ruta principal es:
1

requested

Tu trabajo se ha aceptado y está en cola para ejecutarse. Pioneer está asignando cómputo.
2

running

El entrenamiento se está ejecutando activamente en el proveedor.
3

complete

El entrenamiento en GPU ha finalizado con éxito. Las métricas de pérdida están disponibles en el registro del trabajo (consulta Sondear el estado y leer métricas), y los checkpoints están listos para descargar o desplegar.
4

normalizing / artifact_ready

Pasos intermedios de post-entrenamiento. Pioneer está normalizando y empaquetando el artefacto entrenado. Normalmente solo verás estos estados de forma transitoria entre complete y deployed.
5

deployed

El adaptador entrenado está activo en un proveedor de inferencia y listo para servir solicitudes vía model_id.
Un trabajo también puede terminar en errored (ocurrió un error durante el entrenamiento), stopped (lo detuviste de forma controlada con POST /felix/training-jobs/:id/stop; los checkpoints se conservan), terminated (llamaste a POST /felix/training-jobs/:id/terminate, que detiene el trabajo y elimina permanentemente sus checkpoints; es irreversible) o paused.

Parámetros clave

base_model es obligatorio y debe coincidir con la forma de un ID de modelo o UUID, no con una cadena libre. Omitirlo o enviar un valor mal formado devuelve 422. Un valor bien formado que no coincida con ningún modelo disponible para entrenamiento devuelve 400.

Iniciar un trabajo de entrenamiento

La respuesta devuelve el registro completo del trabajo de inmediato, incluidos un UUID id y el estado inicial:
Guarda el id: lo usarás para sondear el estado, recuperar métricas y ejecutar inferencia contra tu modelo entrenado.

Sondear el estado y leer métricas

Sondea el endpoint del trabajo hasta que status alcance un valor terminal: complete, deployed, errored, stopped o terminated:
El campo metrics siempre incluye valores de pérdida en cuanto el entrenamiento comienza, además de F1/precision/recall/accuracy si se ha ejecutado una evaluación aparte contra el modelo resultante:
Para recuperar líneas estructuradas de stdout/stderr del trabajo:
Esto devuelve una lista JSON de entradas de log ({id, timestamp, level, message, source}). Es una consulta puntual, no un stream en vivo. Sondéalo periódicamente mientras el trabajo esté en running para seguir el progreso.

Detener o terminar un trabajo

Para detener de forma controlada un trabajo en ejecución preservando sus checkpoints:
El estado del trabajo cambia a stopped. Los checkpoints guardados antes de la detención siguen disponibles para desplegar o descargar. Para finalizar permanentemente un trabajo y eliminar sus checkpoints, usa /terminate:
/terminate detiene el trabajo del proveedor si aún se está ejecutando y elimina permanentemente todos sus checkpoints. Es irreversible. Usa /stop si quieres conservar los checkpoints entrenados hasta ese momento.

Checkpoints y descarga de pesos

Pioneer guarda checkpoints durante el entrenamiento. Puedes listarlos en cualquier momento tras iniciar el trabajo:
Cada checkpoint incluye las banderas is_best, is_final e is_deployable. Puedes desplegar cualquier checkpoint desplegable, no solo el final, en un endpoint de inferencia activo:
Para descargar los pesos, solicita una URL prefirmada (requiere plan Pro o superior; en caso contrario, esta llamada devuelve 403):
La respuesta es JSON con un download_url que expira en 1 hora. Descarga esa URL por separado para obtener el archivo real:
También puedes usar un UUID de checkpoint como valor de base_model en un nuevo trabajo de entrenamiento para continuar el entrenamiento desde ese checkpoint.

Resumen de endpoints de entrenamiento