Presentamos Nova Forge SDK, una forma perfecta de personalizar los modelos Nova para la IA empresarial

Los modelos de lenguajes grandes (LLM) han transformado la forma en que interactuamos con la IA, pero un tamaño no sirve en absoluto. Los LLM listos para usar están capacitados con un conocimiento general amplio y mejorado para una amplia gama de casos de uso, pero a menudo se quedan cortos cuando se trata de tareas específicas de un dominio, flujos de trabajo propietarios o requisitos comerciales únicos. Los clientes empresariales necesitan cada vez más LLM especializados que comprendan profundamente sus datos patentados, procesos comerciales y terminología específica de dominio. Sin personalización, se ve obligado a elegir entre aceptar respuestas genéricas o conformarse con un término medio con excesiva ingeniería de contexto. Nova Customization proporciona un conjunto de funciones, que van desde opciones de personalización de Amazon Bedrock, como ajuste fino supervisado (SFT) y ajuste fino de refuerzo (RFT), hasta capacidades de personalización de IA de Amazon SageMaker, que incluyen SFT, optimización de preferencias directas (DPO), RFT, junto con LoRA y personalización basada en rango completo.

A medida que los modelos se ajustan a conjuntos de datos especializados, con frecuencia pierden algunas capacidades básicas, incluidas la capacidad de seguir instrucciones, las habilidades de razonamiento y una amplia experiencia en conocimientos; este fenómeno también se denomina olvido catastrófico. Amazon Nova Forge proporciona una herramienta para superar esta desventaja al permitirle crear sus propios modelos de frontera utilizando Nova. Los clientes de Nova Forge pueden comenzar su desarrollo desde los primeros puntos de control del modelo, combinar sus conjuntos de datos con los seleccionados por Amazon Nova y alojar sus modelos personalizados de forma segura en AWS. En algún momento, estos flujos de trabajo de personalización pueden volverse complejos y requieren una configuración técnica y de infraestructura y una inversión de tiempo considerable, lo que los convierte en una alta barrera de entrada.

Para combatir este problema, estamos lanzando el SDK de Nova Forge que hace accesible la personalización de LLM, lo que permite a los equipos aprovechar todo el potencial de los modelos de lenguaje sin los desafíos de la gestión de dependencias, la selección de imágenes y la configuración de recetas y, finalmente, reducir la barrera de entrada. Consideramos la personalización como un proceso continuo dentro de la escala de escalamiento y, por lo tanto, el SDK de Nova Forge admite todas las opciones de personalización, desde Amazon Bedrock hasta Amazon SageMaker AI utilizando las capacidades de Amazon Nova Forge.

SDK de Nova Forge: creado específicamente para desarrolladores por desarrolladores

Nova Forge SDK ofrece un conjunto de herramientas unificado diseñado específicamente para clientes y desarrolladores de Nova. Abarca todo el ciclo de vida de personalización y brinda soluciones en un solo lugar, desde herramientas de preparación de datos, gestión de trabajos de capacitación hasta la implementación de modelos. Nova Forge SDK representa un intento de eliminar el trabajo pesado indiferenciado de la personalización de LLM, para que pueda concentrarse en experimentar. Complementa las herramientas existentes al ofrecer flujos de trabajo con orientación y valores predeterminados inteligentes, al tiempo que permite a los usuarios avanzados acceder a toda la potencia de los SDK de servicios subyacentes cuando sea necesario. Esto brinda a los clientes flujos de trabajo optimizados para tareas comunes y flexibilidad total para casos de uso avanzados.

El SDK se puede entender en tres capas:

Capa de entrada: esta es la capa que pasa como entradas, esto puede incluir el objeto RuntimeManager (incluido qué hardware usar, qué plataforma usar y qué función de IAM usar desde el punto de vista de los permisos), junto con el método de entrenamiento, los datos de entrenamiento y cualquier hiperparámetro que elija anular, junto con el modelo de elección para personalizar. Capa de personalizador: esta es la capa intermedia que recibe estas entradas y detrás de escena crea las configuraciones de recetas correctas y lanza el trabajo con los valores de entrada pasados. Capa de salida: la capa de salida emite los artefactos de salida, incluidos Amazon CloudWatch Logs, métricas de flujo de ML, registros de tablero tensorial junto con el artefacto del modelo entrenado final que se puede usar para ajustar aún más el modelo mediante un ajuste fino iterativo o implementar el modelo en Amazon SageMaker AI o Amazon Bedrock para inferencia.

La siguiente imagen muestra un desglose de alto nivel de estos componentes.

El usuario del SDK de Nova Forge proporciona un RuntimeManager configurado, un modelo para personalizar y un método de entrenamiento para uno de los métodos API en un NovaModelCustomizer inicializado. La inicialización del Personalizador incluye especificar la ubicación desde la cual puede recuperar datos de entrenamiento. Suele ser una ubicación de Amazon Simple Storage Service (Amazon S3). Según estas configuraciones, el modelo de Personalizador maneja la configuración y el inicio de un trabajo de Amazon SageMaker AI para ejecutar la tarea especificada. Finalmente, la tarea completada genera artefactos de salida y (para la API de "entrenamiento") un modelo entrenado, al que luego puede hacer referencia a través del SDK o directamente usando las API de Amazon SageMaker.

Requisitos previos:

Antes de comenzar el flujo de trabajo de personalización, asegúrese de tener la siguiente configuración en su entorno. Esta publicación de blog utiliza Amazon SageMaker Training Jobs (SMTJ) como plataforma informática (no necesita un clúster HyperPod de Amazon SageMaker para seguirla)

No es necesaria la configuración de Amazon Nova Forge para esta publicación, ya que estamos revisando las funciones fundamentales disponibles para la personalización de Nova mediante Amazon SageMaker AI.

Nota: Si solo está interesado en los trabajos de capacitación de Amazon SageMaker, puede omitir por completo la configuración de Amazon SageMaker HyperPod.

Cuenta de AWS y CLI

Necesitará una cuenta de AWS. Si no tiene uno, siga las instrucciones de registro.

Luego, siga las instrucciones para instalar la interfaz de línea de comandos de AWS (AWS CLI) y configúrela con sus credenciales. Esto se utiliza para las llamadas API iniciales utilizadas para la configuración, y el SDK de Nova Forge comparte la cadena de credenciales de AWS CLI.

Finalmente, siga la documentación pública para configurar su acceso a la plataforma SageMaker AI, que el SDK de Nova Forge utiliza para brindarle acceso a los modelos y capacidades de personalización de Amazon Nova.

Funciones de IAM

Debe crear dos roles de IAM para trabajar con el SDK de Nova Forge, el rol de Usuario y el rol de Ejecución. El SDK de Nova Forge valida ambos roles durante la ejecución para asegurarse de que tengan los permisos mínimos requeridos; sin embargo, le recomendamos que complete los siguientes pasos de configuración:

Rol de usuario: el rol que asume en su máquina cuando ejecuta el SDK y la CLI de AWS. Este rol necesita permisos para Amazon SageMaker AI (CreateTrainingJob, DescribeTrainingJob), Amazon S3 (lectura/escritura en su depósito de datos), Amazon CloudWatch Logs (lectura) e IAM (PassRole). Consulte la documentación del SDK para conocer la política completa. Función de ejecución: la función que asume Amazon SageMaker AI para ejecutar trabajos de capacitación en su nombre. Su política de confianza debe permitir a sagemaker.amazonaws.com asumirla. Para conocer el conjunto completo de permisos recomendados, consulte la documentación del rol de ejecución de SageMaker. Siga los requisitos previos para ejecutar trabajos SMTJ para obtener instrucciones de configuración detalladas.

Cuotas de servicio

Esta publicación utiliza instancias ml.p5.48xlarge tanto para capacitación como para evaluación. Nova Lite 2.0 requiere un mínimo de 4 instancias para el entrenamiento SFT; Si ejecuta trabajos de capacitación y evaluación simultáneamente, es posible que necesite al menos cinco instancias.

Solicite cuotas suficientes para ml.p5.48xlarge para el uso de trabajos de capacitación a través de la consola de Cuotas de servicio para trabajos de capacitación de Amazon SageMaker.

Cubo S3

Cree un depósito de Amazon Simple Storage Service (Amazon S3) en la misma región de AWS que sus trabajos de capacitación (usamos us-east-1 en esta publicación) y asegúrese de que sus roles de usuario y de ejecución de IAM tengan acceso de lectura y escritura al depósito. Aquí es donde almacenaremos los datos de entrenamiento y los artefactos de salida para esta publicación.

Amazon SageMaker HyperPod (opcional)

Además de los trabajos de formación de Amazon SageMaker (SMTJ), el SDK de Nova Forge también admite la ejecución de trabajos en Amazon SageMaker HyperPod (SMHP). Si bien esta publicación no se centra en la personalización de SMHP, si desea ejecutar capacitación en SMHP, debe configurar un clúster HyperPod de Amazon SageMaker con grupos de instancias restringidos (RIG) para trabajar con los modelos de Amazon Nova.

Siga las instrucciones del taller de configuración de HyperPod RIG para configurar un clúster con RIG adecuados para la personalización de Amazon Nova.

Configurar el SDK de Nova Forge

Una vez que haya terminado con los requisitos previos, puede utilizar la siguiente guía para configurar su entorno para comenzar a usar Nova Forge SDK.

Entorno de Python

El SDK de Nova Forge requiere Python 3.12 o posterior. Recomendamos crear un entorno virtual para aislar dependencias y evitar conflictos con otros paquetes en su sistema:

python3.12 -m venv nova-sdk-env fuente nova-sdk-env/bin/activate # En Windows: nova-sdk-envScriptsactivate

Instalar el SDK

Puede instalar el SDK con el siguiente comando Pip:

instalación de pip amzn-nova-forge

Verifique la instalación importando los módulos clave en un archivo Python de muestra:

desde amzn_nova_forge importación (NovaModelCustomizer, SMTJRuntimeManager, TrainingMethod, EvaluationTask, CSVDatasetLoader, Model,)

A continuación se presentan breves descripciones de cada uno de estos módulos:

NovaModelCustomizer: la clase principal para interactuar con el SDK de Nova Forge. Contiene los métodos principales de la API y se utiliza para inicializar gran parte de la configuración de entrenamiento. SMTJRuntimeManager: administra la infraestructura de AWS necesaria para SMTJ. personalización, como el tipo de instancia seleccionada y el recuento de un trabajo de personalización. TrainingMethod: una enumeración de los posibles tipos de entrenamiento, que se puede utilizar para configurar un NovaModelCustomizer. EvaluaciónTask: una enumeración de los posibles tipos de evaluación, que se puede utilizar para configurar un NovaModelCustomizer. CSVDatasetLoader: se utiliza para cargar datos de archivos CSV para usar en el SDK de Nova Forge. Modelo: una enumeración de los modelos de Amazon Nova compatibles con el SDK de Nova Forge.

Nota: Para obtener más información sobre las diferentes funcionalidades del SDK, consulte el documento de especificaciones. Si utiliza un agente LLM para el trabajo de codificación, puede pedirle que revise el archivo AGENTS.md en el repositorio para enseñarle sobre el SDK.

Conclusión

La interfaz unificada del SDK abstrae la complejidad del formato de datos y las configuraciones específicas de la plataforma para que los desarrolladores puedan centrarse en lo que importa: sus datos, su dominio y sus objetivos comerciales. Ya sea que esté comenzando con ajustes en los trabajos de capacitación de Amazon SageMaker o planea ejecutar la personalización con Amazon SageMaker Hyperpod, el SDK brinda una experiencia consistente en todo el proceso de personalización.

Al eliminar las barreras tradicionales para la personalización de LLM, los requisitos de experiencia técnica y la inversión de tiempo, Nova Forge SDK permite a las organizaciones crear modelos que realmente comprendan su contexto único sin sacrificar las capacidades generales que hacen que los modelos básicos sean valiosos. El SDK se encarga de configurar los recursos informáticos, orquestar todo el proceso de personalización, monitorear los trabajos de capacitación e implementar puntos finales. El resultado es una IA empresarial que es a la vez especializada e inteligente, experta en el dominio y con amplias capacidades.

¿Listo para personalizar tus propios modelos Nova? Comience con el SDK de Nova Forge en GitHub y explore la documentación completa para comenzar a crear modelos adaptados a las necesidades de su empresa.

Sobre los autores

Mahima Chaudhary

Mahima Chaudhary es ingeniera de aprendizaje automático en el equipo de Amazon Nova Training Experience, donde trabaja en Nova Forge SDK y Reinforcement Fine-Tuning (RFT), ayudando a los clientes a personalizar y ajustar los modelos Nova en AWS. Aporta experiencia en MLOps y LLMOps, con un historial en la creación de sistemas de aprendizaje automático escalables y de grado de producción en aviación, atención médica, seguros y finanzas antes de Amazon. Con sede en California, cuando no envía modelos, la encontrarás persiguiendo atardeceres en una nueva ruta de senderismo, experimentando en la cocina o en lo profundo de una madriguera de documentales.

anupam dewan

Anupam Dewan es un arquitecto de soluciones senior que trabaja en el equipo de Amazon Nova y le apasiona la IA generativa y sus aplicaciones del mundo real. Se centra en la personalización de Nova y Nova Forge, ayudando a las empresas a aprovechar el verdadero potencial de los LLM con poder de personalización. También le apasiona enseñar ciencia de datos y análisis y ayudar a las empresas a crear LLM que funcionen para sus negocios. Fuera del trabajo, puedes encontrarlo haciendo senderismo, haciendo voluntariado o disfrutando de la naturaleza.

Swapneil Singh

Swapneil Singh es ingeniero de desarrollo de software en el equipo de Amazon Nova Training Experience, donde crea herramientas de desarrollo para la personalización del modelo de Amazon Nova. Es un colaborador principal del SDK de Nova Forge y de la Guía del usuario de Amazon Nova, y ayuda a los clientes a ajustar e implementar modelos Nova personalizados en AWS. Anteriormente, trabajó en telemetría y procesamiento de registros en AWS Elastic Container Services. Fuera del trabajo, puedes encontrarlo jugando con orquestaciones de IA y lenguajes de programación, o en la biblioteca de Boston.