[ad_1]

Hoy nos complace anunciar la disponibilidad de la inferencia Meta Llama 3 en instancias basadas en AWS Trainium y AWS Inferentia en Amazon SageMaker JumpStart. Los modelos Meta Llama 3 son una colección de modelos de texto generativo previamente entrenados y ajustados. Las instancias Trn1 e Inf2 de Amazon Elastic Compute Cloud (Amazon EC2), respaldadas por AWS Trainium y AWS Inferentia2, brindan la forma más rentable de implementar modelos Llama 3 en AWS. Ofrecen costos de implementación hasta un 50 % más bajos que las instancias Amazon EC2 comparables. No solo reducen el tiempo y el costo de la capacitación y la implementación de grandes modelos de lenguaje (LLM), sino que también brindan a los desarrolladores un acceso más fácil a aceleradores de alto rendimiento para satisfacer las necesidades de escalabilidad y eficiencia de aplicaciones en tiempo real como chatbots e inteligencia artificial. asistentes.

En esta publicación, mostramos lo fácil que es implementar Llama 3 en instancias basadas en AWS Trainium y AWS Inferentia en SageMaker JumpStart.

Modelo Meta Llama 3 en SageMaker Studio

SageMaker JumpStart proporciona acceso a Foundation Models (FM) propietarios y disponibles públicamente. Los modelos Foundation están integrados y administrados por proveedores propietarios y externos. Por lo tanto, se publican bajo diferentes licencias especificadas en la fuente del modelo. Asegúrese de verificar la licencia de cada FM que utilice. Usted es responsable de revisar y cumplir los términos y condiciones de la licencia aplicables y de asegurarse de que sean aceptables para su caso de uso antes de descargar o utilizar el Contenido.

Puede acceder a Meta Llama 3 FM a través de SageMaker JumpStart en la consola de Amazon 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 del aprendizaje automático (ML), desde la preparación de datos hasta la creación, la capacitación y la implementación de sus modelos de ML. Para obtener más información sobre cómo comenzar y configurar SageMaker Studio, consulte Introducción a SageMaker Studio.

En la consola de SageMaker Studio, puede acceder a SageMaker JumpStart seleccionando Buen inicio en el área de navegación. Si está utilizando SageMaker Studio Classic, consulte Abrir y usar JumpStart en Studio Classic para navegar a los modelos de SageMaker JumpStart.

En la página de inicio de SageMaker JumpStart, puede buscar «Meta» en el cuadro de búsqueda.

Seleccione la tarjeta del modelo Meta para enumerar todos los modelos de Meta en SageMaker JumpStart.

También puede encontrar variantes de modelos relevantes buscando «Neuron». Si no ve ningún modelo de Meta Llama 3, actualice su versión de SageMaker Studio cerrando y reiniciando SageMaker Studio.

Implementación sin código del modelo Llama 3 Neuron en SageMaker JumpStart

Puede seleccionar la tarjeta del modelo para ver detalles sobre el modelo, como: B. la licencia, los datos utilizados para la formación y su uso. También puedes encontrar dos botones, Insertar Y Vista previa de los cuadernoseso le ayudará a implementar el modelo.

Si tu eliges Insertar, aparece la página que se muestra en la siguiente captura de pantalla. La sección superior de la página muestra el Acuerdo de licencia de usuario final (EULA) y la Política de uso aceptable, que debe leer.

Después de confirmar las políticas, ingrese y seleccione la configuración de su punto final Insertar para proporcionar el punto final del modelo.

Alternativamente, puede implementar desde el cuaderno de muestra seleccionando abre el cuaderno. El cuaderno de muestra proporciona instrucciones completas para implementar el modelo para inferencia y limpieza de recursos.

Implementación de Meta Llama 3 en AWS Trainium y AWS Inferentia utilizando el SDK SageMaker JumpStart

En SageMaker JumpStart, precompilamos el modelo Meta Llama 3 para una variedad de configuraciones para evitar la compilación en tiempo de ejecución durante la implementación y el ajuste. Para obtener más información sobre el proceso de compilación, consulte las preguntas frecuentes sobre Neuron Compiler.

Hay dos formas de implementar Meta Llama 3 en instancias basadas en AWS Inferentia y Trainium utilizando el SDK SageMaker JumpStart. Puede implementar el modelo con dos líneas de código para simplificar o puede concentrarse en tener más control sobre las configuraciones de implementación. El siguiente fragmento de código muestra el modo de implementación más simple:

from sagemaker.jumpstart.model import JumpStartModel

model_id = "meta-textgenerationneuron-llama-3-8b"
accept_eula = True
model = JumpStartModel(model_id=model_id)
predictor = model.deploy(accept_eula=accept_eula) ## To set 'accept_eula' to be True to deploy 

Para sacar conclusiones sobre estos modelos, debe especificar el argumento. accept_eula tan cierto como parte del model.deploy() Llamar. Esto significa que ha leído y aceptado el CLUF del modelo. El EULA se puede encontrar en la descripción de la tarjeta modelo o en https://ai.meta.com/resources/models-and-libraries/llama-downloads/.

El tipo de instancia predeterminado para Meta LIama-3-8B es ml.inf2.24xlarge. Los otros ID de modelo admitidos para la implementación son los siguientes:

  • meta-textgenerationneuron-llama-3-70b
  • meta-textgenerationneuron-llama-3-8b-instruct
  • meta-textgenerationneuron-llama-3-70b-instruct

SageMaker JumpStart tiene configuraciones preseleccionadas que pueden ayudarle a comenzar. Estos se enumeran en la tabla siguiente. Para obtener más información sobre cómo optimizar aún más estas configuraciones, consulte Configuraciones de implementación avanzadas.

Instrucción LIama-3 8B y LIama-3 8B
tipo de instancia

OPTION_N_POSITI

ONS

OPTION_MAX_ROLLING_BATCH_SIZE OPTION_TENSOR_PARALLEL_DEGREE OPCIÓN_DTYPE
ml.inf2.8xgrande 8192 1 2 bf16
ml.inf2.24xlarge (predeterminado) 8192 1 12 bf16
ml.inf2.24xgrande 8192 12 12 bf16
ml.inf2.48xgrande 8192 1 24 bf16
ml.inf2.48xgrande 8192 12 24 bf16
Instrucción LIama-3 70B y LIama-3 70B
ml.trn1.32xgrande 8192 1 32 bf16
ml.trn1.32xgrande
(Por defecto)
8192 4 32 bf16

El siguiente código muestra cómo personalizar las configuraciones de implementación, como la longitud de la secuencia, el nivel de paralelismo del tensor y el tamaño máximo del lote continuo:

from sagemaker.jumpstart.model import JumpStartModel

model_id = "meta-textgenerationneuron-llama-3-70b"
model = JumpStartModel(
    model_id=model_id,
    env={
        "OPTION_DTYPE": "bf16",
        "OPTION_N_POSITIONS": "8192",
        "OPTION_TENSOR_PARALLEL_DEGREE": "32",
        "OPTION_MAX_ROLLING_BATCH_SIZE": "4", 
    },
    instance_type="ml.trn1.32xlarge"  
)
## To set 'accept_eula' to be True to deploy 
pretrained_predictor = model.deploy(accept_eula=False)

Ahora que ha implementado el modelo de neurona Meta-Llama-3, puede realizar inferencias a partir de él llamando al punto final:

payload = {
    "inputs": "I believe the meaning of life is",
    "parameters": {
        "max_new_tokens": 64,
        "top_p": 0.9,
        "temperature": 0.6,
    },
}

response = pretrained_predictor.predict(payload)

Output: 

I believe the meaning of life is
>  to be happy. I believe that happiness is a choice. I believe that happiness 
is a state of mind. I believe that happiness is a state of being. I believe that 
happiness is a state of being. I believe that happiness is a state of being. I 
believe that happiness is a state of being. I believe

Para obtener más información sobre los parámetros de la carga útil, consulte Parámetros detallados.

Para obtener detalles sobre cómo pasar los parámetros para controlar la generación de texto, consulte Ajuste e implementación rentable de modelos Llama 2 en Amazon SageMaker JumpStart con AWS Inferentia y AWS Trainium.

Limpiar

Después de completar su trabajo de capacitación y ya no desea utilizar los recursos existentes, puede eliminar los recursos usando el siguiente código:

# Delete resources
# Delete the fine-tuned model
predictor.delete_model()

# Delete the fine-tuned model endpoint
predictor.delete_endpoint()

Diploma

La implementación de modelos Meta Llama 3 en AWS Inferentia y AWS Trainium con SageMaker JumpStart demuestra el costo más bajo de implementar modelos de IA generativa a gran escala como Llama 3 en AWS. Estos modelos, incluidas variantes como Meta-Llama-3-8B, Meta-Llama-3-8B-Instruct, Meta-Llama-3-70B y Meta-Llama-3-70B-Instruct, utilizan AWS Neuron para realizar inferencias sobre AWS Trainium e Inferencia. AWS Trainium e Inferentia ofrecen costos de implementación hasta un 50 % más bajos que instancias EC2 comparables.

En esta publicación, mostramos cómo implementar modelos Meta Llama 3 en AWS Trainium y AWS Inferentia usando SageMaker JumpStart. La capacidad de implementar estos modelos a través de la consola SageMaker JumpStart y el SDK de Python proporciona flexibilidad y facilidad de uso. Nos entusiasma saber cómo utiliza estos modelos para crear interesantes aplicaciones de IA generativa.

Para comenzar a utilizar SageMaker JumpStart, consulte Introducción a Amazon SageMaker JumpStart. Para obtener más ejemplos de implementación de modelos en AWS Trainium y AWS Inferentia, consulte el repositorio de GitHub. Para obtener más información sobre la implementación de modelos Meta Llama 3 en instancias basadas en GPU, consulte Los modelos Meta Llama 3 ahora están disponibles en Amazon SageMaker JumpStart.


Sobre los autores

Xin Huang es un científico aplicado senior
Rachna Chadha es arquitecto principal de soluciones – AI/ML
Qinglan es un sistema SDE – ML senior
Panigrahi rosa es el arquitecto senior de soluciones Annapurna ML
Christopher Whitten es un ingeniero de desarrollo de software
Kamran Khan es Jefe de BD/GTM Annapurna ML
ashish khetan es un científico aplicado senior
Pradeep Cruz es un SDM senior

[ad_2]