Ana içeriğe geç

Pixtral Large: Örneklerle Bir Rehber

Mistral’ın Pixtral Large modelini Le Chat üzerinden kullanmayı öğrenin veya La Plateforme üzerindeki API ile programatik olarak erişin.
· 8 dk. oku

Yapay Zeka ile Keşfedin

Mistral AI kısa süre önce, bu yılın başlarında yayımlanan Pixtral 12B’nin daha güçlü bir sürümü olan çok modlu modeli Pixtral Large’ı duyurdu.

Pixtral Large, gelişmiş görsel anlama görevlerini yerine getirirken Mistral Large 2’nin olağanüstü metin işleme yeteneklerini koruyan 124B parametreli bir çok modlu modeldir. 128K gibi büyük bir bağlam penceresiyle, model metinle birlikte 30’a kadar yüksek çözünürlüklü görseli analiz edebilir; bu da onu belgeler, grafikler ve doğal görüntüler için ideal kılar.

Bu eğitimde çeşitli örnekler üzerinden ilerleyerek, Pixtral Large’ı hem Le Chat web arayüzü hem de API aracılığıyla nasıl kullanacağınızı adım adım ayrıntılı biçimde göstereceğim. Uygulamalı kısma geçmeden önce Pixtral Large’ın arkasındaki temel kuramsal kavramları kısaca inceleyelim.

Pixtral Large Nedir?

Pixtral Large, 123B parametreli bir çok modlu kod çözücü ve 1B parametreli bir görsel kodlayıcıya (toplam 124B) sahiptir; bu da onu çok modlu girdilerle etkili şekilde başa çıkabilir hâle getirir. Aşağıdaki gibi çeşitli senaryolarda eşsiz yetenekler sergilemiştir:

  • Çok dilli OCR: Fişleri doğru şekilde işlemek ve bağlama dayalı hesaplamalar yapmak içindir (örneğin, restoran hesaplarını analiz etmek).
  • Grafik anlama: Anormallikleri ve eğilimleri belirlemek için kullanılır; örneğin, eğitim kayıp eğrilerindeki sorunları tespit etmek.
  • Genel analiz: Ekran görüntülerinden içgörü çıkarabilir, bağlamsal soruları etkili biçimde yanıtlayabilir vb.

Pixtral Large çok sayıda kıyaslamada iyi sonuçlar gösteriyor—benim dikkatimi çekenler şunlar oldu:

  • MathVista: Görsel veriler üzerinde matematiksel akıl yürütmede %69,4 doğruluk.
  • ChartQA ve DocVQA: Karmaşık grafikler ve belgeler üzerinde akıl yürütmede GPT-4o ve Gemini-1.5 Pro gibi güçlü rakipleri geride bıraktı.
  • MM-MT-Bench: Gerçek dünya çok modlu görevlerinde Claude-3.5 Sonnet, Gemini-1.5 Pro ve GPT-4o’yu geçti.

Birden çok kıyaslamada Pixtral Large

Kaynak: Mistral AI

Pixtral Large 124B ve Pixtral 12B

Pixtral Large 124B ve Pixtral 12B bazı mimarî temelleri paylaşsa da birebir aynı değildir. Pixtral Large, Pixtral 12B’nin attığı temeller üzerine inşa edilse de mimari, bağlam penceresi boyutu ve çok modlu entegrasyonda önemli farklılıklar sunar; bu da çeşitli görevlerde üstün performansa yol açar. İki model arasındaki bazı farklar şunlardır.

  • Boyuttaki büyük fark, Pixtral Large’ın daha karmaşık görevleri ve daha büyük veri kümelerini işlemesine imkân tanır.
  • Daha büyük bir bağlam penceresi, Pixtral Large’ın daha uzun metin dizilerini ve daha karmaşık görselleri işlemesini ve anlamasını sağlar.
  • Her iki model de metin ve görsel veriyi entegre ederek çok modlu görevler için tasarlanmıştır. Ancak Pixtral Large, farklı kipler arasındaki bilgiyi daha iyi kaynaştırmak için özelleşmiş çapraz-dikkat katmanları sunar; bu da görsel anlama ve belge işleme gibi görevlerde performansı artırır.
  • Pixtral Large, Pixtral 12B’ye kıyasla 200 GB’tan fazla veri ve güçlü bir GPU dahil olmak üzere daha fazla hesaplama kaynağı gerektirir. Bu durum, daha büyük modelin artan karmaşıklığını ve yeteneğini ortaya koyar.

Pixtral Mimarisi

Pixtral Mimarisi. Kaynak: Pixtral 12B teknik raporu.

Model mimarisini daha derinlemesine incelemek isterseniz Pixtral 12B teknik raporuna göz atın. Pixtral Large teknik raporu şu anda mevcut değil.

Le Chat Üzerinde Pixtral Large Nasıl Kullanılır

Le Chat, popüler ChatGPT’ye benzer sohbet tabanlı bir arayüz sunar.

Mistral AI’in Le Chat arayüzü

Pixtral Large modelini özel olarak seçemesek de, duyuru yazısı “belge ve görsel anlamada son teknoloji”nin yeni çok modlu Pixtral Large tarafından güçlendirildiğini açıkça belirtiyor.

İlk olarak, çok sayıda metin ve grafik içeren Transformer-Lite üzerine bir araştırma makalesinde Pixtral Large’ı denedim. Modelden belgenin özetini istedim:

Le Chat üzerinden Pixtal Large modeliyle araştırma makalesi özetleme

Sonuçtan oldukça memnun kaldım. Ardından, akıllı telefon marka dağılımını gösteren bu pasta grafiğini açıklamasını istedim; istemimi bilerek muğlak tuttum ve grafiğin ne hakkında olduğunu belli etmedim.

Deney 2 - Le Chat üzerinden Pixtal Large modeliyle pasta grafiği özetleme

Model pasta grafiğini anladı ve sayıları doğru belirledi. Yanıt iyi yapılandırılmıştı ve Samsung ile Apple’ın pazara liderlik ederken, önemli bir bölümün de çeşitli diğer markalarca paylaşıldığını söyleyerek isabetli bir yorum sundu.

La Plateforme Üzerinde Pixtral Large’ın API’si Nasıl Kullanılır

Günlük kullanım senaryolarının çoğu için Le Chat harika bir seçenek; ancak Pixtral Large’ı programatik olarak kullanmak istersek API’si üzerinden bağlanmamız gerekir. Önce La Plateforme aracılığıyla API’ye nasıl bağlanacağınızı göstereceğim, ardından kendi çizimlerim üzerinde Pixtral Large’ı test edeceğim.

La Plateforme’a Bağlanın

Pixtral Large’ı API üzerinden kullanmak için şu adımları izleyebiliriz:

1. La Plateforme’a giriş yapın.

2. Quickstart → API Requests’e tıklayın

Mistral API’ye Hızlı Başlangıç

3. Ücretsiz hesap seçeneğini belirleyin. Ücretsiz deneyin’e tıklayın; bu, mobil numarayla OTP üzerinden hesabı doğruladığımız ve yeni bir hesap kurduğumuz başka bir sayfaya götürür.

Mistral Faturalandırma Planı seçenekleri

4. Hesap oluşturulduktan sonra, sol taraftaki API sekmesinden API keys’i seçin. 

Mistral API anahtarları sekmesi

5. Ardından Create new key’e tıklayın. İsteğe bağlı ayrıntıları doldurup Create key’e basabilirsiniz.

API anahtarı oluşturma açılır penceresi (Mistral)

API anahtarı artık kullanıma hazır. 

Mistral’da etkin ve süresi dolmuş API anahtarlarını bulma sekmesi

Çizimim Üzerinde API Kullanarak Görsel Açıklama Üretici

Şimdi API kullanarak bir görsel açıklama üretici oluşturalım. Amaç, modele bir görseli ve istemde bir soruyu (örn. “Verilen görselin ayrıntılı bir açıklamasını yapın”) ileterek bir yanıt almaktır.

Bunu, aşağıda gösterilen kendi çizimlerimden biri için bir açıklama üreterek test edeceğim. Görsel, 7/24 müşteri destek sohbet botu uygulaması için bir mobil çerçeveyi tasvir ediyor.

pixtral large api demosunda kullanılan çizim

Başlamadan önce aşağıdaki kurulumların hazır olduğundan emin olun:

  1. GPU: Bu kurulum için bir T4 GPU gereklidir. Ücretsiz T4 GPU erişimi sunan Google Colab’i kullanabilirsiniz.
  2. Mistral AI kütüphanesi: Kurulum için aşağıdaki komutu çalıştırın:
!pip install -U mistralai

Haydi başlayalım:

Adım 1: İçe aktarmalar

Sırada içe aktarmaları ayarlamak var. Bu eğitimde aşağıdaki kütüphaneleri kullanacağız:

  • Görsel işleme için Pillow (PIL)
  • İkili veriyi base64 biçimine kodlamak/çözmek için Base64
  • io.BytesIO: Bellek içi bayt akışı arayüzü sağlar
import base64from io import BytesIOfrom PIL import Imagefrom mistralai import Mistral

Adım 2: Pixtral API istemcisi

Şimdi API anahtarını kullanalım. Google Colab’de API anahtarını ayarlamak için Secrets sekmesine gidin. Sol kenar çubuğundaki anahtar simgesine tıklayın, API anahtarınızı yapıştırın ve sırrınıza bir ad verin. Ardından, kodunuzda kullanılmasını sağlamak için anahtarı etkinleştirin. Bu sayede uygulamamızda aşağıdaki kodu kullanabiliriz.

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

Gizli anahtar tanımlandıktan sonra, aşağıdaki kodda gösterildiği gibi API_KEY adlı bir değişken oluşturup sırrımızın adını buraya atarız. Sonrasında API anahtarını Mistral fonksiyonuna geçirip istemciyi kurarız.

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

Not: API anahtarını doğrudan geçirmek de mümkündür; ancak güvenlik ve gizlilik nedenleriyle önerilmez. 

Adım 3: Görseli kodlama

İstemciyi kurduktan sonra, Pixtral Large modeline girdi olacak görseli işlemeye başlarız.

# Helper function to encode an image to base64def 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")

Yukarıdaki fonksiyonun temel amacı, bir görseli dosya yolu ya da önceden yüklenmiş bir PIL.Image.Image nesnesi olarak alıp onun Base64 dize gösterimini döndürmektir. Şunlar için kullanışlıdır:

  • Görseli doğrudan bir JSON nesnesine veya API isteğine gömmek.
  • Görseli ayrı bir dosya olarak göndermeye gerek bırakmamak.

Adım 4: Görsel üzerinde çıkarım

Görseli hazırladıktan sonra, Pixtral Large API ile açıklamasını üretmek istiyoruz. İş akışı; görselin kodlanması, bir istem oluşturma, Pixtral API’ye istek gönderme ve açıklayıcı bir yanıt alma adımlarını içerir. Aşağıdaki kod şu şekilde çalışır:

  1. Görsel Base64 biçimine kodlanır ve yapılandırılmış bir mesaj içinde istemle birlikte Pixtral API’ye gönderilir.
  2. Pixtral Large modeli, istem ve görseli işleyerek görselin içeriğine dair ayrıntılı bir metinsel açıklama üretir.
  3. Yanıt ayrıştırılarak açıklama çıkarılır ve kullanıcıya gösterilir.

Not: client.chat.complete altında modelin, şu anda genel kullanıma açık tek Pixtral Large modeli olan "pixtral-large-latest" olarak ayarlandığından emin olun.

# Function to perform inference for image descriptiondef 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# Usageif __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.

İşte yine benim çizdiğim bir Noel ağacı örneği; görselin altında da Pixtral Large’ın yorumu yer alıyor.

Noel ağacı çizimi

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.

Sonuç

Pixtral Large, gelişmiş görsel anlama ve metin işleme ile çok modlu yapay zekâda ileri bir adım gibi görünüyor. Bu rehberde, modelin yeteneklerini hem Le Chat hem de La Plateforme üzerinden inceledik; umarım sizin için faydalı olur.

Aashi Dutt

Yazar

Aashi Dutt

ML (Üretken Yapay Zekâ) alanında Google Developers Uzmanıyım, Kaggle 3x Expert unvanına sahibim ve 3+ yıllık teknoloji deneyimiyle Women Techmakers Elçisiyim. 2020'de bir sağlık teknolojileri girişiminin kurucu ortağı oldum ve Georgia Tech'te makine öğrenmesi alanında uzmanlaşarak bilgisayar bilimleri yüksek lisansı yapıyorum.

Konular

İlgili