Saltar al contenido principal

Pixtral Grande: Una guía con ejemplos

Aprende a utilizar Pixtral Large de Mistral a través de Le Chat o accede programáticamente a través de la API en La Plateforme.
Actualizado 27 nov 2024  · 8 min de lectura

Mistral AI ha anunciado recientemente Pixtral Large, un modelo multimodal que es una versión más potente de Pixtral 12Bque se lanzó a principios de este año.

Pixtral Large es un modelo multimodal 124B que puede abordar tareas avanzadas de comprensión de imágenes conservando las excepcionales capacidades de procesamiento de texto de Mistral Grande 2. Con una enorme ventana contextual de 128 K, este modelo puede analizar hasta 30 imágenes de alta resolución junto al texto, lo que lo hace ideal para documentos, gráficos e imágenes naturales.

En este tutorial, te guiaré a través de varios ejemplos y te proporcionaré instrucciones detalladas, paso a paso, sobre cómo utilizar Pixtral Large tanto a través de la interfaz web de Le Chat como de la API. Antes de sumergirnos en los pasos prácticos, exploremos primero los conceptos teóricos clave de Pixtral Large.

¿Qué es Pixtral Large?

Pixtral Large incorpora un descodificador multimodal 123B y un codificador de visión de 1B parámetros (124B parámetros), lo que le permite tratar eficazmente con multimodal multimodales. Ha demostrado capacidades inigualables en diversos escenarios, como:

  • OCR multilingüe: Esto sirve para procesar con precisión los recibos y realizar cálculos con contexto (un ejemplo es analizar las facturas de nuestro restaurante).
  • Comprensión del gráfico: Esto se utiliza para identificar anomalías y tendencias, como señalar problemas en las curvas de pérdida de entrenamiento.
  • Análisis general: Puede extraer información de capturas de pantalla, responder eficazmente a consultas contextuales, etc.

Pixtral Large muestra buenos resultados en bastantes pruebas comparativas; éstas son las que me llamaron la atención:

  • MathVista: 69,4% de precisión en el razonamiento matemático sobre datos visuales.
  • ChartQA y DocVQA: Superó a los mejores competidores como GPT-4o y Gemini-1.5 Pro en el razonamiento sobre gráficos y documentos complejos.
  • MM-MT-Bench: Superó a Claude-3.5 Sonnet, Gemini-1.5 Pro y GPT-4o en tareas multimodales del mundo real.

Pixtral Grande en múltiples puntos de referencia

Fuente: Mistral AI

Pixtral Grande 124B vs Pixtral 12B

Pixtral Grande 124B y Pixtral 12B comparten algunos fundamentos arquitectónicos, pero no son idénticos. Aunque Pixtral Large se basa en los cimientos establecidos por Pixtral 12B, sus características son significativas en cuanto a arquitectura, tamaño de la ventana contextual e integración multimodal, lo que se traduce en un rendimiento superior en diversas tareas. Aquí tienes algunas diferencias entre los dos modelos.

  • La significativa diferencia de tamaño permite a Pixtral Large manejar tareas más complejas y conjuntos de datos más grandes.
  • Una ventana contextual más grande permite a Pixtral Large procesar y comprender secuencias de texto más largas e imágenes más complejas.
  • Ambos modelos están diseñados para tareas multimodales, integrando datos de texto e imagen. Sin embargo, Pixtral Large introduce capas especializadas de atención cruzada para fusionar mejor la información entre distintas modalidades, mejorando su rendimiento en tareas como la comprensión de imágenes y el procesamiento de documentos.
  • Pixtral Large requiere más recursos informáticos, incluidos más de 200 GB de datos y una potente GPU, en comparación con Pixtral 12B. Esto pone de manifiesto la mayor complejidad y capacidad del modelo más grande.

Arquitectura Pixtral

Arquitectura Pixtral. Fuente: Informe técnico Pixtral 12B.

Si quieres profundizar en la arquitectura del modelo, consulta el informe técnico Pixtral 12B informe técnico. El informe técnico de Pixtral Large no está disponible actualmente.

Cómo utilizar Pixtral Large en Le Chat

El Chat ofrece una interfaz basada en el chat, muy parecida a la popular ChatGPT.

Interfaz Le Chat de Mistral AI

Aunque no podemos seleccionar el modelo Pixtral Large específicamente, el artículo de anuncio deja claro que el nuevo Pixtral Large multimodal está dotado de "la más avanzada comprensión de documentos e imágenes".

Probé Pixtral Large por primera vez en un trabajo de investigación sobre Transformer-Liteque tiene mucho texto y gráficos. Pedí al modelo que me facilitara un resumen del documento:

Resumir un trabajo de investigación utilizando el modelo Pixtal Large a través de Le Chat

Quedé bastante satisfecho con el resultado. A continuación, pedí a Pixtral que explicara este gráfico circular de la distribución de marcas de teléfonos inteligentes, pero tuve cuidado de que mi petición fuera vaga y no desvelara de qué trata el gráfico circular.

Experimento 2 - Resumir el gráfico circular utilizando el modelo Pixtal Large a través de Le Chat

El modelo comprendió el gráfico circular e identificó los números correctamente. La respuesta está bien estructurada y también ofrece una interpretación precisa, al decir que, aunque Samsung y Apple lideran el mercado, una parte importante está ocupada por otras marcas.

Cómo utilizar la API de Pixtral Large en La Plateforme

Para la mayoría de los casos de uso cotidiano, Le Chat es una gran opción, pero si queremos utilizar Pixtral Large mediante programación, tenemos que conectarnos a través de su API. Primero te mostraré cómo conectarte a la API a través de La Plateforme, y luego probaré Pixtral Large en mis propios dibujos.

Conéctate a La Plateforme

Para utilizar Pixtral Large a través de la API, podemos seguir los siguientes pasos:

1. Acceder a La Plataforma.

2. Haz clic en Inicio rápido → Solicitudes API

Inicio rápido a la API Mistral

3. Selecciona la opción de cuenta gratuita. Haz clic en Experimenta gratis, que nos lleva a otra página para verificar la cuenta utilizando nuestro número de móvil mediante una OTP y crear una nueva cuenta.

Opciones del plan de facturación Mistral

4. Una vez configurada la cuenta, selecciona Claves API en la pestaña API (lado izquierdo) .

Pestaña de claves API de Mistral

5. A continuación, haz clic en Crear nueva clave. Podemos rellenar los datos opcionales y hacer clic en Crear clave.

Ventana emergente Mistral para crear la clave API

La clave API ya está lista para su uso. 

Pestaña para encontrar claves API activas y caducadas en Mistral

Generador de descripciones de imágenes mediante API en mi dibujo

Creemos ahora un generador de descripciones de imágenes utilizando la API. El objetivo es pasar cualquier imagen al modelo junto con una pregunta en el prompt (por ejemplo, "Proporciona una descripción detallada de la imagen dada") y recibir una respuesta.

Voy a probarlo generando una descripción para uno de mis dibujos, que se muestra a continuación. La imagen muestra un marco móvil para una aplicación chatbot de atención al cliente 24/7.

dibujo utilizado para la demo pixtral large api

Antes de empezar, asegúrate de que tienes configurado lo siguiente:

  1. GPU: Para esta configuración se necesita una GPU T4. Puedes utilizar Google Colab, que proporciona acceso gratuito a una GPU T4.
  2. Biblioteca de IA Mistral: Para instalarlo, ejecuta el siguiente comando:
!pip install -U mistralai

Comencemos:

Paso 1: Importaciones

A continuación, configuramos nuestras importaciones. Para este tutorial utilizaremos las siguientes bibliotecas:

  • Almohadilla (PIL) para el tratamiento de imágenes
  • Base64 para codificar y descodificar datos binarios en un formato base64
  • La biblioteca io.BytesIO proporciona una interfaz de flujo de bytes en memoria
import base64
from io import BytesIO
from PIL import Image
from mistralai import Mistral

Paso 2: Cliente API Pixtral

A continuación, utiliza la clave API. Para configurar la clave API en Google Colab, ve a la pestaña Secretos. Haz clic en el icono de la clave en la barra lateral izquierda, luego pega tu clave API y asigna un nombre al secreto. Después, activa el botón para habilitar el secreto y utilizarlo en tu código. Esto nos permitirá utilizar el siguiente código en nuestra aplicación.

from google.colab import userdata
userdata.get('secretName') # pass in your secretName here

Una vez establecida la clave secreta, creamos una variable con el nombre API_KEY y le pasamos nuestro nombre secreto, como se muestra en el código siguiente. A continuación, pasamos la clave API a la función Mistral y configuramos el cliente.

from google.colab import userdata
API_KEY = userdata.get('secretName')  # Replace with your actual secret name
client = Mistral(api_key=API_KEY) 

Nota: Opcionalmente, podemos pasar directamente la clave API, pero no se recomienda por motivos de seguridad y privacidad. 

Paso 3: Codificación de la imagen

Una vez que tenemos el cliente configurado, empezamos a procesar la imagen que será la entrada del modelo Pixtral Large.

# Helper function to encode an image to base64
def encode_image(image_obj):
    if isinstance(image_obj, Image.Image):  # Check if it's already a PIL Image
        img = image_obj
    else:  # Otherwise, try opening it as a path
        img = Image.open(image_obj)
    buffered = BytesIO()
    img.save(buffered, format="PNG")
    return base64.b64encode(buffered.getvalue()).decode("utf-8")

El objetivo principal de la función anterior es tomar una imagen, ya sea como ruta de un archivo o como objeto precargado PIL.Image.Image y devolver su representación en forma de cadena Base64. Esto es útil para:

  • Incrustar la imagen directamente en un objeto JSON o en una solicitud API.
  • Evitando la necesidad de enviar la imagen como un archivo separado.

Paso 4: Inferencia sobre la imagen

Una vez que tenemos la imagen, queremos generar su descripción con la API Pixtral Large. El flujo de trabajo incluye codificar la imagen, elaborar una solicitud, enviar una petición a la API de Pixtral y recibir una respuesta descriptiva. Así es como funciona el siguiente código:

  1. La imagen se codifica en un formato Base64 y se envía junto con la solicitud en un mensaje estructurado a la API Pixtral.
  2. El modelo Pixtral Large procesa la indicación y la imagen para generar una descripción textual detallada del contenido de la imagen.
  3. La respuesta se analiza para extraer la descripción, que se muestra al usuario.

Nota: Asegúrate de que en client.chat.complete, el modelo está configurado como "pixtral-large-latest", que es actualmente el único modelo Pixtral Large disponible para el público.

# Function to perform inference for image description
def describe_image(image_path):
    # Load and encode the image
    image_base64 = encode_image(image_path)
    # Prompt for the Pixtral model
    prompt = "Please provide a detailed description of the given image."
    # Prepare input for the Pixtral API
    messages = [
        {
            "role": "user",
            "content": [
                {"type": "text", "text": prompt},
                {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_base64}"}}
            ]
        }
    ]
    # Perform inference
    response = client.chat.complete(
        model="pixtral-large-latest",
        messages=messages,
        max_tokens=300
    )
    # Return the model's output
    return response.choices[0].message.content

# Usage
if __name__ == "__main__":
    # Provide the path to your image file
    image_path = "image.png"  # Replace with the path to your image
    # Get the description of the image
    description = describe_image(image_path)
    
    # Print the result
    print("Image Description:")
    print(description)
Image Description:
The image is a sketch of a mobile app prototype for automated customer support. The sketch depicts a smartphone screen with a customer support interface.
At the top of the screen, there is a header that reads "24x7 Customer Support Powered By AI." Below the header, there is a chat window where a conversation between a user and an AI-powered support system is taking place.
The conversation starts with the AI greeting the user: "Hi! How can I help you?" The user responds: "Hi, I am looking for assistance for featureX." The AI then provides a response: "Sure, here are a few steps:" followed by a placeholder for the steps, which are represented by horizontal lines.
At the bottom of the screen, there is a text input box labeled "Type your message" and a button labeled "Ask AI." The button is highlighted in red, indicating it is an actionable element for the user to interact with.
Overall, the sketch illustrates a user-friendly interface for automated customer support, utilizing AI to provide assistance and guidance to users.

Aquí tienes otro ejemplo de un árbol de Navidad que también he dibujado y debajo de la imagen está lo que Pixtral Large pensó de él.

Dibujo de un árbol de Navidad

Image Description:
The image presents a charming scene of a Christmas tree, standing tall and proud. 
.
.
This description is based on the visible content of the image and does not include any speculative or imaginary elements.

Conclusión

Pixtral Large parece un paso adelante en la IA multimodal, con una mejor comprensión de imágenes y procesamiento de textos. A través de esta guía, exploramos las capacidades del modelo tanto a través de Le Chat como de La Plateforme, y espero que esta guía te resulte útil.


Photo of Aashi Dutt
Author
Aashi Dutt
LinkedIn
Twitter

Soy una Google Developers Expert en ML(Gen AI), una Kaggle 3x Expert y una Women Techmakers Ambassador con más de 3 años de experiencia en tecnología. Cofundé una startup de tecnología sanitaria en 2020 y estoy cursando un máster en informática en Georgia Tech, especializándome en aprendizaje automático.

Temas

Aprende IA con estos cursos

Certificación disponible

curso

Generación Aumentada de Recuperación (RAG) con LangChain

3 hr
1.1K
Aprende métodos vanguardistas para integrar datos externos con LLM utilizando la Generación Aumentada de Recuperación (RAG) con LangChain.
Ver detallesRight Arrow
Comienza El Curso
Ver másRight Arrow
Relacionado

blog

¿Qué es Mistral Large 2? Cómo funciona, casos de uso y más

Mistral Large 2 es el último modelo lingüístico de Mistral AI, que compite con modelos como GPT-4o, Llama 3.1 y Claude 3 Opus.
Ryan Ong's photo

Ryan Ong

8 min

An AI juggles tasks

blog

Cinco proyectos que puedes crear con modelos de IA generativa (con ejemplos)

Aprende a utilizar modelos de IA generativa para crear un editor de imágenes, un chatbot similar a ChatGPT con pocos recursos y una aplicación clasificadora de aprobación de préstamos y a automatizar interacciones PDF y un asistente de voz con GPT.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

10 maneras de utilizar ChatGPT para las finanzas

Descubre cómo los modelos lingüísticos de IA como ChatGPT pueden revolucionar tus operaciones financieras, desde la generación de informes hasta la traducción de jerga financiera.
Matt Crabtree's photo

Matt Crabtree

13 min

tutorial

Ajuste fino de LLaMA 2: Guía paso a paso para personalizar el modelo de lenguaje grande

Aprende a ajustar Llama-2 en Colab utilizando nuevas técnicas para superar las limitaciones de memoria y computación y hacer más accesibles los grandes modelos lingüísticos de código abierto.
Abid Ali Awan's photo

Abid Ali Awan

12 min

tutorial

Tutorial Mistral 7B: Guía paso a paso para utilizar y ajustar Mistral 7B

El tutorial cubre el acceso, la cuantización, el ajuste fino, la fusión y el almacenamiento de este potente modelo lingüístico de código abierto con 7300 millones de parámetros.
Abid Ali Awan's photo

Abid Ali Awan

12 min

tutorial

Visión GPT-4: Guía completa para principiantes

Este tutorial le presentará todo lo que necesita saber sobre GPT-4 Vision, desde cómo acceder a él hasta ejemplos prácticos del mundo real y sus limitaciones.
Arunn Thevapalan's photo

Arunn Thevapalan

12 min

See MoreSee More