[ad_1]
Hoy nos complace anunciar que los modelos básicos Mistral 7B desarrollados por Mistral AI están disponibles para los clientes a través de Amazon SageMaker JumpStart y se pueden implementar con un solo clic para ejecutar la inferencia. Con 7 mil millones de parámetros, Mistral 7B se puede personalizar fácilmente e implementar rápidamente. Puede probar este modelo con SageMaker JumpStart, un centro de aprendizaje automático (ML) que brinda acceso a algoritmos y modelos para comenzar rápidamente con ML. En este post aprenderás a descubrir y utilizar el modelo Mistral 7B.
¿Qué es Mistral 7B?
Mistral 7B es un modelo base desarrollado por Mistral AI que admite la capacidad de generación de código y texto en inglés. Admite una variedad de casos de uso como: B. Resumen de texto, clasificación, finalización de texto y finalización de código. Para demostrar la fácil adaptabilidad del modelo, Mistral AI también lanzó un modelo Mistral 7B Instruct para casos de uso de chat, refinado utilizando una variedad de conjuntos de datos de conversaciones disponibles públicamente.
Mistral 7B es un modelo transformador y utiliza atención de consultas agrupadas y atención de ventana deslizante para lograr una inferencia más rápida (baja latencia) y procesar secuencias más largas. Group Query Attention es una arquitectura que combina consultas múltiples y atención de múltiples cabezales para lograr una calidad de salida cercana a la atención de múltiples cabezales y una velocidad comparable a la atención de múltiples consultas. La atención de la ventana deslizante utiliza las capas apiladas de un transformador para mirar más allá del tamaño de la ventana hacia el pasado, aumentando la longitud del contexto. Mistral 7B tiene una longitud de contexto de 8000 tokens, tiene baja latencia y alto rendimiento, y tiene un rendimiento sólido en comparación con alternativas de modelos más grandes porque ofrece una huella de memoria baja en un tamaño de modelo 7B. El modelo está disponible para uso sin restricciones bajo la licencia permisiva Apache 2.0.
¿Qué es SageMaker JumpStart?
Con SageMaker JumpStart, los profesionales del aprendizaje automático pueden elegir entre una lista cada vez mayor de los modelos básicos más potentes. Los profesionales de ML pueden implementar modelos base en instancias dedicadas de Amazon SageMaker en un entorno aislado de red y personalizar modelos utilizando SageMaker para el entrenamiento e implementación de modelos.
Ahora puede descubrir e implementar Mistral 7B con unos pocos clics en Amazon SageMaker Studio o mediante programación a través del SDK de Python de SageMaker, lo que le permite derivar el rendimiento del modelo y los controles MLOps utilizando funciones de SageMaker como Amazon SageMaker Pipelines, Amazon SageMaker Debugger o registros de contenedores. El modelo se implementa en un entorno seguro de AWS y bajo el control de su VPC para garantizar la seguridad de los datos.
Descubre modelos
Puede acceder a los modelos básicos de Mistral 7B 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.
Puede buscar soluciones, modelos, cuadernos y otros recursos en la página de inicio de SageMaker JumpStart. Puedes encontrar Mistral 7B en el Modelos básicos: generación de texto. Carrusel.
También puede encontrar otras variantes de modelos en la selección Descubre todos los modelos de texto o busque “Mistral”.
Puede seleccionar la tarjeta del modelo para ver detalles sobre el modelo, como: B. Licencia, datos utilizados para la formación y método de uso. También encontrarás dos botones, Insertar Y Cuaderno abiertoque le ayudará a utilizar el modelo (la siguiente captura de pantalla muestra el Insertar Posibilidad).
Proporcionar modelos
La implementación comienza cuando usted la solicita Insertar. Alternativamente, puede implementar desde el cuaderno de muestra que aparece cuando realiza su selección. Cuaderno abierto. El cuaderno de muestra proporciona instrucciones completas para implementar el modelo para inferencia y limpieza de recursos.
Para el despliegue con un portátil, primero seleccionamos el modelo Mistral 7B, indicado por model_id
. Puede implementar cualquiera de los modelos seleccionados en SageMaker usando el siguiente código:
Esto implementa el modelo en SageMaker con configuraciones predeterminadas, incluido el tipo de instancia predeterminado (ml.g5.2xlarge) y las configuraciones de VPC predeterminadas. Puede cambiar estas configuraciones especificando valores no predeterminados en JumpStartModel. Después de la implementación, puede hacer inferencias sobre el punto final implementado a través del predictor de SageMaker:
Optimización de la configuración de implementación
Los modelos Mistral utilizan la implementación del modelo de inferencia de generación de texto (TGI versión 1.1). Al implementar modelos utilizando TGI Deep Learning Container (DLC), puede configurar una variedad de argumentos del iniciador a través de variables de entorno al implementar su punto final. Para admitir la longitud de contexto de 8000 tokens de los modelos Mistral 7B, SageMaker JumpStart ha configurado algunos de estos parámetros de forma predeterminada: MAX_INPUT_LENGTH
Y MAX_TOTAL_TOKENS
a 8191 y 8192 respectivamente. Puede ver la lista completa examinando su objeto modelo:
De forma predeterminada, SageMaker JumpStart no limita los usuarios simultáneos a través de la variable de entorno. MAX_CONCURRENT_REQUESTS
menor que el valor predeterminado de TGI de 128. Esto se debe a que algunos usuarios pueden tener cargas de trabajo típicas con longitudes de contexto de carga pequeñas y desean una alta simultaneidad. Tenga en cuenta que SageMaker TGI DLC admite varios usuarios simultáneos mediante un procesamiento por lotes continuo. Al implementar su punto final en su aplicación, debe considerar si debe usar una abrazadera MAX_TOTAL_TOKENS
o MAX_CONCURRENT_REQUESTS
Antes de la implementación para obtener el mejor rendimiento para su carga de trabajo:
Aquí mostramos cómo el rendimiento del modelo puede diferir para su carga de trabajo de endpoint típica. En las tablas siguientes, puede ver que las consultas pequeñas (128 palabras de entrada y 128 tokens de salida) funcionan bastante bien con una gran cantidad de usuarios simultáneos, logrando un rendimiento de tokens del orden de 1000 tokens por segundo. Sin embargo, a medida que la cantidad de palabras de entrada aumenta a 512 palabras de entrada, el punto final satura su capacidad por lotes (la cantidad de solicitudes simultáneas que puede procesar a la vez), lo que resulta en una meseta de rendimiento y una degradación significativa de la latencia que comienza alrededor de 16 usuarios simultáneos. Finalmente, cuando varios usuarios simultáneos consultan el punto final con contextos de entrada grandes (por ejemplo, 6400 palabras) al mismo tiempo, esta meseta de rendimiento se produce relativamente rápido, hasta el punto en que su cuenta de SageMaker encuentra tiempos de espera de respuesta de 60 segundos para sus solicitudes sobrecargadas.
. | Rendimiento (tokens/s) | ||||||||||
usuarios concurrentes | 1 | 2 | 4 | octavo | dieciséis | 32 | 64 | 128 | |||
Modelo | tipo de instancia | palabras de entrada | Ficha de emisión | . | |||||||
mistral-7b-instruir | ml.g5.2xgrande | 128 | 128 | 30 | 54 | 89 | 166 | 287 | 499 | 793 | 1030 |
512 | 128 | 29 | 50 | 80 | 140 | 210 | 315 | 383 | 458 | ||
6400 | 128 | 17 | 25 | 30 | 35 | — | — | — | — |
. | Latencia p50 (ms/token) | ||||||||||
usuarios concurrentes | 1 | 2 | 4 | octavo | dieciséis | 32 | 64 | 128 | |||
Modelo | tipo de instancia | palabras de entrada | Ficha de emisión | . | |||||||
mistral-7b-instruir | ml.g5.2xgrande | 128 | 128 | 32 | 33 | 34 | 36 | 41 | 46 | 59 | 88 |
512 | 128 | 34 | 36 | 39 | 43 | 54 | 71 | 112 | 213 | ||
6400 | 128 | 57 | 71 | 98 | 154 | — | — | — | — |
Conclusiones y ejemplos de indicaciones.
Mistral 7B
Puede interactuar con un modelo base Mistral 7B como lo haría con cualquier modelo de generación de texto estándar, donde el modelo procesa una secuencia de entrada y genera las siguientes palabras predichas en la secuencia. El siguiente es un ejemplo simple de aprendizaje de múltiples disparos, donde el modelo recibe múltiples ejemplos y la respuesta final del ejemplo se genera utilizando el conocimiento contextual de estos ejemplos anteriores:
Instruir a Mistral 7B
La versión adaptada a las instrucciones de Mistral acepta instrucciones formateadas que requieren roles de conversación para comenzar con un mensaje de usuario y una transición entre usuario y asistente. Un mensaje de usuario simple podría verse así:
Un mensaje multivuelta se vería así:
Este patrón se repite sin importar cuántas rondas de conversación haya.
En las siguientes secciones exploramos algunos ejemplos utilizando el modelo Mistral 7B Instruct.
Recuperación de conocimientos
El siguiente es un ejemplo de recuperación de conocimientos:
Respondiendo grandes preguntas de contexto
Para ilustrar cómo se puede usar este modelo para admitir contextos de entrada de gran longitud, el siguiente ejemplo incorpora un pasaje titulado «Ratas» de Robert Sullivan (Referencia) de la prueba de comprensión de lectura de artes del lenguaje inglés de grado 10 del MCAS en la instrucción rápida y le pregunta al modelo una pregunta específica sobre el texto:
Matemáticas y razonamiento
Los modelos Mistral también reportan fortalezas en precisión matemática. Mistral puede proporcionar comprensión como la siguiente lógica matemática:
Codificación
El siguiente es un ejemplo de un mensaje de codificación:
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:
Diploma
En esta publicación, le mostramos cómo comenzar con Mistral 7B en SageMaker Studio e implementar el modelo para inferencia. Dado que los modelos base están previamente entrenados, pueden ayudar a reducir los costos de capacitación e infraestructura y permitir la personalización según su caso de uso. Visite Amazon SageMaker JumpStart ahora para comenzar.
recursos
Sobre los autores
kyle ulrich es un científico aplicado del equipo JumpStart de Amazon SageMaker. Sus intereses de investigación incluyen algoritmos escalables de aprendizaje automático, visión por computadora, series temporales, procesos bayesianos no paramétricos y procesos gaussianos. Recibió su doctorado en la Universidad de Duke y ha publicado artículos en NeurIPS, Cell y Neuron.
Dr. ashish khetan es científico aplicado senior en Amazon SageMaker JumpStart y ayuda a desarrollar algoritmos de aprendizaje automático. Recibió su doctorado en la Universidad de Illinois Urbana-Champaign. Es un investigador activo en aprendizaje automático e inferencia estadística y ha publicado numerosos artículos en las conferencias NeurIPS, ICML, ICLR, JMLR, ACL y EMNLP.
Vivek Singh es gerente de producto en Amazon SageMaker JumpStart. Su objetivo es permitir que los clientes integren SageMaker JumpStart para simplificar y acelerar su viaje de aprendizaje automático para crear aplicaciones de IA generativa.
Roy Allela es un arquitecto senior de soluciones especializado en IA/ML en AWS con sede en Munich, Alemania. Roy ayuda a los clientes de AWS, desde pequeñas empresas emergentes hasta grandes empresas, a capacitar e implementar de manera eficiente grandes modelos de lenguaje en AWS. A Roy le apasionan los problemas de optimización computacional y la mejora del rendimiento de las cargas de trabajo de IA.
[ad_2]