Ajuste de los modelos Phi-3 en el portal de Azure AI Foundry
Importante
Los elementos marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin acuerdo de nivel de servicio y no se recomienda para las cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Azure AI Foundry le permite adaptar los modelos de lenguaje de gran tamaño a sus conjuntos de datos personales mediante un proceso conocido como ajuste preciso. El ajuste preciso proporciona un valor significativo al permitir la personalización y optimización de tareas y aplicaciones específicas. Conduce a la mejora del rendimiento, la rentabilidad, la latencia reducida y las salidas adaptadas.
En este artículo, aprenderá a ajustar la familia Phi-3 de modelos de lenguaje pequeño (SLAM) en el portal de Azure AI Foundry como servicio con facturación de pago por uso.
La familia Phi-3 de SLM es una colección de modelos de texto generativos optimizados para instrucciones. Los modelos de Phi-3 son los modelos de lenguaje pequeños (SLM) más capaces y rentables disponibles, que superan el rendimiento de los modelos del mismo tamaño y del siguiente en varios lenguajes, razonamientos, codificación y puntos de referencia matemáticos.
Importante
Los modelos que están en versión preliminar se marcan como versión preliminar en sus tarjetas de modelo en el catálogo de modelos.
Phi-3 Mini es un modelo abierto, ligero y de última generación con 3800 millones de parámetros basado en conjuntos de datos usados para Phi-2 (datos sintéticos y sitios web filtrados) con un enfoque en datos densamente razonados de alta calidad. El modelo pertenece a la familia de modelos Phi-3 y la versión Mini viene en dos variantes, 4K y 128K, que es la longitud de contexto (en tokens) que puede admitir.
- Phi-3-mini-4k-Instruct (versión preliminar)
- Phi-3-mini-128k-Instruct (versión preliminar)
El modelo se ha sometido a un proceso de mejora riguroso, y se le ha incorporado tanto el ajuste preciso supervisado como la optimización de preferencias directas para garantizar un cumplimiento preciso de las instrucciones y medidas de seguridad sólidas. Cuando se han evaluado con puntos de referencia que prueban el sentido común, la comprensión del lenguaje, las matemáticas, el código, el contexto largo y el razonamiento lógico, Phi-3 Mini-4K-Instruct y Phi-3 Mini-128K-Instruct han mostrado un rendimiento sólido y de última generación entre modelos con menos de 13 000 millones de parámetros.
Requisitos previos
Suscripción a Azure. Si no tiene una suscripción de Azure, cree una cuenta de Azure de pago para comenzar.
Un centro de Azure AI Foundry.
Importante
Para los modelos de la familia Phi-3, la oferta de ajuste preciso de modelos de pago por uso solo está disponible con centros creados en las regiones de Este de EE. UU. 2.
Los controles de acceso basado en roles de Azure (RBAC de Azure) se usan para conceder acceso a las operaciones en el portal de Azure AI Foundry. Para realizar los pasos descritos en este artículo, la cuenta de usuario debe tener asignado el rol Desarrollador de Azure AI en el grupo de recursos.
Para más información sobre los permisos, consulte control de acceso basado en roles en el portal de Azure AI Foundry.
Registro del proveedor de suscripciones
Compruebe que la suscripción de Azure está registrada en el proveedor de recursos Microsoft.Network
.
- Inicie sesión en Azure Portal.
- Seleccione Suscripciones en el menú izquierdo.
- Seleccione la suscripción que quiere usar.
- Seleccione Configuración>Proveedores de recursos en el menú izquierdo.
- Confirme que Microsoft.Network está en la lista de proveedores de recursos. De lo contrario, agréguelo.
Preparación de los datos
Preparación de los datos de entrenamiento y validación para el ajuste preciso del modelo El conjunto de datos de validación y los datos de entrenamiento consisten en ejemplos de entrada y salida para el rendimiento del modelo.
Asegúrese de que todos los ejemplos de entrenamiento siguen el formato esperado para la inferencia. Para realizar el ajuste preciso de los modelos de forma eficaz, asegúrese de contar con un conjunto de datos equilibrado y diverso.
Esto supone mantener el equilibrio de los datos, lo que incluye varios escenarios, y refinar periódicamente los datos de entrenamiento para que estén en consonancia con las expectativas del mundo real, lo que en última instancia conduce a respuestas de los modelos más precisas y equilibradas.
Los distintos tipos de modelo requieren un formato diferente de datos de entrenamiento.
Finalización del chat
Los datos de entrenamiento y validación que usa deben tener formato como documento de líneas JSON (JSONL). Para Phi-3-mini-128k-instruct
, el conjunto de datos de ajuste preciso debe tener el formato conversacional que usa la API de finalizaciones de chat.
Formato de archivo de ejemplo
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Is Xbox better than PlayStation?"}, {"role": "assistant", "content": "I apologize, but I cannot provide personal opinions. My primary job is to assist you with any issues related to your Xbox device. Do you have any Xbox-related issues that need addressing?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "Can I play PC games on my Xbox?"}, {"role": "assistant", "content": "While Xbox consoles don't natively support PC games, they can play an array of Xbox games, many of which are also available on PC. Can I assist you with finding games compatible with your Xbox device?"}]}
{"messages": [{"role": "system", "content": "You are an Xbox customer support agent whose primary goal is to help users with issues they are experiencing with their Xbox devices. You are friendly and concise. You only provide factual answers to queries, and do not provide answers that are not related to Xbox."}, {"role": "user", "content": "I'm having trouble connecting my Xbox to the Wi-Fi."}, {"role": "assistant", "content": "No worries, let's go through the network settings on your Xbox. Can you please tell me what happens when you try to connect it to the Wi-Fi?"}]}
El tipo de archivo admitido es líneas JSON. Los archivos se cargan en el almacén de datos predeterminado y están disponibles en el proyecto.
Ajuste de un modelo Phi-3
Para ajustar un modelo Phi-3:
Inicie sesión en Azure AI Foundry.
Elija el modelo que quiera ajustar del catálogo de modelo del portal de Azure AI Foundry.
En la página Detalles del modelo, seleccione Ajuste preciso.
Seleccione el proyecto en el que quiera realizar el ajuste preciso de los modelos. Para usar la oferta de ajuste preciso de modelos de pago por uso, el área de trabajo debe pertenecer a la región Este de EE. UU. 2.
En el Asistente para ajuste preciso, seleccione el vínculo a Términos de Azure AI Foundry para más información sobre los términos de uso. También puede seleccionar la pestaña Detalles de la oferta de Azure AI Foundry para obtener información sobre los precios del modelo seleccionado.
Si es la primera vez que realiza el ajuste preciso del modelo en el proyecto, debe suscribir el proyecto para la oferta concreta (por ejemplo, Phi-3-mini-128k-instruct) desde Azure AI Foundry. Este paso requiere que la cuenta tenga los permisos de suscripción de Azure y los permisos del grupo de recursos enumerados en los requisitos previos. Cada proyecto tiene su propia suscripción a la oferta concreta de Azure AI Foundry, lo que le permite controlar y supervisar los gastos. Seleccione Suscribir y ajuste preciso.
Nota:
La suscripción de un proyecto a una oferta determinada de Azure AI Foundry (en este caso, Phi-3-mini-128k-instruct) requiere que su cuenta tenga acceso de Colaborador o Propietario en el nivel de suscripción donde se crea el proyecto. Como alternativa, a la cuenta de usuario se le puede asignar un rol personalizado que tenga los permisos de suscripción de Azure y los permisos del grupo de recursos enumerados en los requisitos previos.
Una vez que registre el proyecto para la oferta concreta de Azure AI Foundry, para el ajuste preciso posterior de la misma oferta en el mismo proyecto no es necesario volver a suscribirse. Por tanto, no es necesario tener los permisos de nivel de suscripción para los trabajos de ajuste preciso posteriores. Si este escenario se aplica a su caso, seleccione Continuar para el ajuste preciso.
Escriba un nombre para el modelo con ajuste preciso y las etiquetas y la descripción opcionales.
Seleccione los datos de entrenamiento para el ajuste preciso del modelo. Para más información, consulte Preparación de datos.
Nota:
Si tiene sus archivos de entrenamiento o validación en un almacén de datos con menos credenciales, deberá permitir que la identidad administrada del área de trabajo acceda a su almacén de datos para continuar con el ajuste preciso de MaaS con una credencial menos almacenamiento. En la página "Almacén de datos", después de hacer clic en "Actualizar autenticación" > Seleccione la siguiente opción:
Asegúrese de que todos los ejemplos de entrenamiento siguen el formato esperado para la inferencia. Para realizar el ajuste preciso de los modelos de forma eficaz, asegúrese de contar con un conjunto de datos equilibrado y diverso. Esto supone mantener el equilibrio de los datos, lo que incluye varios escenarios, y refinar periódicamente los datos de entrenamiento para que estén en consonancia con las expectativas del mundo real, lo que en última instancia conduce a respuestas de los modelos más precisas y equilibradas.
- El tamaño del lote a usar para el entrenamiento. Cuando se establece en -1, batch_size se calcula como un 0,2 % de los ejemplos del conjunto de entrenamiento y el máximo es 256.
- La velocidad de aprendizaje del ajuste preciso es la velocidad de aprendizaje original que se usó para el entrenamiento previo multiplicada por este valor. Se recomienda experimentar con valores de entre 0,5 y 2. Empíricamente, comprobamos que las tasas de aprendizaje más altas suelen dar mejores resultados con tamaños de lote más grandes. Debe estar entre 0,0 y 5,0.
- Número de épocas de entrenamiento. Una época se refiere a un ciclo completo a través del conjunto de datos.
Los parámetros de tarea son un paso opcional y una opción avanzada: el ajuste de hiperparámetros es esencial para optimizar modelos de lenguaje grandes (LLM) en aplicaciones reales. Permite mejorar el rendimiento y el uso eficaz de los recursos. Los usuarios pueden optar por mantener la configuración predeterminada o los usuarios avanzados pueden personalizar parámetros como épocas o velocidad de aprendizaje.
Revise las selecciones y proceda a entrenar el modelo.
Una vez realizado el ajuste preciso al modelo, puede implementarlo y usarlo en su propia aplicación, en el área de juegos o en el flujo de avisos. Para más información, vea Procedimiento para implementar la familia Phi-3 de modelos de lenguaje de gran tamaño con Azure AI Foundry.
Limpieza de los modelos con ajuste preciso
Puede eliminar un modelo con ajuste preciso de la lista de modelos con ajuste preciso en Azure AI Foundry o desde la página de detalles del modelo. En la página ”Ajuste preciso”, seleccione el modelo con ajuste preciso que quiere eliminar y, luego, seleccione el botón ”Eliminar” para eliminar el modelo.
Nota:
No se puede eliminar un modelo personalizado si tiene una implementación existente. Primero debe eliminar la implementación del modelo para poder eliminar el modelo personalizado.
Costo y cuotas
Consideraciones de costos y cuotas para los modelos Phi con ajuste preciso como servicio
Microsoft ofrece modelos Phi optimizados como servicio e integrados con Azure AI Foundry para su uso. Puede encontrar los precios al implementar o ajustar los modelos en la pestaña Precios y términos del Asistente para la implementación.
Cuaderno de ejemplo
Puede usar este cuaderno de ejemplo para crear un trabajo independiente de ajuste preciso para mejorar la capacidad de un modelo para resumir los diálogos entre dos personas mediante el conjunto de datos Samsum. Los datos de entrenamiento utilizados son el conjunto de datos ultrachat_200k, que se divide en cuatro partes adecuadas para la optimización supervisada (sft) y la clasificación de generación (gen). El cuaderno emplea los modelos de Azure AI disponibles para la tarea de finalización de chat (si desea usar un modelo diferente al que se usa en el cuaderno, puede reemplazar el nombre del modelo). El cuaderno incluye la configuración de requisitos previos, la selección de un modelo para ajustar, crear conjuntos de datos de entrenamiento y validación, configurar y enviar el trabajo de ajuste y, por último, crear una implementación sin servidor mediante el modelo optimizado para la inferencia de ejemplo.
Filtrado de contenido
Los modelos implementados como servicio con pago por uso están protegidos por Seguridad del contenido de Azure AI. Cuando se implementa en puntos de conexión en tiempo real, puede optar por dejar de usar esta funcionalidad. Con la seguridad de contenido de Azure AI habilitada, tanto la solicitud como la finalización pasan por un conjunto de modelos de clasificación destinados a detectar y evitar la salida de contenido dañino. El sistema de filtrado de contenido (versión preliminar) detecta y toma medidas en categorías específicas de contenido potencialmente perjudicial tanto en solicitudes de entrada como en finalizaciones de salida. Obtenga más información sobre Seguridad del contenido de Azure AI.