Implementación de la implementación a pedido con modelos personalizados de Amazon Nova en Amazon Bedrock

Roca madre de Amazon Ofrece capacidades de personalización del modelo para que los clientes adapten las versiones de modelos de base (FMS) a sus necesidades específicas a través de características como ajuste y destilación. Hoy, anunciamos el lanzamiento de la implementación a pedido para modelos personalizados listos para implementarse en Amazon Bedrock.

La implementación a pedido para modelos personalizados proporciona una opción de implementación adicional que escala con sus patrones de uso. Este enfoque permite invocar modelos personalizados solo cuando sea necesario, con solicitudes procesadas en tiempo real sin requerir recursos de cómputo previamente provisionados.

La opción de implementación a pedido incluye un modelo de precios basado en token que cobra en función del número de tokens procesados durante la inferencia. Este enfoque de pago por uso complementa la opción de rendimiento aprovisionada existente, dando a los usuarios flexibilidad para elegir el método de implementación que mejor se alinee con sus requisitos específicos de carga de trabajo y objetivos de costos.

En esta publicación, caminamos por el flujo de trabajo de implementación de modelo personalizado para el rock de Amazon y proporcionamos guías de implementación paso a paso utilizando ambas Consola de gestión de AWS y API o AWS SDKS. También discutimos las mejores prácticas y consideraciones para implementar personalizadas Amazon Nova Modelos en Amazon Bedrock.

Comprensión del flujo de trabajo de implementación del modelo personalizado a pedido

El ciclo de vida de personalización del modelo representa el viaje de extremo a extremo desde la conceptualización hasta la implementación. Este proceso comienza con la definición de su caso de uso específico, la preparación y el formateo de los datos apropiados, y luego la personalización del modelo a través de características como Amazon Bedrock Finuning o Destilación del modelo de roca madre de Amazon. Cada etapa se basa en la anterior, creando un camino hacia la implementación de la producción IA generativa capacidades que adaptas a tus requisitos. El siguiente diagrama ilustra este flujo de trabajo.

Después de personalizar su modelo, las fases de evaluación e implementación determinan cómo el modelo estará disponible para la inferencia. Aquí es donde la implementación personalizada del modelo a pedido se vuelve valioso, ofreciendo una opción de implementación que se alinea con cargas de trabajo variables e implementaciones conscientes de costos. Al usar la implementación a pedido, puede invocar su modelo personalizado a través de la consola AWS o las operaciones de API estándar utilizando el identificador del modelo, con recursos de cómputo asignados automáticamente solo cuando sea necesario. La implementación a pedido proporciona flexibilidad mientras se mantiene las expectativas de rendimiento, por lo que puede integrar sin problemas modelos personalizados en sus aplicaciones con la misma experiencia sin servidor ofrecida por Amazon Bedrock; todos los recursos de cómputo se administran automáticamente para usted, en función de su uso real. Debido a que el flujo de trabajo admite mejoras iterativas, puede refinar sus modelos en función de los resultados de la evaluación y la evolución de las necesidades comerciales.

Requisitos previos

Esta publicación supone que tiene un modelo personalizado de Amazon Nova antes de implementarlo utilizando la implementación a pedido. La implementación a pedido requiere modelos Amazon Nova recientemente personalizados después de este lanzamiento. Los modelos personalizados previamente no son compatibles con esta opción de implementación. Para obtener instrucciones sobre la creación o personalización de su modelo Nova a través del ajuste o la destilación, consulte estos recursos:

Después de personalizar con éxito su modelo de Amazon Nova, puede continuar implementándolo utilizando la opción de implementación a pedido como se detalla en las siguientes secciones.

Guía de implementación para la implementación a pedido

Existen dos enfoques principales para implementar la implementación a pedido para sus modelos personalizados de Amazon Nova en Amazon Bedrock: usando la consola de rock de Amazon o utilizando la API o SDK. Primero, exploramos cómo implementar su modelo a través de la consola de rock de Amazon, que proporciona una interfaz fácil de usar para configurar y administrar sus implementaciones.

Implementación paso a paso utilizando la consola de rock de Amazon

Para implementar la implementación a pedido para sus modelos personalizados de Amazon Nova en Amazon Bedrock usando la consola, siga estos pasos:

  1. En la consola de rock de Amazon, seleccione su modelo personalizado (ajuste fino o destilación del modelo) para implementar. Elegir Configurar inferencia y seleccionar Desplegar a pedidocomo se muestra en la siguiente captura de pantalla.

  1. Bajo Detalles de implementacióningrese a un Nombre y un Descripción. Tienes la opción de agregar Etiquetascomo se muestra en la siguiente captura de pantalla. Elegir Crear Para comenzar la implementación a pedido del modelo personalizado.

Bajo Implementaciones de modelos personalizadosel estado de su implementación debe estar en funcionamiento, activo o fallido, como se muestra en la siguiente captura de pantalla.

Puede seleccionar una implementación para encontrar ARN de despliegue, Tiempo de creación, Última actualizacióny Estado para el modelo personalizado seleccionado.

El modelo personalizado está implementado y listo utilizando la implementación a pedido. Pruébelo en el patio de recreo de la prueba o vaya a Patio de recreo de chat/textoelegir Modelos personalizados bajo Categorías. Seleccione su modelo, elija Bajo demanda bajo Inferenciay seleccione por el nombre de la implementación, como se muestra en la siguiente captura de pantalla.

Implementación paso a paso utilizando API o SDK

Después de haber capacitado al modelo con éxito, puede implementarlo para evaluar la calidad y la latencia de la respuesta o para usar el modelo como modelo de producción para su caso de uso. Usas CreateCustomModelDeployment API para crear implementación del modelo para el modelo capacitado. Los siguientes pasos muestran cómo usar las API para implementar y eliminar la implementación del modelo personalizado para inferencia a pedido.

import boto3
import json

# First, create and configure an Amazon Bedrock client:
bedrock_client = boto3.client(
service_name="bedrock",region_name="<region-info>")

# create custom model deployment 
response = bedrock_client.create_custom_model_deployment(
                        modelDeploymentName="<model-deployment-name>",
                        modelArn="<trained-model-arn>",
                        description="<model-deployment-description>",
                        tags=[
{"key":"<your-key>",
 "value":"<your-value>"},
   ])

Después de haber creado con éxito una implementación de modelo, puede verificar el estado de la implementación utilizando GetCustomModelDeployment API como sigue:

response = bedrock_client.get_custom_model_deployment( 
			customModelDeploymentIdentifier="<custom-deployment-arn>")

GetCustomModelDeployment Apoya a tres estados: Creating , Active y Failed. Cuando el estado en respuesta es Activedebería poder usar el modelo personalizado a través de la implementación a pedido con InvokeModel o Converse API, como se muestra en el siguiente ejemplo:

# Define Runtime Client
bedrock_runtime = boto3.client(service_name="bedrock-runtime", region_name="<region-info>") 
# invoke a deployed custom model using Converse API
response = bedrock_runtime.converse(
                    modelId="<custom-deployment-arn>",
                    messages=[
                        {
                            "role": "user",
                            "content": [
                                {
                                    "text": "<your-prompt-for-custom-model>",
                                }
                            ]
                        }
                    ]
                )

result = response.get('output')
print(result)

# invoke a deployed custom model using InvokeModel API
request_body = {
    "schemaVersion": "messages-v1",
    "messages": [{"role": "user", 
                  "content": [{"text": "<your-prompt-for-custom-model>"}]}],
    "system": [{"text": "<system prompt>"}],
    "inferenceConfig": {"maxTokens": 500, 
                        "topP": 0.9, 
                        "temperature": 0.0
                        }
}
body = json.dumps(request_body)
response = bedrock_runtime.invoke_model(
        modelId="<custom-deployment-arn>",
        body=body
    )

# Extract and print the response text
model_response = json.loads(response["body"].read())
response_text = model_response["output"]["message"]["content"][0]["text"]
print(response_text)

Siguiendo estos pasos, puede implementar y usar su modelo personalizado a través de la API de roca madre de Amazon y usar instantáneamente su modelo eficiente y de alto rendimiento adaptado a sus casos de uso a través de la implementación a pedido.

Mejores prácticas y consideraciones

La implementación exitosa de la implementación a pedido con modelos personalizados depende de comprender varios factores operativos. Estas consideraciones, incluidas la latencia, la disponibilidad regional, las limitaciones de las cuotas, las selecciones de opciones de implementación y las estrategias de gestión de costos, afectan directamente su capacidad para implementar soluciones efectivas al tiempo que optimiza la utilización de recursos. Las siguientes pautas lo ayudan a tomar decisiones informadas al implementar su estrategia de inferencia:

  • Latencia de inicio en frío -Cuando se usa la implementación a pedido, puede experimentar latencias iniciales de inicio en frío, que generalmente duran varios segundos, dependiendo del tamaño del modelo. Esto ocurre cuando la implementación no ha recibido tráfico reciente y necesita reinicializar los recursos de cálculo.
  • Disponibilidad regional – En el lanzamiento, la implementación del modelo personalizado estará disponible en US East (N. Virginia) para los modelos Amazon Nova.
  • Gestión de cuotas – Cada implementación del modelo personalizado tiene cuotas específicas:
    • Tokens por minuto (TPM)
    • Solicitudes por minuto (RPM)
    • El número de Creating despliegue de estado
    • Implementaciones totales a pedido en una sola cuenta

Cada implementación funciona de forma independiente dentro de su cuota asignada. Si un despliegue excede su asignación TPM o RPM, las solicitudes entrantes serán estranguladas. Puede solicitar aumentos de cuotas enviando un boleto o contactando a su equipo de cuenta de AWS.

  • Elegir entre la implementación del modelo personalizado y el rendimiento aprovisionado -Puede configurar una inferencia en un modelo personalizado creando una implementación de modelo personalizado (para uso a pedido) o compra de rendimiento aprovisionado. La elección depende de las regiones y modelos compatibles para cada opción de inferencia, requisito de rendimiento y consideraciones de costo. Estas dos opciones funcionan de forma independiente y se pueden usar simultáneamente para el mismo modelo personalizado.
  • Gestión de costos -La implementación a pedido utiliza un modelo de precios de pago por uso basado en el número de tokens procesados durante la inferencia. Puede usar etiquetas de asignación de costos en sus implementaciones a pedido para rastrear y administrar costos de inferencia, permitiendo un mejor seguimiento de presupuesto y optimización de costos a través de AWS Costo Explorer.

Limpieza

Si ha estado probando la función de implementación a pedido y no planea continuar usándola, es importante limpiar sus recursos para evitar incurrir en costos innecesarios. Aquí le mostramos cómo eliminar el uso de la consola de rock de Amazon:

  1. Navegue a su implementación de modelo personalizado
  2. Seleccione la implementación que desea eliminar
  3. Eliminar la implementación

Aquí le mostramos cómo eliminar el uso de la API o SDK:

Para eliminar una implementación de modelo personalizado, puede usar DeleteCustomModelDeployment API. El siguiente ejemplo demuestra cómo eliminar la implementación de su modelo personalizado:

# delete deployed custom model deployment
response = bedrock_client.delete_custom_model_deployment(
              customModelDeploymentIdentifier="<trained-model-arn>"
                        )

Conclusión

La introducción del despliegue a pedido para modelos personalizados en Amazon Bedrock representa un avance significativo para hacer que la implementación del modelo de IA sea más accesible, rentable y flexible para empresas de todos los tamaños. La implementación a pedido ofrece las siguientes ventajas:

  • Optimización de costos -El precio de pago por uso le permite solo pagar los recursos de cómputo que realmente usa
  • Simplicidad operacional – La gestión automática de recursos elimina la necesidad de aprovisionamiento de infraestructura manual
  • Escalabilidad – Manejo sin costuras de cargas de trabajo variables sin planificación de capacidad inicial
  • Flexibilidad -Libertad para elegir entre el rendimiento a pedido y aprovisionado en función de sus necesidades específicas

Comenzar es sencillo. Comience por completar la personalización de su modelo a través del ajuste o la destilación, luego elija la implementación a pedido utilizando la consola de administración de AWS o la API. Configure sus detalles de implementación, valida el rendimiento del modelo en un entorno de prueba e integre sin problemas en sus flujos de trabajo de producción.

¡Comience a explorar la implementación a pedido para modelos personalizados en Amazon Bedrock hoy! Visite el Documentación de Amazon Bedrock Para comenzar el viaje de personalización de su modelo y experimentar los beneficios de la infraestructura de IA flexible y rentable. Para ejemplos de implementación práctica, consulte nuestro Repositorio de Github que contiene muestras de código detalladas para personalizar los modelos de Amazon Nova y evaluarlos utilizando la implementación del modelo personalizado a pedido.


Sobre los autores

Yanyan Zhang Es una científica de datos de IA generativa senior en Amazon Web Services, donde ha estado trabajando en tecnologías de IA/ML de vanguardia como especialista generativo de IA, ayudando a los clientes a usar IA generativa para lograr los resultados deseados. Yanyan se graduó de la Universidad de Texas A&M con un doctorado en Ingeniería Eléctrica. Fuera del trabajo, le encanta viajar, hacer ejercicio y explorar cosas nuevas.

Sovik Kumar Nath es un arquitecto de soluciones senior de IA/ML y AI generativa con AWS. Tiene una amplia experiencia en el diseño de soluciones de análisis de negocios y aprendizaje automático de extremo a extremo en finanzas, operaciones, marketing, atención médica, gestión de la cadena de suministro e IoT. Tiene maestros dobles de la Universidad del Sur de Florida, la Universidad de Friborg, Suiza, y una licenciatura del Instituto Indio de Tecnología, Kharagpur. Fuera del trabajo, a Sovik le gusta viajar, llevar paseos en ferry y ver películas.

Ishan Singh es un científico generativo de datos de IA generativo en Amazon Web Services, donde ayuda a los clientes a construir soluciones y productos de IA generativos innovadores y responsables. Con una sólida experiencia en IA/ML, Ishan se especializa en la construcción de soluciones generativas de IA que generan valor comercial. Fuera del trabajo, le gusta jugar voleibol, explorar senderos locales de bicicletas y pasar tiempo con su esposa y su perro, Beau.

Koushik Mani es un arquitecto de soluciones asociadas en AWS. Había trabajado como ingeniero de software durante dos años centrándose en el aprendizaje automático y los casos de uso de la computación en la nube en Telstra. Completó su Maestría en Ciencias de la Computación de la Universidad del Sur de California. Le apasiona el aprendizaje automático y los casos generativos de uso de IA y las soluciones de construcción.

Rishabh agrawal es un ingeniero de software senior que trabaja en servicios de IA en AWS. En su tiempo libre, le gusta caminar, viajar y leer.

Shreeya sharma es una gerente de productos técnicos senior en AWS, donde ha estado trabajando para aprovechar el poder de la IA generativa para ofrecer productos innovadores y centrados en el cliente. Shreeya tiene una maestría de la Universidad de Duke. Fuera del trabajo, le encanta viajar, bailar y cantar.