Ml 16640 Modelreg Blog 1 1186x630.jpeg

Inteligencia artificial generativa Los modelos de base (FM) de inteligencia artificial están ganando popularidad entre las empresas debido a su versatilidad y potencial para abordar una variedad de casos de uso. El verdadero valor de los FM se materializa cuando se adaptan a datos específicos del dominio. La gestión de estos modelos a lo largo del ciclo de vida del negocio y del modelo puede generar complejidad. A medida que los FM se adaptan a diferentes dominios y datos, la puesta en funcionamiento de estos canales se vuelve fundamental.

Amazon SageMakerun servicio completamente administrado para crear, entrenar e implementar modelos de aprendizaje automático (ML), ha experimentado una mayor adopción para personalizar e implementar FM que impulsan aplicaciones de IA generativas. SageMaker proporciona funciones avanzadas para crear flujos de trabajo automatizados para implementar modelos a escala. Una de las características clave que permite la excelencia operativa en torno a la gestión de modelos es la Registro de modelosEl Registro de modelos ayuda a catalogar y administrar las versiones de modelos y facilita la colaboración y la gobernanza. Cuando se entrena y evalúa el rendimiento de un modelo, se puede almacenar en el Registro de modelos para su administración.

Amazon SageMaker ha lanzado nuevas funciones en Model Registry que facilitan la creación de versiones y la catalogación de modelos de modelado. Los clientes pueden usar SageMaker para entrenar o ajustar modelos de modelado, incluidos Inicio rápido de Amazon SageMaker y La roca madre del Amazonas modelos y también administrar estos modelos dentro de Model Registry. A medida que los clientes comienzan a escalar aplicaciones de IA generativa en varios casos de uso, como el ajuste fino para tareas específicas del dominio, la cantidad de modelos puede crecer rápidamente. Para realizar un seguimiento de los modelos, las versiones y los metadatos asociados, SageMaker Model Registry se puede utilizar como un inventario de modelos.

En esta publicación, exploramos las nuevas características de Model Registry que agilizan la gestión de FM: ahora puede registrar artefactos de modelos descomprimidos y pasar una bandera de aceptación del Acuerdo de licencia de usuario final (EULA) sin necesidad de que los usuarios intervengan.

Descripción general

Model Registry ha funcionado bien para los modelos tradicionales, que son más pequeños. En el caso de los FM, existían desafíos debido a su tamaño y a los requisitos de intervención del usuario para la aceptación del EULA. Con las nuevas funciones de Model Registry, se ha vuelto más fácil registrar un FM perfeccionado dentro de Model Registry, que luego se puede implementar para su uso real.

Un ciclo de vida típico de desarrollo de modelos es un proceso iterativo. Llevamos a cabo muchos ciclos de experimentación para lograr el rendimiento esperado del modelo. Una vez entrenados, estos modelos se pueden registrar en el Registro de modelos, donde se catalogan como versiones. Los modelos se pueden organizar en grupos, las versiones se pueden comparar en función de sus métricas de calidad y los modelos pueden tener un estado de aprobación asociado que indique si se pueden implementar.

Una vez que el modelo se aprueba manualmente, se puede activar un flujo de trabajo de integración continua e implementación continua (CI/CD) para implementar estos modelos en producción. De manera opcional, Model Registry se puede utilizar como un repositorio de modelos que están aprobados para su uso por parte de una empresa. Luego, varios equipos pueden implementar estos modelos aprobados desde Model Registry y crear aplicaciones en torno a ellos.

Un ejemplo de flujo de trabajo podría seguir estos pasos y se muestra en el siguiente diagrama:

  1. Seleccione un modelo de SageMaker JumpStart y regístrelo en el Registro de modelos
  2. Alternativamente, puede ajustar un modelo JumpStart de SageMaker
  3. Evalúe el modelo con la evaluación de modelos de SageMaker. SageMaker permite la evaluación humana si así se desea.
  4. Cree un grupo de modelos en el Registro de modelos. Para cada ejecución, cree una versión del modelo. Agregue su grupo de modelos a una o más colecciones del Registro de modelos, que se pueden usar para agrupar modelos registrados que están relacionados entre sí. Por ejemplo, podría tener una colección de modelos de lenguaje grandes (LLM) y otra colección de modelos de difusión.
  5. Implemente los modelos como puntos finales de inferencia de SageMaker que puedan ser consumidos por aplicaciones de IA generativa.

Figura 1: Flujo de trabajo del Registro de modelos para modelos de base

Para brindar un mejor soporte a las aplicaciones de IA generativa, Model Registry lanzó dos nuevas funciones: ModelDataSource y el URI del modelo de origen. En las siguientes secciones, se explorarán estas funciones y cómo usarlas.

ModelDataSource acelera la implementación y brinda acceso a modelos dependientes del EULA

Hasta ahora, los artefactos del modelo debían almacenarse junto con el código de inferencia cuando un modelo se registraba en el Registro de modelos en un formato comprimido. Esto planteaba desafíos para las aplicaciones de IA generativa donde los FM son de un tamaño muy grande con miles de millones de parámetros. El gran tamaño de los FM cuando se almacenaban como modelos comprimidos estaba provocando una mayor latencia en el tiempo de inicio del punto final de SageMaker porque la descompresión de estos modelos en el tiempo de ejecución llevaba mucho tiempo. model_data_source El parámetro ahora puede aceptar la ubicación de los artefactos del modelo descomprimido en Servicio de almacenamiento simple de Amazon (Amazon S3) Esto simplifica el proceso de registro. Esto también elimina la necesidad de que los puntos finales descompriman los pesos del modelo, lo que reduce la latencia durante los tiempos de inicio de los puntos finales.

Además, modelos JumpStart públicos y ciertos FM de proveedores de servicios independientes, como LLAMA2, requieren que se acepte su EULA antes de usar los modelos. Por lo tanto, cuando se ajustaron los modelos públicos de SageMaker JumpStart, no se pudieron almacenar en el Registro de modelos porque un usuario necesitaba aceptar el acuerdo de licencia. El Registro de modelos agregó una nueva característica: soporte de bandera de aceptación de EULA dentro del model_data_source parámetro, lo que permite el registro de dichos modelos. Ahora los clientes pueden catalogar, versionar, asociar metadatos como métricas de entrenamiento y más en Model Registry para una variedad más amplia de FM.

Registre modelos descomprimidos almacenados en Amazon S3 mediante el SDK de AWS.

model_data_source = {
               "S3DataSource": {
                      "S3Uri": "s3://bucket/model/prefix/", 
                      "S3DataType": "S3Prefix",          
                      "CompressionType": "None",            
                      "ModelAccessConfig": {                 
                           "AcceptEula": true
                       },
                 }
}
model = Model(       
               sagemaker_session=sagemaker_session,        
               image_uri=IMAGE_URI,      
               model_data=model_data_source
)
model.register()

Registrar modelos que requieran un EULA.

from sagemaker.jumpstart.model importJumpStartModel
model_id = "meta-textgeneration-llama-2-7b"
my_model = JumpStartModel(model_id=model_id)
registered_model =my_model.register(accept_eula=True)
predictor = registered_model.deploy()

El URI del modelo de origen proporciona un registro simplificado y compatibilidad con modelos propietarios

Model Registry ahora admite el llenado automático de archivos de especificación de inferencia para algunos identificadores de modelos reconocidos, incluidos modelos seleccionados de AWS Marketplace, modelos alojados o paquetes de modelos con versiones en Model Registry. Debido a la compatibilidad de SourceModelURI con el llenado automático, puede registrar modelos JumpStart propietarios de proveedores como AI21 Labs, Cohere y LightOn sin necesidad del archivo de especificación de inferencia, lo que permite a su organización utilizar un conjunto más amplio de FM en Model Registry.

Anteriormente, para registrar un modelo entrenado en el Registro de modelos de SageMaker, debía proporcionar la especificación de inferencia completa requerida para la implementación, incluida una Registro de contenedores elásticos de Amazon (Amazon ECR) imagen y el archivo del modelo entrenado. Con el lanzamiento de source_uri SageMaker ha facilitado a los usuarios el registro de cualquier modelo al proporcionar un URI de modelo de origen, que es un campo de formato libre que almacena la identificación o ubicación del modelo en una identificación de modelo JumpStart y Bedrock patentada, la ubicación de S3 y la identificación de modelo MLflow. En lugar de tener que proporcionar los detalles necesarios para la implementación en el alojamiento de SageMaker en el momento de los registros, puede agregar los artefactos más tarde. Después del registro, para implementar un modelo, puede empaquetar el modelo como una especificación de inferencia y actualizar el Registro de modelos en consecuencia.

Por ejemplo, puede registrar un modelo en el Registro de modelos con un SourceURI de nombre de recurso de Amazon (ARN) del modelo.

model_arn = "<arn of the model to be registered>"
registered_model_package = model.register(        
        model_package_group_name="model_group_name",
        source_uri=model_arn
)

Posteriormente, puede actualizar el modelo registrado con la especificación de inferencia, haciéndolo implementable en SageMaker.

model_package = sagemaker_session.sagemaker_client.create_model_package( 
        ModelPackageGroupName="model_group_name", 
        SourceUri="source_uri"
)
mp = ModelPackage(        
       role=get_execution_role(sagemaker_session),
       model_package_arn=model_package["ModelPackageArn"],
       sagemaker_session=sagemaker_session
)
mp.update_inference_specification(image_uris=["ecr_image_uri"])

Registre un FM propietario de Amazon JumpStart.

from sagemaker.jumpstart.model import JumpStartModel
model_id = "ai21-contextual-answers"
my_model = JumpStartModel(
           model_id=model_id
)
model_package = my_model.register()

Conclusión

A medida que las organizaciones siguen adoptando la IA generativa en diferentes áreas de su negocio, es fundamental contar con una gestión de modelos y un control de versiones sólidos. Con Model Registry, puede lograr el control de versiones, el seguimiento, la colaboración, la gestión del ciclo de vida y la gobernanza de los FM.

En esta publicación, exploramos cómo Model Registry ahora puede respaldar de manera más efectiva la gestión de modelos de IA generativa a lo largo del ciclo de vida del modelo, lo que le permite gobernar y adoptar mejor la IA generativa para lograr resultados transformadores.

Para obtener más información sobre el Registro de Modelos, consulte Registrar e implementar modelos con Model RegistryPara comenzar, visite el Consola SageMaker.


Acerca de los autores

Chaitra Mathur Se desempeña como arquitecta de soluciones principal en AWS, donde su función consiste en asesorar a los clientes sobre la creación de soluciones sólidas, escalables y seguras en AWS. Con un gran interés en los datos y el aprendizaje automático, ayuda a los clientes a aprovechar los servicios de IA/ML y de IA generativa de AWS para abordar sus requisitos de aprendizaje automático de manera eficaz. A lo largo de su carrera, ha compartido su experiencia en numerosas conferencias y ha escrito varias publicaciones de blog en el área de aprendizaje automático.

Kait Healy es arquitecta de soluciones II en AWS. Se especializa en trabajar con empresas emergentes y clientes empresariales del sector automotriz, donde tiene experiencia en la creación de soluciones de IA/ML a gran escala para impulsar resultados comerciales clave.

Saumitra Vikaram es ingeniero de software sénior en AWS. Se centra en la tecnología de IA/ML, la gestión de modelos de ML, la gobernanza de ML y MLOps para mejorar la eficiencia y la productividad organizacionales generales.

Siamak Nariman es gerente sénior de productos en AWS. Se centra en la tecnología de IA/ML, la gestión de modelos de ML y la gobernanza de ML para mejorar la eficiencia y la productividad general de la organización. Tiene una amplia experiencia en la automatización de procesos y la implementación de diversas tecnologías.