Hoy, nos complace anunciar que los modelos de base Meta Llama 3 están disponibles a través de Inicio rápido de Amazon SageMaker para implementar y ejecutar inferencias. Los modelos Llama 3 son una colección de modelos de texto generativo previamente entrenados y ajustados.
En esta publicación, explicamos cómo descubrir e implementar modelos de Llama 3 a través de SageMaker JumpStart.
¿Qué es Meta Llama 3?
Llama 3 viene en dos tamaños de parámetros (8B y 70B con una longitud de contexto de 8k) que pueden admitir una amplia gama de casos de uso con mejoras en el razonamiento, la generación de código y el seguimiento de instrucciones. Llama 3 utiliza una arquitectura transformadora solo decodificadora y un nuevo tokenizador que proporciona un rendimiento mejorado del modelo con un tamaño de 128k. Además, Meta mejoró los procedimientos posteriores al entrenamiento que redujeron sustancialmente las tasas de falso rechazo, mejoraron la alineación y aumentaron la diversidad en las respuestas del modelo. Ahora puede obtener las ventajas combinadas del rendimiento de Llama 3 y los controles MLOps con funciones de Amazon SageMaker como SageMaker Pipelines, SageMaker Debugger o registros de contenedores. Además, el modelo se implementará en un entorno seguro de AWS bajo los controles de su VPC, lo que ayudará a brindar seguridad de los datos.
¿Qué es SageMaker JumpStart?
Con SageMaker JumpStart, puede elegir entre una amplia selección de modelos de bases disponibles públicamente. Los profesionales de ML pueden implementar modelos básicos en instancias dedicadas de SageMaker desde un entorno aislado de red y personalizar modelos utilizando SageMaker para el entrenamiento e implementación de modelos. Ahora puedes descubrir e implementar modelos de Llama 3 con unos pocos clics en Amazon SageMaker Estudio o mediante programación a través del SDK de Python de SageMaker, lo que le permite obtener el rendimiento del modelo y controles MLOps con funciones de SageMaker como Canalizaciones de SageMaker, Depurador de SageMakero registros de contenedor. El modelo se implementa en un entorno seguro de AWS y bajo los controles de su VPC, lo que ayuda a brindar seguridad de los datos. Los modelos Llama 3 están disponibles hoy para implementación e inferencia en Amazon SageMaker Studio en us-east-1 (Virginia del Norte), us-east-2 (Ohio), us-west-2 (Oregón), eu-west-1 (Irlanda) y ap-northeast-1 (Tokio) Regiones de AWS.
Descubre modelos
Puede acceder a los modelos básicos a través de SageMaker JumpStart en la interfaz de usuario de SageMaker Studio y el SDK de SageMaker Python. En esta sección, repasamos cómo descubrir los modelos en SageMaker Studio.
SageMaker Studio es un entorno de desarrollo integrado (IDE) que proporciona una única interfaz visual basada en web donde puede acceder a herramientas diseñadas específicamente para realizar todos los pasos de desarrollo de ML, desde la preparación de datos hasta la creación, el entrenamiento y la implementación de sus modelos de ML. Para obtener más detalles sobre cómo comenzar y configurar SageMaker Studio, consulte Amazon SageMaker Estudio.
En SageMaker Studio, puede acceder a SageMaker JumpStart, que contiene modelos, cuadernos y soluciones prediseñadas previamente entrenados, en Soluciones prediseñadas y automatizadas.
Desde la página de inicio de SageMaker JumpStart, puede descubrir fácilmente varios modelos navegando a través de diferentes centros que llevan el nombre de proveedores de modelos. Puedes encontrar modelos de Llama 3 en Meta Hub. Si no ve los modelos de Llama 3, actualice su versión de SageMaker Studio apagándolo y reiniciándolo. Para obtener más información, consulte Apagar y actualizar las aplicaciones Studio Classic.
Puede encontrar modelos de Llama 3 buscando “Meta-llama-3” en el cuadro de búsqueda ubicado en la parte superior izquierda.
Puede descubrir todos los modelos Meta disponibles en SageMaker JumpStart haciendo clic en Meta Hub.
Al hacer clic en una tarjeta de modelo, se abre la página de detalles del modelo correspondiente, desde la cual puede implementar fácilmente el modelo.
Implementar un modelo
cuando tu eliges Desplegar y reconoce los términos del EULA, comenzará la implementación.
Puede monitorear el progreso de la implementación en la página que aparece después de hacer clic en el botón Implementar.
Alternativamente, puedes elegir Cuaderno abierto para implementar a través del cuaderno de ejemplo. El cuaderno de ejemplo proporciona orientación integral sobre cómo implementar el modelo para inferencia y limpieza de recursos.
Para implementar usando el portátil, comience seleccionando un modelo apropiado, especificado por el model_id. Puede implementar cualquiera de los modelos seleccionados en SageMaker con el siguiente código.
Por defecto accept_eula se establece en False. Debe aceptar manualmente el CLUF para implementar el punto final correctamente. Al hacerlo, acepta el acuerdo de licencia de usuario y la política de uso aceptable. También puede encontrar el acuerdo de licencia. sitio web de llamas. Esto implementa el modelo en SageMaker con configuraciones predeterminadas que incluyen el tipo de instancia predeterminado y las configuraciones de VPC predeterminadas. Puede cambiar esta configuración especificando valores no predeterminados en JumpStartModel. Para obtener más información, consulte lo siguiente documentación.
La siguiente tabla enumera todos los modelos de Llama 3 disponibles en SageMaker JumpStart junto con los model_idslos tipos de instancia predeterminados y la cantidad máxima de tokens totales (suma de la cantidad de tokens de entrada y la cantidad de tokens generados) admitidos para cada uno de estos modelos.
| Nombre del modelo | ID del modelo | Fichas totales máximas | Tipo de instancia predeterminado |
| Meta-Llama-3-8B | meta-generación-de-texto-llama-3-8B | 8192 | ml.g5.12xgrande |
| Meta-Llama-3-8B-Instrucción | meta-generación-de-texto-llama-3-8B-instruct | 8192 | ml.g5.12xgrande |
| Meta-Llama-3-70B | meta-generación de texto-llama-3-70b | 8192 | ml.p4d.24xgrande |
| Meta-Llama-3-70B-Instrucción | meta-generación de texto-llama-3-70b-instruct | 8192 | ml.p4d.24xgrande |
Ejecutar inferencia
Después de implementar el modelo, puede ejecutar inferencias contra el punto final implementado a través del predictor de SageMaker. Los modelos de instrucción optimizados (Llama 3: 8B Instruct y 70B Instruct) aceptan un historial de chats entre el usuario y el asistente de chat, y generan el chat posterior. Los modelos previamente entrenados (Llama 3: 8B y 70B) requieren un mensaje de cadena y completan el texto en el mensaje proporcionado.
Los parámetros de inferencia controlan el proceso de generación de texto en el punto final. Los nuevos tokens Max controlan el tamaño de la salida generada por el modelo. Esto no es lo mismo que el número de palabras porque el vocabulario del modelo no es el mismo que el vocabulario del idioma inglés y cada token puede no ser una palabra del idioma inglés. El parámetro de temperatura controla la aleatoriedad en la salida. Una temperatura más alta da como resultado resultados más creativos y alucinados. Todos los parámetros de inferencia son opcionales.
Indicaciones de ejemplo para el modelo 70B
Puede utilizar los modelos Llama 3 para completar texto en cualquier fragmento de texto. A través de la generación de texto, puede realizar una variedad de tareas, como responder preguntas, traducir idiomas y analizar sentimientos, y más. La carga útil de entrada al punto final se parece al siguiente código:
A continuación se muestran algunos ejemplos de indicaciones y el texto generado por el modelo. Todas las salidas se generan con parámetros de inferencia. {"max_new_tokens":64, "top_p":0.9, "temperature":0.6}.
En el siguiente ejemplo, mostramos cómo utilizar modelos Llama 3 con aprendizaje en contexto de pocas tomas donde proporcionamos muestras de entrenamiento disponibles para el modelo. Solo realizamos inferencias sobre el modelo implementado y durante este proceso, y los pesos del modelo no cambian.
Indicaciones de ejemplo para el modelo 70B-Instruct
Con los modelos de instrucción de Llama 3 que están optimizados para casos de uso de diálogo, la entrada a los puntos finales del modelo de instrucción es el historial previo entre el asistente de chat y el usuario. Puedes hacer preguntas contextuales a la conversación que ha tenido lugar hasta ahora. También puede proporcionar la configuración del sistema, como personas, que definen el comportamiento del asistente de chat. Si bien el formato de carga útil de entrada es el mismo que el del modelo base previamente entrenado, el texto de entrada debe formatearse de la siguiente manera:
En esta plantilla de instrucciones, opcionalmente puede comenzar con un system rol e incluir tantos roles alternos como se desee en la historia por turnos. El papel final siempre debe ser assistant y terminar con dos nuevos avances de línea.
A continuación, considere algunos ejemplos de indicaciones y respuestas del modelo. En el siguiente ejemplo, el usuario hace una pregunta sencilla al asistente.
En el siguiente ejemplo, el usuario mantiene una conversación con el asistente sobre sitios turísticos de París. Luego el usuario indaga sobre la primera opción recomendada por el asistente del chat.
En los siguientes ejemplos, establecemos la configuración del sistema.
Limpiar
Una vez que haya terminado de ejecutar el cuaderno, asegúrese de eliminar todos los recursos que creó en el proceso para que se detenga su facturación. Utilice el siguiente código:
Conclusión
En esta publicación, le mostramos cómo comenzar con los modelos Llama 3 en SageMaker Studio. Ahora tienes acceso a cuatro modelos de base Llama 3 que contienen miles de millones de parámetros. Dado que los modelos básicos están previamente entrenados, también pueden ayudar a reducir los costos de capacitación e infraestructura y permitir la personalización para su caso de uso. Verificar Inicio rápido de SageMaker en SageMaker Studio ahora para comenzar.
Acerca de los autores
kyle ulrich es Científico Aplicado II en AWS
Xin Huang es científico aplicado sénior en AWS
Qinglan es ingeniero desarrollador de software sénior en AWS
Haotian An es Ingeniero Desarrollador de Software II en AWS
Christopher Whitten es Ingeniero de Desarrollo de Software II en AWS
Tyler Osterberg es Ingeniero de Desarrollo de Software I en AWS
Manan Shah es gerente de desarrollo de software en AWS
Jonathan Guinea es ingeniero desarrollador de software sénior en AWS
Adriana Simmons es gerente senior de marketing de productos en AWS
Junio ganó es gerente senior de productos en AWS
ashish khetan es científico aplicado sénior en AWS
Rachna Chadha es arquitecto principal de soluciones: IA/ML en AWS
Deepak Rupakula es especialista principal en GTM en AWS