Ml 16740 Image007 1108x630.jpg

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.

from sagemaker.jumpstart.model import JumpStartModel

model = JumpStartModel(model_id = "meta-textgeneration-llama-3-70b-instruct")
predictor = model.deploy(accept_eula=False)

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.

predictor.predict(payload)

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:

payload = {
    “inputs”: str,
   (optional)"parameters":{"max_new_tokens":int, "top_p":float, "temperature":float}
}

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}.

Input: Simply put, the theory of relativity states that
Output: 1) the laws of physics are the same for all observers, and 2) the speed of light is constant for all observers. The first part of the theory is known as the special theory of relativity, and the second part is known as the general theory of relativity.\nThe special theory of relativity states

Input: I believe the meaning of life is
Output:  to live a life of purpose, on purpose. I believe that we are all here to make a difference in the world, and that we are all here to make a difference in the lives of others. I believe that we are all here to make a difference in the world, and that we are all here to mak

Input: A brief message congratulating the team on the launch:\n\nHi everyone,\n\nI just 
Output: wanted to say congratulations on the launch of the new website! It looks great and I'm sure it will be a valuable resource for our customers. I know that a lot of hard work went into making this happen, so thank you all for your efforts.\n\nBest regards,\nJohn Doe\n

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.

Input:
Translate English to French:\nsea otter => loutre de mer\npeppermint => menthe poivrée\nplush girafe => girafe peluche\ncheese =>
Output:  fromage\npanda => panda\npenguin => pingouin\npolar bear => ours polaire\npuffin => macareux\nsloth => paresseux\nwalrus => morse\nwhale => baleine\nzebra => z\u00e8bre\nTranslate English to German:\n

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:

<|begin_of_text|><|start_header_id|>system<|end_header_id|>

[SYSTEM_TEXT]<|eot_id|><|start_header_id|>user<|end_header_id|>

[USER_TEXT]<|eot_id|><|start_header_id|>assistant<|end_header_id|>

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.

Input: <|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nwhat is the recipe of mayonnaise?<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n
Output: The classic condiment! Mayonnaise is a thick, creamy emulsion sauce made from a combination of oil, egg yolks, acid (such as vinegar or lemon juice), and seasonings. Here's a simple recipe to make mayonnaise at home:\n\n**Ingredients:**\n\n* 2 egg yolks\n* 1 tablespoon lemon juice or vinegar (such as apple cider vinegar or white wine vinegar)\n* 1/2 teaspoon Dijon mustard (optional, but recommended for flavor)\n* 1/2 cup (120 ml) neutral-tasting oil, such as canola, grapeseed, or sunflower oil\n* Salt, to taste\n\n**Instructions:**\n\n1. **Start with room temperature ingredients**: This is crucial for emulsification to occur.\n2. **In a medium-sized bowl**, whisk together the egg yolks, lemon juice or vinegar, and Dijon mustard (if using) until well combined.\n3. **Slowly add the oil**: While continuously whisking the egg yolk mixture, slowly pour in the oil in a thin, steady stream. Start with a very slow drizzle and gradually increase the flow as the mixture thickens.\n4. **Whisk constantly**: Keep whisking until the mixture has doubled in volume and has a thick, creamy consistency. This should take about 5-7 minutes.\n5. **Check the consistency**: Stop whisking when the mayonnaise has reached the desired consistency. It should be smooth, thick, and hold its shape when the whisk is lifted.\n6. **Season with salt**: Add salt to taste, and whisk until well combined.\n7. **Taste and adjust**: If the mayonnaise is too thick, add a little water. If it's not thick enough, add a little more oil.\n\n**Tips and Variations:**\n\n* Use a neutral-tasting oil to avoid flavoring the mayonnaise.\n* If you're using a stand mixer, use the whisk attachment and start with a slow speed, increasing as needed.\n* Add flavorings like minced garlic, chopped fresh herbs (e.g., parsley, dill, or tarragon), or grated ginger to create different flavor profiles.\n* For a lighter mayonnaise, use only 1 egg yolk or add a little water to thin it out.\n* If the mayonnaise breaks or separates, don't worry! Simply start again with a new egg yolk and slowly whisk in the broken mayonnaise.\n\n**Homemade Mayonnaise vs. Store-Bought:**\n\nWhile store-bought mayonnaise is convenient, homemade mayonnaise offers several advantages:\n\n* Freshness: Homemade mayonnaise is made to order, ensuring optimal flavor and texture.\n* Customization: You can tailor the flavor to your liking with various seasonings and ingredients.\n* No preservatives: Homemade mayonnaise doesn't contain added preservatives, making it a healthier option.\n\nEnjoy your freshly made mayonnaise!

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.

Input: <|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nI am going to Paris, what should I see?<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\nParis, the capital of France, is known for its stunning architecture, art museums, historical landmarks, and romantic atmosphere. Here are some of the top attractions to see in Paris:\n\n1. The Eiffel Tower: The iconic Eiffel Tower is one of the most recognizable landmarks in the world and offers breathtaking views of the city.\n2. The Louvre Museum: The Louvre is one of the world's largest and most famous museums, housing an impressive collection of art and artifacts, including the Mona Lisa.\n3. Notre-Dame Cathedral: This beautiful cathedral is one of the most famous landmarks in Paris and is known for its Gothic architecture and stunning stained glass windows.\n\nThese are just a few of the many attractions that Paris has to offer. With so much to see and do, it's no wonder that Paris is one of the most popular tourist destinations in the world.<|eot_id|><|start_header_id|>user<|end_header_id|>\n\nWhat is so great about #1?<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n
Output: The Eiffel Tower! It's an iconic symbol of Paris and one of the most recognizable landmarks in the world. Here are some reasons why it's so great:\n\n1. **Engineering marvel**: When it was built for the 1889 World's Fair, the Eiffel Tower was a groundbreaking feat of engineering. It was the tallest structure in the world at the time, standing at 324 meters (1,063 feet).\n2. **Panoramic views**: The Eiffel Tower offers breathtaking 360-degree views of the city from its observation decks. You can see many of Paris' famous landmarks, such as the Seine River, the Louvre, and Montmartre.\n3. **Romantic atmosphere**: The Eiffel Tower is often associated with romance and is a popular spot for proposals, weddings, and romantic dinners. The tower's iron latticework and twinkling lights at night add to its romantic ambiance.\n4. **Historical significance**: The Eiffel Tower has played a significant role in French history, serving as a communication tower during World War I and a symbol of French culture and engineering.\n5. **Accessibility**: The Eiffel Tower is easily accessible by public transportation or on foot, and there are various ways to experience it, including taking the stairs, elevator, or a guided tour.\n6. **Nighttime spectacle**: The Eiffel Tower is even more magical at night, when it's illuminated with thousands of twinkling lights. The light show, known as the \"Eiffel Tower Sparkle,\" takes place every hour on the hour from dusk to midnight.\n7. **Iconic status**: The Eiffel Tower has been featured in countless films, literature, and art, making it an instantly recognizable symbol of Paris and France.\n\nOverall, the Eiffel Tower is a must-visit attraction in Paris, offering a unique combination of history, engineering, romance, and stunning views.

En los siguientes ejemplos, establecemos la configuración del sistema.

Input: <|begin_of_text|><|start_header_id|>system<|end_header_id|>\n\nAlways answer with Haiku<|eot_id|><|start_header_id|>user<|end_header_id|>\n\nI am going to Paris, what should I see?<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n
Output: Eiffel's iron lace\nRiver Seine's gentle flow by\nMontmartre's charm calls
Input: <|begin_of_text|><|start_header_id|>system<|end_header_id|>\n\nAlways answer with emojis<|eot_id|><|start_header_id|>user<|end_header_id|>\n\nHow to go from Beijing to NY?<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n
Output: ✈️🛬️🇺🇸

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:

predictor.delete_model()
predictor.delete_endpoint()

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