[ad_1]

Hoy nos complace anunciar que los modelos básicos de Meta Llama 3 están disponibles a través de Amazon SageMaker JumpStart para implementar y ejecutar inferencia. Los modelos Llama 3 son una colección de modelos de texto generativo previamente entrenados y ajustados.

En esta publicación, aprenderá cómo descubrir e implementar modelos de Llama 3 a través de SageMaker JumpStart.

¿Qué es Meta Llama 3?

Llama 3 está disponible 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 la secuenciación de comandos. Llama 3 utiliza una arquitectura pura de decodificador-transformador y un nuevo tokenizador que proporciona un rendimiento mejorado del modelo con un tamaño de 128 KB. Además, Meta mejoró los procedimientos posteriores al entrenamiento, reduciendo significativamente la tasa de falsos rechazos, mejorando la alineación y aumentando la diversidad de respuestas del modelo. Ahora puede aprovechar los beneficios combinados del rendimiento de Llama 3 y los controles MLOps con funciones de Amazon SageMaker como SageMaker Pipelines, SageMaker Debugger o Container Logs. Además, el modelo se implementa en un entorno seguro de AWS bajo el control de su VPC para garantizar la seguridad de los datos.

¿Qué es SageMaker JumpStart?

SageMaker JumpStart le permite elegir entre una amplia selección de modelos de bases disponibles públicamente. Los profesionales de ML pueden implementar modelos base 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 puede descubrir e implementar modelos de Llama 3 con unos pocos clics en Amazon SageMaker Studio o mediante programación a través del SDK de Python de SageMaker, derivando el rendimiento del modelo y los controles MLOps utilizando funciones de SageMaker como SageMaker Pipelines, SageMaker Debugger o protocolos de contenedor. El modelo se implementa en un entorno seguro de AWS y bajo el control de su VPC, lo que contribuye a la seguridad de los datos. Los modelos Llama 3 ahora están disponibles para implementación e inferencia en Amazon SageMaker Studio 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 base a través de SageMaker JumpStart en la interfaz de usuario de SageMaker Studio y el SDK de SageMaker Python. En esta sección aprenderá 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 a través de la cual 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 información sobre cómo comenzar y configurar SageMaker Studio, consulte Amazon SageMaker Studio.

En SageMaker Studio, puede acceder a SageMaker JumpStart, que incluye modelos, cuadernos y soluciones prediseñadas previamente entrenados. Soluciones prediseñadas y automatizadas.

En la página de inicio de SageMaker JumpStart, puede descubrir fácilmente diferentes modelos explorando diferentes centros con nombres 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 Cerrar y actualizar aplicaciones de Studio Classic.

Puede encontrar modelos de Llama 3 buscando «Meta-llama-3» en el cuadro de búsqueda superior izquierdo.

Puede descubrir todos los metamodelos 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.

Proporcionar un modelo

Si tu eliges Insertar y confirme los términos del EULA. Comienza el despliegue.

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 Implementación a través del cuaderno de muestra. El cuaderno de muestra proporciona instrucciones completas para implementar el modelo para inferencia y limpieza de recursos.

Para implementar usando el portátil, primero seleccione un modelo apropiado especificado por model_id. Puede utilizar el siguiente código para implementar cualquiera de los modelos seleccionados en SageMaker.

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 correctamente el punto final. Al hacerlo, acepta el Acuerdo de licencia de usuario y la Política de uso aceptable. También puede encontrar el acuerdo de licencia en el sitio web de Llama. Esto implementa el modelo en SageMaker con configuraciones predeterminadas, incluido el tipo de instancia predeterminado y las configuraciones de VPC predeterminadas. Puede cambiar esta configuración especificando valores no estándar JumpStartModel. Para obtener más información, consulte la documentación a continuación.

La siguiente tabla enumera todos los modelos de Llama 3 disponibles en SageMaker JumpStart junto con los model_idsTipos de instancia predeterminados y 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 Número total máximo de tokens Tipo de instancia predeterminado
Meta-Lama-3-8B meta-generación de texto-llama-3-8B 8192 ml.g5.12xgrande
Guía Meta-Llama-3-8B meta-generación-de-texto-llama-3-8B-instruct 8192 ml.g5.12xgrande
Meta-Lama-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

Realizar una inferencia

Después de implementar el modelo, puede usar el predictor de SageMaker para hacer inferencias sobre el punto final implementado. Los modelos de Instruct 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 una cadena de mensajes y completan el texto según 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 corresponde al número de palabras porque el vocabulario del modelo no coincide con el vocabulario del idioma inglés y no todos los tokens son palabras del idioma inglés. El parámetro de temperatura controla la aleatoriedad de la salida. Las temperaturas más altas conducen a resultados más creativos y alucinatorios. Todos los parámetros de inferencia son opcionales.

Anuncios de ejemplo para el modelo 70B

Puede utilizar los modelos de finalización de texto de Llama 3 para cualquier texto. La generación de texto le permite realizar una variedad de tareas como: B. Respuesta a preguntas, traducción de idiomas, análisis de sentimientos y más. La carga útil de entrada para el 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 los modelos de pocos disparos de Llama 3 en el aprendizaje contextual, proporcionando al modelo ejemplos de entrenamiento. Solo realizamos inferencia sobre el modelo proporcionado y durante este proceso 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

Ejemplos de indicaciones para el modelo de instrucción 70B

Para los modelos de instrucción Llama 3 optimizados para casos de uso conversacionales, la entrada a los puntos finales del modelo de instrucción es el historial entre el asistente de chat y el usuario. Puede hacer preguntas relacionadas con la conversación que ha tenido lugar hasta ahora. También puede proporcionar la configuración del sistema, como por ejemplo: B. Personas que definen el comportamiento del asistente de chat. Si bien el formato de la carga útil de entrada es el mismo que el del modelo base previamente entrenado, el texto de entrada debe tener el siguiente formato:

<|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 Elige cualquier rol e incluye tantos roles cambiantes como quieras en la progresión por turnos. El último papel siempre debe ser assistant y termina con dos nuevos saltos de línea.

A continuación, considere algunos ejemplos de indicaciones y respuestas del modelo. En el siguiente ejemplo, el usuario le 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 los lugares de interés de París. Luego, el usuario pregunta sobre la primera opción recomendada por el asistente de 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 termine de ejecutar el cuaderno, asegúrese de eliminar todos los recursos que creó en el proceso para detener su facturación. Utilice el siguiente código:

predictor.delete_model()
predictor.delete_endpoint()

Diploma

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 base están previamente entrenados, también pueden ayudar a reducir los costos de capacitación e infraestructura y permitir la personalización según su caso de uso. Pruebe SageMaker JumpStart 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 Guineagagne 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

[ad_2]