Chuyển đến nội dung chính

Pixtral Large: Hướng dẫn kèm ví dụ

Tìm hiểu cách sử dụng Pixtral Large của Mistral qua Le Chat hoặc truy cập theo lập trình thông qua API trên La Plateforme.
· 8 phút đọc

Khám phá cùng AI

Mistral AI gần đây đã công bố Pixtral Large, một mô hình đa phương thức mạnh mẽ hơn phiên bản Pixtral 12B được phát hành đầu năm nay.

Pixtral Large là mô hình đa phương thức 124B có thể xử lý các tác vụ hiểu hình ảnh nâng cao đồng thời vẫn giữ được khả năng xử lý văn bản xuất sắc của Mistral Large 2. Với cửa sổ ngữ cảnh khổng lồ 128K, mô hình này có thể phân tích đến 30 hình ảnh độ phân giải cao cùng với văn bản, lý tưởng cho tài liệu, biểu đồ và hình ảnh tự nhiên.

Trong hướng dẫn này, tôi sẽ đưa bạn qua nhiều ví dụ và cung cấp chỉ dẫn chi tiết, từng bước về cách sử dụng Pixtral Large qua cả giao diện web Le Chat và API. Trước khi bắt đầu thực hành, hãy cùng điểm qua các khái niệm lý thuyết chính đằng sau Pixtral Large.

Pixtral Large là gì?

Pixtral Large có bộ giải mã đa phương thức 123B và bộ mã hóa thị giác 1B tham số (tổng 124B tham số), giúp nó xử lý hiệu quả các đầu vào đa phương thức. Nó đã chứng minh năng lực vượt trội trong nhiều kịch bản như:

  • OCR đa ngôn ngữ: Xử lý hóa đơn chính xác và thực hiện phép tính theo ngữ cảnh (ví dụ phân tích hóa đơn nhà hàng).
  • Hiểu biểu đồ: Xác định bất thường và xu hướng, như chỉ ra vấn đề trong đường cong mất mát huấn luyện.
  • Phân tích tổng quát: Trích xuất thông tin từ ảnh chụp màn hình, trả lời hiệu quả các truy vấn theo ngữ cảnh, v.v.

Pixtral Large cho kết quả tốt trên khá nhiều bộ đánh giá chuẩn—dưới đây là những bộ khiến tôi chú ý:

  • MathVista: Độ chính xác 69,4% trong lập luận toán học trên dữ liệu trực quan.
  • ChartQA và DocVQA: Vượt qua các đối thủ hàng đầu như GPT-4o và Gemini-1.5 Pro trong lập luận trên biểu đồ và tài liệu phức tạp.
  • MM-MT-Bench: Vượt Claude-3.5 Sonnet, Gemini-1.5 Pro và GPT-4o trong các tác vụ đa phương thức ngoài đời thực.

Pixtral Large trên nhiều bộ đánh giá chuẩn

Nguồn: Mistral AI

Pixtral Large 124B so với Pixtral 12B

Pixtral Large 124B và Pixtral 12B có chung một số nền tảng kiến trúc nhưng không hề giống hệt nhau. Trong khi Pixtral Large kế thừa nền tảng do Pixtral 12B đặt ra, các đặc điểm của nó khác biệt đáng kể về kiến trúc, kích thước cửa sổ ngữ cảnh và tích hợp đa phương thức, dẫn đến hiệu năng vượt trội ở nhiều tác vụ. Dưới đây là một vài điểm khác nhau giữa hai mô hình.

  • Sự chênh lệch lớn về kích thước cho phép Pixtral Large xử lý các tác vụ phức tạp hơn và bộ dữ liệu lớn hơn.
  • Cửa sổ ngữ cảnh lớn hơn giúp Pixtral Large xử lý và hiểu các chuỗi văn bản dài hơn và hình ảnh phức tạp hơn.
  • Cả hai mô hình đều được thiết kế cho tác vụ đa phương thức, tích hợp dữ liệu văn bản và hình ảnh. Tuy nhiên, Pixtral Large bổ sung các lớp cross-attention chuyên biệt để hợp nhất thông tin giữa các phương thức tốt hơn, nâng cao hiệu quả trong các tác vụ như hiểu hình ảnh và xử lý tài liệu.
  • Pixtral Large đòi hỏi nhiều tài nguyên tính toán hơn, bao gồm hơn 200GB dữ liệu và GPU mạnh, so với Pixtral 12B. Điều này cho thấy mức độ phức tạp và năng lực tăng lên của mô hình lớn hơn.

Kiến trúc Pixtral

Kiến trúc Pixtral. Nguồn: báo cáo kỹ thuật Pixtral 12B.

Nếu bạn muốn tìm hiểu sâu hơn về kiến trúc mô hình, hãy xem báo cáo kỹ thuật Pixtral 12B. Báo cáo kỹ thuật Pixtral Large hiện chưa có sẵn.

Cách sử dụng Pixtral Large trên Le Chat

Le Chat cung cấp giao diện trò chuyện tương tự như ChatGPT.

Giao diện Le Chat của Mistral AI

Mặc dù chúng ta không thể chọn cụ thể mô hình Pixtral Large, bài thông báo nêu rõ rằng “khả năng hiểu tài liệu và hình ảnh tiên tiến” được vận hành bởi Pixtral Large đa phương thức mới.

Tôi đã thử Pixtral Large với một bài báo nghiên cứu về Transformer-Lite, chứa nhiều văn bản và đồ thị. Tôi yêu cầu mô hình tóm tắt tài liệu:

Tóm tắt bài nghiên cứu bằng mô hình Pixtal Large qua Le Chat

Tôi khá hài lòng với kết quả. Tiếp theo, tôi yêu cầu Pixtral giải thích biểu đồ tròn về phân bổ thương hiệu điện thoại thông minh, nhưng cố tình giữ lời nhắc mơ hồ và không tiết lộ nội dung biểu đồ.

Thử nghiệm 2 - Tóm tắt biểu đồ tròn bằng mô hình Pixtal Large qua Le Chat

Mô hình đã hiểu biểu đồ tròn và xác định đúng các con số. Phản hồi có cấu trúc tốt và đưa ra diễn giải chính xác, rằng dù Samsung và Apple dẫn đầu thị trường, một phần đáng kể thuộc về nhiều thương hiệu khác.

Cách sử dụng API của Pixtral Large trên La Plateforme

Với hầu hết nhu cầu thường ngày, Le Chat là lựa chọn tuyệt vời, nhưng nếu muốn dùng Pixtral Large theo lập trình, chúng ta cần kết nối qua API. Trước tiên, tôi sẽ hướng dẫn bạn cách kết nối API qua La Plateforme, sau đó tôi sẽ thử Pixtral Large trên bản vẽ của chính mình.

Kết nối với La Plateforme

Để sử dụng Pixtral Large qua API, chúng ta có thể làm theo các bước sau:

1. Đăng nhập vào La Plateforme.

2. Nhấp Quickstart → API Requests

Bắt đầu nhanh với Mistral API

3. Chọn tùy chọn tài khoản miễn phí. Nhấp Dùng thử miễn phí, thao tác này sẽ đưa chúng ta đến trang xác minh tài khoản bằng số điện thoại với OTP và thiết lập tài khoản mới.

Tùy chọn gói thanh toán của Mistral

4. Khi đã thiết lập tài khoản, chọn API keys từ thẻ API (bên trái).

Thẻ API keys của Mistral

5. Tiếp theo, nhấp Create new key. Có thể điền thông tin tùy chọn rồi nhấp Create key.

Cửa sổ tạo API key của Mistral

API key đã sẵn sàng để sử dụng.

Thẻ xem API key đang hoạt động và đã hết hạn trong Mistral

Trình tạo mô tả hình ảnh bằng API trên bản vẽ của tôi

Giờ hãy tạo một trình tạo mô tả hình ảnh bằng API. Mục tiêu là truyền bất kỳ hình ảnh nào cho mô hình kèm một câu hỏi trong prompt (ví dụ: “Hãy cung cấp mô tả chi tiết về hình ảnh đã cho”) và nhận lại câu trả lời.

Tôi sẽ thử bằng cách tạo mô tả cho một bản vẽ của mình bên dưới. Hình mô tả khung ứng dụng di động cho chatbot hỗ trợ khách hàng 24/7.

bản vẽ dùng cho demo api pixtral large

Trước khi bắt đầu, hãy đảm bảo bạn đã chuẩn bị các mục sau:

  1. GPU: Cần GPU T4 cho thiết lập này. Bạn có thể dùng Google Colab, nơi cung cấp T4 miễn phí.
  2. Thư viện Mistral AI: Để cài đặt, chạy lệnh sau:
!pip install -U mistralai

Bắt đầu nhé:

Bước 1: Import

Tiếp theo, chúng ta thiết lập phần import. Trong hướng dẫn này, chúng ta sẽ dùng các thư viện sau:

  • Pillow (PIL) để xử lý hình ảnh
  • Base64 để mã hóa/giải mã dữ liệu nhị phân sang định dạng base64
  • io.BytesIO cung cấp giao diện luồng byte trong bộ nhớ
import base64from io import BytesIOfrom PIL import Imagefrom mistralai import Mistral

Bước 2: Client API Pixtral

Tiếp theo, sử dụng API key. Để thiết lập API key trong Google Colab, vào thẻ Secrets. Nhấp biểu tượng chìa khóa ở thanh bên trái, dán API key của bạn và đặt tên cho secret. Sau đó bật công tắc để cho phép sử dụng secret trong mã. Điều này cho phép chúng ta dùng đoạn mã sau trong ứng dụng.

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

Khi đã có secret key, chúng ta tạo biến tên API_KEY và truyền tên secret vào, như dưới đây. Tiếp theo, truyền API key cho hàm Mistral và khởi tạo client.

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

Lưu ý: Chúng ta có thể truyền trực tiếp API key nhưng không khuyến nghị vì lý do an toàn và quyền riêng tư.

Bước 3: Mã hóa hình ảnh

Sau khi thiết lập client, chúng ta bắt đầu xử lý hình ảnh sẽ dùng làm đầu vào cho mô hình Pixtral Large.

# 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")

Mục tiêu chính của hàm trên là nhận một hình ảnh, dưới dạng đường dẫn tệp hoặc đối tượng PIL.Image.Image đã nạp sẵn, và trả về chuỗi Base64 tương ứng. Điều này hữu ích để:

  • Nhúng trực tiếp hình ảnh vào đối tượng JSON hoặc yêu cầu API.
  • Tránh phải gửi hình ảnh như một tệp riêng biệt.

Bước 4: Suy luận trên hình ảnh

Khi đã có hình ảnh, chúng ta muốn tạo mô tả của nó bằng API Pixtral Large. Quy trình gồm mã hóa hình ảnh, soạn prompt, gửi yêu cầu đến API Pixtral và nhận lại phản hồi mô tả. Dưới đây là cách đoạn mã sau hoạt động:

  1. Hình ảnh được mã hóa sang định dạng Base64 và gửi kèm prompt trong thông điệp có cấu trúc đến API Pixtral.
  2. Mô hình Pixtral Large xử lý prompt và hình ảnh để tạo mô tả văn bản chi tiết về nội dung hình ảnh.
  3. Phản hồi được phân tách để trích xuất mô tả và hiển thị cho người dùng.

Lưu ý: Đảm bảo trong client.chat.complete, mô hình được đặt là "pixtral-large-latest" — hiện là mô hình Pixtral Large duy nhất công khai.

# 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.

Đây là một ví dụ khác về cây thông Noel mà tôi đã vẽ và bên dưới hình là cảm nhận của Pixtral Large về nó.

Bản vẽ cây thông Noel

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.

Kết luận

Pixtral Large có vẻ là một bước tiến trong AI đa phương thức, với khả năng hiểu hình ảnh và xử lý văn bản tốt hơn. Qua hướng dẫn này, chúng ta đã khám phá năng lực của mô hình qua cả Le Chat và La Plateforme, và tôi hy vọng tài liệu này sẽ hữu ích cho bạn.

Aashi Dutt

Tác giả

Aashi Dutt

Tôi là Chuyên gia Google Developers trong lĩnh vực ML (Gen AI), Chuyên gia Kaggle 3x và Đại sứ Women Techmakers với hơn 3 năm kinh nghiệm trong ngành công nghệ. Tôi đồng sáng lập một startup công nghệ y tế vào năm 2020 và hiện đang theo học thạc sĩ khoa học máy tính tại Georgia Tech, chuyên sâu về học máy.

Chủ đề

Liên quan