Pixtral 12B ya está disponible en Amazon SageMaker JumpStart

Hoy nos complace anunciar que Pixtral 12B (pixtral-12b-2409), un modelo de lenguaje de visión (VLM) de última generación de Mistral AI que sobresale tanto en tareas de solo texto como multimodales, está disponible para los clientes a través de Inicio rápido de Amazon SageMaker. Puede probar este modelo con SageMaker JumpStart, un centro de aprendizaje automático (ML) que brinda acceso a algoritmos y modelos que se pueden implementar con un solo clic para ejecutar inferencia.

En esta publicación, explicamos cómo descubrir, implementar y utilizar el modelo Pixtral 12B para una variedad de casos de uso de visión del mundo real.

Descripción general de Pixtral 12B

Pixtral 12B representa el primer VLM de Mistral y demuestra un sólido rendimiento en varios puntos de referencia, superando a otros modelos abiertos e igualando a modelos más grandes, según Mistral. Pixtral está capacitado para comprender tanto imágenes como documentos, y muestra sólidas habilidades en tareas de visión, como comprensión de gráficos y figuras, respuesta a preguntas sobre documentos, razonamiento multimodal y seguimiento de instrucciones, algunas de las cuales demostramos más adelante en esta publicación con ejemplos. Pixtral 12B es capaz de ingerir imágenes con su resolución y relación de aspecto naturales. A diferencia de otros modelos de código abierto, Pixtral no compromete el rendimiento de las pruebas comparativas de texto, como el seguimiento de instrucciones, la codificación y las matemáticas, para sobresalir en tareas multimodales.

Mistral diseñó una arquitectura novedosa para Pixtral 12B para optimizar tanto la velocidad como el rendimiento. El modelo tiene dos componentes: un codificador de visión de 400 millones de parámetros, que tokeniza imágenes, y un decodificador transformador multimodal de 12 mil millones de parámetros, que predice el siguiente token de texto dada una secuencia de texto e imágenes. El codificador de visión recientemente capacitado admite de forma nativa tamaños de imagen variables, lo que permite que Pixtral se utilice para comprender con precisión diagramas, cuadros y documentos complejos en alta resolución, y proporciona velocidades de inferencia rápidas en imágenes pequeñas como íconos, imágenes prediseñadas y ecuaciones. Esta arquitectura permite a Pixtral procesar cualquier cantidad de imágenes con tamaños arbitrarios en su gran ventana contextual de 128.000 tokens.

Los acuerdos de licencia son un factor de decisión crítico cuando se utilizan modelos de pesos abiertos. Al igual que otros modelos de Mistral, como Mistral 7B, Mixtral 8x7B, Mixtral 8x22B y Mistral Nemo 12B, Pixtral 12B se lanza bajo el Apache 2.0 comercialmente permisivoproporcionando a los clientes empresariales y de nueva creación una opción VLM de alto rendimiento para crear aplicaciones multimodales complejas.

Descripción general de SageMaker JumpStart

SageMaker JumpStart ofrece acceso a una amplia selección de modelos de base (FM) disponibles públicamente. Estos modelos previamente entrenados sirven como poderosos puntos de partida que pueden personalizarse profundamente para abordar casos de uso específicos. Ahora puede utilizar arquitecturas de modelos de última generación, como modelos de lenguaje, modelos de visión por computadora y más, sin tener que crearlos desde cero.

Con SageMaker JumpStart, puede implementar modelos en un entorno seguro. Los modelos se pueden aprovisionar en instancias dedicadas de SageMaker Inference, incluidas Capacitación en AWS y AWS Inferencia instancias potenciadas y están aisladas dentro de su nube privada virtual (VPC). Esto refuerza la seguridad y el cumplimiento de los datos, porque los modelos operan bajo sus propios controles de VPC, en lugar de en un entorno público compartido. Después de implementar un FM, puede personalizar y ajustar aún más el modelo, incluida SageMaker Inference para implementar modelos y registros de contenedores para mejorar la observabilidad. Con SageMaker, puede optimizar todo el proceso de implementación del modelo. Tenga en cuenta que el ajuste fino en Pixtral 12B aún no está disponible (en el momento de escribir este artículo) en SageMaker JumpStart.

Requisitos previos

Para probar Pixtral 12B en SageMaker JumpStart, necesita los siguientes requisitos previos:

Descubra Pixtral 12B en SageMaker JumpStart

Puede acceder a Pixtral 12B 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 IDE que proporciona una única interfaz visual basada en web donde puede acceder a herramientas diseñadas específicamente para realizar 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 Studio Clásico.

  1. En SageMaker Studio, acceda a SageMaker JumpStart eligiendo Empezar en el panel de navegación.
  2. Elegir AbrazosCara para acceder al modelo Pixtral 12B.
  3. Busca el modelo Pixtral 12B.
  4. Puede elegir la tarjeta de modelo para ver detalles sobre el modelo, como la licencia, los datos utilizados para entrenar y cómo utilizar el modelo.
  5. Elegir Desplegar para implementar el modelo y crear un punto final.

Implementar el modelo en SageMaker JumpStart

La implementación comienza cuando usted elija Desplegar. Cuando se completa la implementación, se crea un punto final. Puede probar el punto final pasando una carga útil de solicitud de inferencia de muestra o seleccionando la opción de prueba mediante el SDK. Cuando use el SDK, verá un código de ejemplo que puede usar en el editor de cuaderno de su elección en SageMaker Studio.

Para implementar usando el SDK, comenzamos seleccionando el modelo Mistral Nemo Base, especificado por el model_id con el valor huggingface-vlm-mistral-pixtral-12b-2409. Puede implementar cualquiera de los modelos seleccionados en SageMaker con el siguiente código:

from sagemaker.jumpstart.model import JumpStartModel 

accept_eula = True 

model = JumpStartModel(model_id="huggingface-vlm-mistral-pixtral-12b-2409") 
predictor = model.deploy(accept_eula=accept_eula)

Esto implementa el modelo en SageMaker con configuraciones predeterminadas, incluido el tipo de instancia predeterminado y las configuraciones de VPC predeterminadas. Puede cambiar estas configuraciones especificando valores no predeterminados en JumpStartModelo. El valor del acuerdo de licencia de usuario final (CLUF) debe definirse explícitamente como Verdadero para poder aceptar el CLUF. Además, asegúrese de tener el límite de servicio a nivel de cuenta para usar ml.p4d.24xlarge o ml.pde.24xlarge para el uso de endpoints como una o más instancias. Para solicitar un aumento de cuota de servicio, consulte Cuotas de servicio de AWS. Después de implementar el modelo, puede ejecutar inferencia contra el punto final implementado a través del predictor de SageMaker.

Casos de uso de Pixtral 12B

En esta sección, proporcionamos ejemplos de inferencia en Pixtral 12B con indicaciones de ejemplo.

LOC

Usamos la siguiente imagen como entrada para OCR.

Usamos el siguiente mensaje:

payload = {
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Extract and transcribe all text visible in the image, preserving its exact formatting, layout, and any special characters. Include line breaks and maintain the original capitalization and punctuation.",
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "Pixtral_data/amazon_s1_2.jpg"
                    }
                }
            ]
        }
    ],
    "max_tokens": 2000,
    "temperature": 0.6,
    "top_p": 0.9,
}
print(response)
Approximate date of commencement of proposed sale to the public: AS SOON AS PRACTICABLE AFTER THIS REGISTRATION STATEMENT BECOMES EFFECTIVE. 
If any of the securities being registered on this Form are to be offered on a delayed or continuous basis pursuant to Rule 415 under the Securities Act of 1933, check the following box. 
[] If this Form is filed to register additional securities for an offering pursuant to Rule 462(b) under the Securities Act of 1933, check the following box and list the Securities Act registration statement number of the earlier effective registration statement for the same offering. 
[] If this Form is a post-effective amendment filed pursuant to Rule 462(c) under the Securities Act of 1933, check the following box and list the Securities Act registration statement number of the earlier effective registration statement for the same offering. 
[] If delivery of the prospectus is expected to be made pursuant to Rule 434, please check the following box. 
[] **CALCULATION OF REGISTRATION FEE** 
| TITLE OF EACH CLASS OF SECURITIES TO BE REGISTERED | AMOUNT TO BE REGISTERED(1) | PROPOSED MAXIMUM OFFERING PRICE PER SHARE(2) | PROPOSED MAXIMUM AGGREGATE OFFERING PRICE(2) | AMOUNT OF REGISTRATION FEE | 
|----------------------------------------------------|----------------------------|---------------------------------------------|---------------------------------------------|----------------------------| 
| Common Stock, $0.01 par value per share........... | 2,875,000 shares           | $14.00                                      | $40,250,000                                 | $12,197(3)                 | 

(1) Includes 375,000 shares that the Underwriters have the option to purchase to cover over-allotments, if any. 
(2) Estimated solely for the purpose of calculating the registration fee in accordance with Rule 457(c). 
(3) $11,326 of registration fee has been previously paid. ...

Comprensión y análisis de gráficos.

Para comprender y analizar los gráficos, utilizamos la siguiente imagen como entrada.

Usamos el siguiente mensaje:

prompt= """
Analyze the attached image of the chart or graph. Your tasks are to:
Identify the type of chart or graph (e.g., bar chart, line graph, pie chart, etc.).
Extract the key data points, including labels, values, and any relevant scales or units.
Identify and describe the main trends, patterns, or significant observations presented in the chart.
Generate a clear and concise paragraph summarizing the extracted data and insights. The summary should highlight the most important information and provide an overview that would help someone understand the chart without seeing it.
Ensure that your summary is well-structured, accurately reflects the data, and is written in a professional tone.
"""
payload = {
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": prompt,
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "Pixtral_data/amazon_s1_2.jpg"
                    }
                }
            ]
        }
    ],
    "max_tokens": 2000,
    "temperature": 0.6,
    "top_p": 0.9,
}
print(response)
image_path = "Pixtral_data/Amazon_Chart.png"  # Replace with your local image path
response = send_images_to_model(predictor, prompt, image_path)
print(response)

Obtenemos el siguiente resultado:

The image is a bar chart titled "Segment Results – North America," which presents data on net sales and operating income over several quarters from Q2 2023 to Q2 2024. The chart is divided into two sections: one for net sales and the other for operating income.

### Key Data Points:
- Net Sales:
 - Q2 2023: $82,546 million
 - Q3 2023: Approximately $85,000 million
 - Q4 2023: Approximately $90,000 million
 - Q1 2024: Approximately $85,000 million
 - Q2 2024: $90,033 million
 - Year-over-Year (Y/Y) growth: 9%

- Operating Income:
 - Q2 2023: $3,211 million
 - Q3 2023: Approximately $4,000 million
 - Q4 2023: Approximately $7,000 million
 - Q1 2024: Approximately $5,000 million
 - Q2 2024: $5,065 million
 - Year-over-Year (Y/Y) growth: 58%

- Total Trailing Twelve Months (TTM):
 - Net Sales: $369.8 billion
 - Operating Income: $20.8 billion
...
- **Operating Income:** Operating income shows significant growth, particularly in Q4 2023, where it peaks. There is a notable year-over-year increase of 58%.

### Summary:
The bar chart illustrates the segment results for North America, focusing on net sales and operating income from Q2 2023 to Q2 2024. Net sales demonstrate a steady upward trend, culminating in a 9% year-over-year increase, with the highest value recorded in Q2 2024 at $90,033 million. Operating income exhibits more volatility, with a significant peak in Q4 2023, and an overall substantial year-over-year growth of 58%. The total trailing twelve months (TTM) figures indicate robust performance, with net sales reaching $369.8 billion and operating income at $20.8 billion. This data underscores a positive growth trajectory in both net sales and operating income for the North American segment over the observed period.

Imagen a código

Para un ejemplo de imagen a código, utilizamos la siguiente imagen como entrada.

Usamos el siguiente mensaje:

def extract_html(text):
 pattern = r'```html\s*(.*?)\s*```'
 match = re.search(pattern, text, re.DOTALL)
 return match.group(1) if match else None
  
prompt = "Create HTML and CSS code for a minimalist and futuristic website to purchase luggage. Use the following image as template to create your own design."
payload = {
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": prompt,
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "Pixtral_data/Amazon_Chart.png"
                    }
                }
            ]
        }
    ],
    "max_tokens": 2000,
    "temperature": 0.6,
    "top_p": 0.9,
}
print('Input Image:\n\n')
html_code = extract_html(response)
print(html_code)
display(HTML(html_code))
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Luggage Store</title>
    <link rel="stylesheet" href="https://aws.amazon.com/blogs/machine-learning/pixtral-12b-is-now-available-on-amazon-sagemaker-jumpstart/styles.css">
</head>
<body>
    <header>
        <h1>Luggage Store</h1>
        <nav>
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">Products</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </nav>
    </header>
...
        <p>&copy; 2023 Luggage Store. All rights reserved.</p>
    </footer>
</body>
</html>

Limpiar

Una vez que haya terminado, elimine los puntos finales de SageMaker utilizando el siguiente código para evitar incurrir en costos innecesarios:

predictor.delete_model()
predictor.delete_endpoint()

Conclusión

En esta publicación, le mostramos cómo comenzar con el modelo multimodal más nuevo de Mistral, Pixtral 12B, en SageMaker JumpStart e implementar el modelo para inferencia. También exploramos cómo SageMaker JumpStart permite a los científicos de datos e ingenieros de aprendizaje automático descubrir, acceder e implementar una amplia gama de FM previamente entrenados para inferencia, incluidos otros modelos de IA de Mistral, como Mistral 7B y Mixtral 8x22B.

Para obtener más información sobre SageMaker JumpStart, consulte Entrene, implemente y evalúe modelos previamente entrenados con SageMaker JumpStart y Introducción a Amazon SageMaker JumpStart para empezar.

Para obtener más activos de Mistral, consulte el Mistral-en-AWS repositorio.


Acerca de los autores

Preston Tuggle es un arquitecto senior de soluciones especializado que trabaja en IA generativa.

Niithiyn Vijeaswaran es arquitecto de soluciones especialista en GenAI en AWS. Su área de enfoque es la IA generativa y los aceleradores de IA de AWS. Tiene una Licenciatura en Informática y Bioinformática. Niithiyn trabaja en estrecha colaboración con el equipo de Generative AI GTM para ayudar a los clientes de AWS en múltiples frentes y acelerar su adopción de la IA generativa. Es un ávido fanático de los Dallas Mavericks y le gusta coleccionar zapatillas.

shane rai es especialista principal en GenAI de la Organización Mundial de Especialistas de AWS (WWSO). Trabaja con clientes de todas las industrias para resolver sus necesidades comerciales más apremiantes e innovadoras utilizando la variedad de servicios de IA/ML basados ​​en la nube de AWS, incluidas ofertas de modelos de proveedores de modelos básicos de primer nivel.