Kurs
Pixtral Large: Ein Leitfaden mit Beispielen
Mistral AI hat kürzlich Pixtral Large angekündigt, ein multimodales Modell, das eine leistungsfähigere Version von Pixtral 12Bdas Anfang des Jahres veröffentlicht wurde.
Pixtral Large ist ein 124B multimodales Modell, das fortgeschrittene Bildverstehensaufgaben bewältigen kann, ohne die außergewöhnlichen Textverarbeitungsfähigkeiten von Mistral Large 2. Mit einem riesigen 128K-Kontextfenster kann dieses Modell neben Text bis zu 30 hochauflösende Bilder analysieren und ist damit ideal für Dokumente, Diagramme und natürliche Bilder.
In diesem Tutorial führe ich dich durch verschiedene Beispiele und gebe eine detaillierte Schritt-für-Schritt-Anleitung, wie du Pixtral Large sowohl über die Le Chat-Weboberfläche als auch über die API nutzen kannst. Bevor wir in die praktischen Schritte eintauchen, wollen wir zunächst die wichtigsten theoretischen Konzepte hinter Pixtral Large kennenlernen.
Was ist Pixtral Large?
Pixtral Large verfügt über einen multimodalen 123B-Decoder und einen 1B-Parameter-Vision-Encoder (124B-Parameter), der es ermöglicht, effektiv mit multimodalen Eingaben. Es hat seine unübertroffenen Fähigkeiten in verschiedenen Szenarien unter Beweis gestellt:
- Mehrsprachige OCR: Damit lassen sich Quittungen genau verarbeiten und Berechnungen mit Kontext durchführen (z. B. die Analyse unserer Restaurantrechnungen).
- Kartenverständnis: Damit lassen sich Anomalien und Trends erkennen, z. B. Probleme in den Verlustkurven der Ausbildung.
- Allgemeine Analyse: Es kann Erkenntnisse aus Screenshots gewinnen, kontextbezogene Anfragen effektiv beantworten usw.
Pixtral Large zeigt bei einigen Benchmarks gute Ergebnisse - hier sind die, die mir aufgefallen sind:
- MathVista: 69,4% Genauigkeit beim mathematischen Schlussfolgern über visuelle Daten.
- ChartQA und DocVQA: Übertraf die besten Wettbewerber wie GPT-4o und Gemini-1.5 Pro bei der Analyse von komplexen Diagrammen und Dokumenten.
- MM-MT-Bench: Übertraf Claude-3.5 Sonnet, Gemini-1.5 Pro und GPT-4o in echten multimodalen Aufgaben.
Quelle: Mistral KI
Pixtral Large 124B vs Pixtral 12B
Pixtral Large 124B und Pixtral 12B haben einige architektonische Grundlagen gemeinsam, sind aber nicht identisch. Pixtral Large baut zwar auf den Grundlagen von Pixtral 12B auf, hat aber wesentliche Neuerungen in der Architektur, der Größe des Kontextfensters und der multimodalen Integration, was zu einer besseren Leistung bei verschiedenen Aufgaben führt. Hier sind ein paar Unterschiede zwischen den beiden Modellen.
- Der erhebliche Größenunterschied ermöglicht es Pixtral Large, komplexere Aufgaben und größere Datensätze zu bearbeiten.
- Ein größeres Kontextfenster ermöglicht es Pixtral Large, längere Textsequenzen und komplexere Bilder zu verarbeiten und zu verstehen.
- Beide Modelle sind für multimodale Aufgaben konzipiert, bei denen Text- und Bilddaten integriert werden. Pixtral Large führt jedoch spezialisierte Cross-Attention-Schichten ein, um Informationen über verschiedene Modalitäten hinweg besser zu verschmelzen und so die Leistung bei Aufgaben wie Bildverständnis und Dokumentenverarbeitung zu verbessern.
- Pixtral Large benötigt im Vergleich zu Pixtral 12B mehr Rechenressourcen, darunter über 200 GB Daten und einen leistungsstarken Grafikprozessor. Dies verdeutlicht die höhere Komplexität und Leistungsfähigkeit des größeren Modells.
Pixtral Architektur. Quelle: Pixtral 12B technischer Bericht.
Wenn du dich eingehender mit der Modellarchitektur befassen möchtest, schau dir den technischen Bericht zu Pixtral 12B an Bericht. Der technische Bericht von Pixtral Large ist derzeit nicht verfügbar.
Wie du Pixtral Large auf Le Chat verwendest
Le Chat bietet eine chatbasierte Schnittstelle, ähnlich wie das beliebte ChatGPT.
Obwohl wir das Modell Pixtral Large nicht speziell auswählen können, ist der Ankündigungsartikel macht deutlich, dass der neue multimodale Pixtral Large "die modernste Art des Dokumenten- und Bildverständnisses" bietet.
Ich habe Pixtral Large zum ersten Mal für eine Forschungsarbeit über Transformer-Liteausprobiert, die viel Text und Diagramme enthält. Ich bat das Modell, mir eine Zusammenfassung des Dokuments zu geben:
Ich war mit dem Ergebnis ziemlich zufrieden. Als Nächstes habe ich Pixtral gebeten, dieses Tortendiagramm über die Verteilung der Smartphone-Marken zu erklären, aber ich habe darauf geachtet, meine Aufforderung vage zu halten und nicht zu verraten, worum es in dem Tortendiagramm geht.
Das Modell hat das Tortendiagramm verstanden und die Zahlen richtig erkannt. Die Antwort ist gut strukturiert und gibt auch eine korrekte Interpretation wieder. Sie besagt, dass Samsung und Apple zwar den Markt anführen, aber ein erheblicher Teil von einer Vielzahl anderer Marken besetzt wird.
So nutzt du die API von Pixtral Large auf La Plateforme
Für die meisten alltäglichen Anwendungsfälle ist Le Chat eine großartige Option, aber wenn wir Pixtral Large programmatisch nutzen wollen, müssen wir uns über seine API verbinden. Ich zeige dir zuerst, wie du dich über La Plateforme mit der API verbinden kannst, und dann teste ich Pixtral Large an meinen eigenen Zeichnungen.
Mit La Plateforme verbinden
Um Pixtral Large über die API zu nutzen, kannst du die folgenden Schritte ausführen:
1. Anmelden bei La Plateforme.
2. Klicke auf Schnellstart → API-Anfragen
3. Wähle die Option "Kostenloses Konto". Klicke auf Experiment for free, was uns zu einer weiteren Seite führt, auf der wir das Konto mit unserer Handynummer und einem OTP verifizieren und ein neues Konto einrichten können.
4. Sobald das Konto eingerichtet ist, wähle API-Schlüssel auf der Registerkarte API (linke Seite) .
5. Klicke dann auf Neuen Schlüssel erstellen. Wir können die optionalen Details ausfüllen und auf Schlüssel erstellen klicken.
Der API-Schlüssel ist jetzt einsatzbereit.
Bildbeschreibungsgenerator mit API auf meiner Zeichnung
Lass uns nun einen Generator für Bildbeschreibungen mithilfe der API erstellen. Das Ziel ist es, dem Modell ein beliebiges Bild zusammen mit einer Frage in der Aufforderung (z.B. "Beschreibe das gegebene Bild ausführlich") zu übergeben und eine Antwort zu erhalten.
Ich teste das, indem ich eine Beschreibung für eine meiner Zeichnungen erstelle, die unten abgebildet ist. Das Bild zeigt ein mobiles Framework für eine Chatbot-Anwendung für den 24/7-Kundensupport.
Bevor wir loslegen, solltest du sicherstellen, dass du die folgenden Einstellungen vorgenommen hast:
- GPU: Für dieses Setup wird ein T4-Grafikprozessor benötigt. Du kannst Google Colab nutzen, das kostenlosen Zugang zu einem T4-Grafikprozessor bietet.
- Mistral KI-Bibliothek: Um es zu installieren, führe den folgenden Befehl aus:
!pip install -U mistralai
Fangen wir an:
Schritt 1: Importe
Als Nächstes richten wir unsere Importe ein. Für dieses Tutorial werden wir die folgenden Bibliotheken verwenden:
- Pillow(PIL) für die Bildverarbeitung
- Base64 zur Kodierung und Dekodierung von Binärdaten in ein Base64-Format
- io.BytesIO Bibliothek bietet eine In-Memory Byte-Stream Schnittstelle
import base64
from io import BytesIO
from PIL import Image
from mistralai import Mistral
Schritt 2: Pixtral API Client
Als nächstes verwendest du den API-Schlüssel. Um den API-Schlüssel in Google Colab einzurichten, gehe auf die Registerkarte Geheimnisse. Klicke auf das Schlüsselsymbol in der linken Seitenleiste, füge dann deinen API-Schlüssel ein und gib dem Geheimnis einen Namen. Danach schaltest du die Schaltfläche um, um das Geheimnis für die Verwendung in deinem Code zu aktivieren. So können wir den folgenden Code in unserer Anwendung verwenden.
from google.colab import userdata
userdata.get('secretName') # pass in your secretName here
Sobald der geheime Schlüssel feststeht, richten wir eine Variable mit dem Namen API_KEY
ein und übergeben ihr unseren geheimen Namen, wie im folgenden Code gezeigt. Als nächstes übergeben wir den API-Schlüssel an die Mistral-Funktion und richten den Client ein.
from google.colab import userdata
API_KEY = userdata.get('secretName') # Replace with your actual secret name
client = Mistral(api_key=API_KEY)
Hinweis: Wir können den API-Schlüssel auch direkt übergeben, aber das wird aus Sicherheits- und Datenschutzgründen nicht empfohlen.
Schritt 3: Kodierung Bild
Sobald wir den Client eingerichtet haben, beginnen wir mit der Verarbeitung des Bildes, das als Input für das Pixtral Large Modell dient.
# 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")
Das Hauptziel der obigen Funktion ist es, ein Bild, entweder als Dateipfad oder als vorgeladenes PIL.Image.Image
Objekt, zu nehmen und seine Base64
String-Darstellung zurückzugeben. Dies ist nützlich für:
- Einbetten des Bildes direkt in ein JSON-Objekt oder eine API-Anfrage.
- So musst du das Bild nicht mehr als separate Datei versenden.
Schritt 4: Rückschlüsse auf das Bild
Sobald wir das Bild haben, wollen wir seine Beschreibung mit der Pixtral Large API erstellen. Der Arbeitsablauf umfasst das Kodieren des Bildes, das Erstellen einer Eingabeaufforderung, das Senden einer Anfrage an die Pixtral-API und den Erhalt einer beschreibenden Antwort. Der folgende Code funktioniert folgendermaßen:
- Das Bild wird in ein Base64-Format kodiert und zusammen mit dem Prompt in einer strukturierten Nachricht an die Pixtral-API gesendet.
- Das Pixtral Large Modell verarbeitet die Aufforderung und das Bild, um eine detaillierte Textbeschreibung des Bildinhalts zu erstellen.
- Die Antwort wird geparst, um die Beschreibung zu extrahieren, die dem Nutzer angezeigt wird.
Hinweis: Vergewissere dich, dass unter client.chat.complete
das Modell "pixtral-large-latest"
eingestellt ist, das derzeit das einzige öffentlich zugängliche Pixtral Large Modell ist.
# 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.
Hier ist ein weiteres Beispiel für einen Weihnachtsbaum, den ich auch gezeichnet habe, und unter dem Bild steht, was Pixtral Large davon gehalten hat.
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.
Fazit
Pixtral Large scheint ein Schritt nach vorne in der multimodalen KI zu sein, mit besserem Bildverständnis und Textverarbeitung. In diesem Leitfaden haben wir die Möglichkeiten des Modells sowohl mit Le Chat als auch mit La Plateforme erkundet und ich hoffe, dass dieser Leitfaden für dich hilfreich sein wird.
Ich bin ein Google Developers Expert in ML (Gen AI), ein Kaggle 3x Expert und ein Women Techmakers Ambassador mit mehr als 3 Jahren Erfahrung im Tech-Bereich. Ich habe 2020 ein Startup im Bereich Gesundheitstechnologie mitbegründet und mache einen Master in Informatik an der Georgia Tech, der sich auf maschinelles Lernen spezialisiert.
Lerne KI mit diesen Kursen!
Lernpfad
KI-Grundlagen
Kurs