Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Los elementos marcados como versión preliminar en este artículo se encuentran actualmente en versión preliminar. Esta versión preliminar se proporciona sin un contrato de nivel de servicio y Microsoft no lo recomienda para cargas de trabajo de producción. Es posible que algunas características no se admitan o que tengan funcionalidades restringidas. Para obtener más información, vea Términos de uso complementarios para las versiones preliminares de Microsoft Azure.
Importante
El entrenamiento interactivo requiere aprobación de acceso explícita. Solicite acceso a través del formulario de registro en versión preliminar y espere a la aprobación antes de crear una sesión de entrenamiento.
El entrenamiento interactivo permite al programa controlar cómo aprende un modelo mientras Microsoft Foundry ejecuta el modelo. Su programa, también llamado controlador de entrenamiento, elige los ejemplos, evalúa las respuestas y decide cuándo actualizar el modelo.
Los conceptos siguientes explican cómo encajan entre sí las partes de un bucle de entrenamiento. Para obtener información detallada sobre el código y la implementación, consulte la hoja de referencia rápida del SDK.
Sesiones de formación
Una sesión de entrenamiento mantiene el modelo y su progreso de entrenamiento actual mientras se ejecuta el experimento. El controlador solicita operaciones individuales, como generar respuestas o aplicar una actualización.
Una sesión tiene un propósito diferente de un trabajo administrado o una implementación:
| Resource | Purpose |
|---|---|
| Sesión de formación interactiva | El programa controla el bucle de entrenamiento una operación cada vez. |
| Trabajo de ajuste fino gestionado | El servicio ejecuta un flujo de trabajo de entrenamiento predefinido a partir de los datos y la configuración que usted proporcione. |
| Servicio de despliegue | Un modelo entrenado responde a las solicitudes de una aplicación. |
Tu driver mantiene activa la sesión mientras se ejecuta el experimento. El progreso mantenido solo en la sesión no es un registro duradero; un punto de control de entrenamiento completado lo conserva.
Adaptadores de LoRA
Un modelo base es el modelo con el que empieza. Sus pesos son los valores aprendidos que dan forma a su comportamiento.
Un adaptador de adaptación de bajo rango (LoRA) es un pequeño conjunto de pesos entrenables agregados al modelo base. El entrenamiento cambia el adaptador en lugar de volver a entrenar todos los pesos originales del modelo.
El adaptador contiene lo que su experimento aprende. Permanece vinculado a un modelo base compatible; no es un reemplazo independiente de ese modelo.
Para obtener detalles de implementación, consulte Crear una sesión.
Niveles de entrenamiento
Un nivel de entrenamiento describe la opción de servicio que se usa para ejecutar el entrenamiento. Los niveles pueden diferir en dónde se ejecuta el entrenamiento, cómo se proporciona la capacidad y las garantías de servicio que se aplican.
Las opciones disponibles dependen del modelo, la región y el proyecto. Los niveles de entrenamiento son independientes de las opciones de implementación que se usan para servir un modelo entrenado. Consulte Tipos de entrenamiento.
Formato de mensaje
Los mensajes deben convertirse en una forma que entienda el modelo seleccionado. Ese formato también distingue las indicaciones del usuario, las respuestas del asistente y la información que devuelven las herramientas.
- Los tokens son pequeñas unidades de texto, como palabras o elementos de palabra, que el modelo lee y genera.
- Un tokenizador convierte texto en tokens y tokens de nuevo en texto.
- Una plantilla de chat organiza los mensajes para que el modelo pueda distinguir los hablantes y reconocer dónde comienza una respuesta.
- Un renderizador prepara los mensajes en el formato del modelo y convierte las respuestas generadas en contenido legible.
Los diferentes modelos pueden usar diferentes formatos de mensaje. El formato coherente ayuda al programa de entrenamiento a identificar qué partes de una interacción deben contribuir al aprendizaje.
El entrenamiento basado en imágenes también requiere un modelo de visión y lenguaje compatible y compatibilidad con el entrenamiento de imágenes para el proyecto. Un formateador de mensajes que entienda las imágenes no establece que el entrenamiento esté disponible para ellas.
Bucle de entrenamiento
El entrenamiento interactivo separa la generación de respuestas, el cálculo de señales de aprendizaje y la aplicación de actualizaciones. Su controlador combina estas operaciones en un flujo de trabajo.
| Operation | Qué significa |
|---|---|
| Muestreo | El modelo genera respuestas a partir de una instantánea seleccionada del adaptador. |
| Paso hacia delante | El modelo procesa ejemplos para que se pueda medir la pérdida o inspeccionar señales de aprendizaje sin acumular cambios para una actualización. |
| Cálculo del gradiente | El entrenamiento calcula cómo podrían cambiar los pesos del adaptador para mejorar el objetivo de aprendizaje. |
| Actualización del optimizador | El optimizador aplica los gradientes acumulados para cambiar el adaptador. |
| Evaluación | Su controlador mide el rendimiento con los ejemplos que se mantienen separados del entrenamiento. |
Gradientes: describen los posibles cambios en el adaptador. Un optimizador convierte esos gradientes en una actualización. El cálculo de gradientes no cambia el adaptador por sí mismo.
Varios conjuntos de ejemplos pueden aportar gradientes a una actualización. Después de una actualización, el muestreo necesita una instantánea actualizada para usar el estado aprendido más reciente del adaptador.
La evaluación utiliza ejemplos reservados, que no se utilizan para el entrenamiento, para comprobar el rendimiento en la tarea que le interesa. Una menor pérdida de entrenamiento o una recompensa de entrenamiento superior por sí sola no establece un mejor rendimiento.
Para ver las operaciones correspondientes en el código, consulte la hoja de referencia rápida del SDK.
Funciones de pérdida y pesos de token
Una función de pérdida expresa el objetivo que el entrenamiento intenta mejorar. Convierte ejemplos y señales de aprendizaje en una medida que guía los cambios en el adaptador.
| Enfoque de aprendizaje | ¿Qué guía la actualización? |
|---|---|
| Aprendizaje supervisado | Las respuestas deseadas muestran al modelo qué producir. |
| Aprendizaje de refuerzo | Las puntuaciones y comparaciones entre las respuestas generadas guían el comportamiento que se va a reforzar. |
Una función de pérdida es una parte de un flujo de trabajo. No elige tus ejemplos, califica las respuestas ni decide cuándo se detiene el entrenamiento.
Las ponderaciones de token controlan en qué medida las partes de un ejemplo contribuyen al aprendizaje. Las máscaras excluyen partes que no deben contribuir.
Por ejemplo, un flujo de trabajo de aprendizaje supervisado puede aprender de la respuesta del asistente sin aprender a reproducir el mensaje del usuario.
Para el aprendizaje de refuerzo, la señal de aprendizaje también distingue las respuestas generadas por el modelo de la información proporcionada por el usuario o el entorno. Usa información del modelo que generó cada respuesta, incluso si el modelo cambia más adelante.
Los objetivos personalizados pueden combinar las salidas del modelo con los cálculos de su controlador. El controlador todavía coordina las señales de aprendizaje y las actualizaciones del modelo.
Para ver estructuras y ejemplos de datos, consulte Preparación de datos supervisados y Preparación de datos de RL.
Cómo se combinan las señales de aprendizaje
Los distintos objetivos pueden combinar señales de aprendizaje de forma diferente, como agregarlas juntas o promediarlas. Combinar enfoques incompatibles en una actualización puede cambiar su escala o hacer que el servicio lo rechace.
Las contribuciones a la misma actualización necesitan una manera coherente de combinar señales de aprendizaje. Una actualización se completa antes de que el flujo de trabajo cambie a un enfoque incompatible.
Recompensas, lanzamientos y ventajas
En el aprendizaje de refuerzo, tu driver evalúa lo que hace el modelo y convierte esa evaluación en una señal de aprendizaje.
| Concepto | Meaning |
|---|---|
| Implementación | Una respuesta generada o una interacción más larga que puede incluir llamadas a herramientas y observaciones. |
| Recompensa | Una puntuación que describe lo bien que un lanzamiento cumple el objetivo de la tarea. El programa asigna esta puntuación. |
| Ventaja | Comparación que indica si una respuesta funciona mejor o peor que una referencia, como otras respuestas a la misma solicitud. |
Un enfoque genera varias respuestas al mismo mensaje y compara cada recompensa con la recompensa media del grupo:
- Por encima de la media: la respuesta tiene una ventaja positiva.
- Por debajo de la media: la respuesta tiene una ventaja negativa.
- Recompensas iguales: todas las respuestas tienen ventaja cero, por lo que esta comparación no proporciona ninguna señal de aprendizaje.
Para una tarea matemática, la recompensa puede reflejar si la respuesta final es correcta. Una puntuación de formato alta por sí sola no establece que la respuesta sea correcta.
Su controlador define las reglas de calificación y el método de comparación. Para obtener ejemplos completos, explore el repositorio de ejemplos de ajuste fino.
Finalización de la operación
Cada operación tarda tiempo en ejecutarse. Aceptar una solicitud es diferente de finalizar el trabajo solicitado.
| Status | Lo que te dice |
|---|---|
| Aceptado | El servicio recibe la solicitud. Es posible que el trabajo aún esté en espera o en ejecución. |
| Completed | La operación finaliza y una operación dependiente puede usar su resultado. |
| Tiempo de espera agotado | El conductor deja de esperar. Esto no demuestra que la operación falle o se detenga en el servicio. |
El orden es importante: una actualización depende del cálculo del gradiente completado y el muestreo de nuevos pesos depende de un refresco completado. Un resultado que falta no es un resultado correcto ni una medida de valor cero.
Para obtener detalles de implementación, consulte Usar operaciones asincrónicas.
Checkpoints
Un punto de control registra el estado del modelo en un punto determinado. Los puntos de control de entrenamiento y los puntos de control del muestreador conservan información diferente.
| Type | Lo que preserva | Uso |
|---|---|---|
| Punto de control de entrenamiento | Los pesos aprendidos del adaptador y el registro del optimizador de las actualizaciones anteriores. | Recuperar el progreso o continuar el entrenamiento en una sesión compatible. |
| Punto de control del muestreador | Instantánea de pesos del adaptador para generar respuestas. | Muestreo de una versión seleccionada del adaptador, sin la información necesaria para reanudar el entrenamiento. |
Una actualización del sampler prepara el estado de adaptador más reciente para la generación. No es un sustituto de un punto de control de entrenamiento guardado y no crea necesariamente un artefacto persistente.
Su controlador tiene su propio progreso que preservar, como qué ejemplos ya ha utilizado y cuándo se produce la evaluación. Un checkpoint del modelo no restaura ese progreso automáticamente.
Ninguno de los dos tipos de punto de control es un punto de conexión de la aplicación. El uso del modelo entrenado en una aplicación es una tarea de implementación independiente.
Para obtener ejemplos de código, consulte Guardar y reanudar el entrenamiento.
Ciclo de vida de la sesión
La descarga libera los recursos de entrenamiento activo de una sesión. Sirve para un propósito diferente de eliminar la sesión y sus artefactos guardados.
| Action | Meaning |
|---|---|
| Inspect | Compruebe el estado de la sesión e identifique sus puntos de control guardados. |
| Descargar | Libere los recursos de proceso de la sesión activa. No se trata de la eliminación de checkpoints. |
| Eliminar | Quite la sesión. Esto también puede eliminar sus puntos de control y recursos de muestreo. |
El envío de una solicitud de descarga no confirma que la limpieza se complete. El cierre de la conexión de red de su controlador tampoco es lo mismo que descargar la sesión.
Un punto de control de entrenamiento completado conserva el progreso antes de que finalice una sesión. La eliminación de la sesión puede quitar ese estado guardado, por lo que la eliminación no es intercambiable con liberar los recursos de cómputo.
Para los detalles de implementación, consulte Cerrar recursos.
Contenido relacionado
Explore estos recursos cuando esté preparado para utilizar los conceptos:
- Empiece a trabajar con el entrenamiento interactivo para ejecutar una receta de entrenamiento breve.
- Hoja de referencia rápida del SDK para ejemplos de código e detalles de implementación.
- Ejemplos de ajuste fino en GitHub para flujos de trabajo de entrenamiento completos.