Mistral AIの「Pixtral 12B」「Pixtral Large」とは?手書きから複雑データまで対応するマルチモーダルAI
2024/11/18にMistral AIから新たなLLMモデルが登場!9月に登場したPixtral 12Bに続いての登場です!
Pixtral 12BとPixtral Largeはどちらもマルチモーダルモデルであり、Pixtral 12Bは手書きデザインからHTMLの生成ができ、Pixtral Largeは文書やチャート、自然画像といった複雑な視覚データを精度高く理解することが可能です。
本記事では、PixtralモデルであるPixtral 12BとPixtral Largeの両者について解説し、実装方法についてお伝えします。
本記事を最後まで読めば、Pixtral 12BとPixtral Largeの両者を使いこなすことができ、よりタスクの効率化を図ることができるようになるでしょう。
ぜひ最後までお読みください!
Pixtralの概要
今回Mistral AIからリリースされたモデルはPixtralファミリーの一つであり、PixtralファミリーにはこれでPixtral 12BとPixtral Largeの2つになりました。
Pixtral 12Bは比較的小規模なモデルで、特定のユースケースに特化しており、その代表例は手書きデザインからHTMLコードを生成する能力です。
このモデルは、デザインの意図を正確に読み取ってコード化する力に優れており、修正を繰り返すことで生成結果を改善する柔軟性も持っています。こうした機能から、Pixtral 12Bはウェブデザインや簡単な視覚データ処理に適した選択肢と言えるでしょう。
一方でPixtral Largeは大規模なパラメータを持つモデルで、より広範なマルチモーダルタスクに対応。
このモデルは、最大128Kのコンテキストウィンドウを活用して、大量の高解像度画像を同時に処理することが可能であり、企業向けのデータ解析や文書理解のような高度なアプリケーションに適しています。
Pixtral 12Bの特徴
Pixtral 12Bの特徴はやはり手書きデザインからHTMLの生成が可能な点です。
画像と文章の両方を理解するように訓練されており、MMMUのベンチマークでは52.5%を達成し、従来のLLMモデルを超える性能を発揮したそうです。
Pixtral 12Bは図表の理解や文章での質問応答、マルチモーダル推論などのタスクで高性能な力を発揮。自然な解像度とアスペクト比で画像を取り込むことができるので、ユーザーは画像処理の際、トークン数を柔軟に調整できます。
Pixtral 12BをGemini Flash-8B、LLaVA-OV 7B、Claude-3 Haiku、Qwen2-VL 7Bと比較すると、指示理解や科学・知識理解において非常に性能が高いことが分かります。
- Multimodal Knowledge & Reasoning (マルチモーダル知識と推論)
- MMMUにおいて、Pixtral 12BはGemini Flash-8BやClaude-3 Haikuを上回り、トップクラスの精度。MathVistaでは、視覚的数学推論タスクで他のすべてのモデルを大きく上回る性能を発揮。
- MMMUにおいて、Pixtral 12BはGemini Flash-8BやClaude-3 Haikuを上回り、トップクラスの精度。MathVistaでは、視覚的数学推論タスクで他のすべてのモデルを大きく上回る性能を発揮。
- Multimodal QA (ChartQA, DocVQA, VQAv2)
- ChartQAにおいては、Pixtral 12Bは他のすべてのモデルを上回り、グラフに基づく質問応答において優れた性能を発揮しています。DocVQAでは、Claude-3 Haikuにやや劣るものの、他のモデルと同程度の精度です。VQAv2では、Claude-3 HaikuやQwen2-VL 7Bにわずかに劣ります。
- ChartQAにおいては、Pixtral 12Bは他のすべてのモデルを上回り、グラフに基づく質問応答において優れた性能を発揮しています。DocVQAでは、Claude-3 Haikuにやや劣るものの、他のモデルと同程度の精度です。VQAv2では、Claude-3 HaikuやQwen2-VL 7Bにわずかに劣ります。
- Instruction Following (MM-MT-Bench, Text MT-Bench)
- MM-MT-Benchでは他のモデルを大きく上回り、指示理解でトップパフォーマンス。Text MT-Benchはテキスト指示に特化したタスクで、Pixtral 12BはClaude-3 Haikuに次ぐ2位の性能です。
- MM-MT-Benchでは他のモデルを大きく上回り、指示理解でトップパフォーマンス。Text MT-Benchはテキスト指示に特化したタスクで、Pixtral 12BはClaude-3 Haikuに次ぐ2位の性能です。
- Text Understanding (MMLU, MATH, HumanEval)
- MMLUでは最も高い精度を示し、科学・一般知識の理解で群を抜いた性能を発揮。MATHはGemini Flash-8BやClaude-3 Haikuに次ぐ高いスコアを示しています。HumanEvalはプログラミング評価タスクで他のモデルに劣るものの、平均的なパフォーマンスです。
Pixtral 12Bの活用方法
Pixtral 12Bは手書きデザインからHTMLを生成することができますが、それ以外にも活用が可能です。
例えば、提示されたグラフを理解し解析することが可能です。dark dragonの状況が悪化したのはいつ?と質問を投げかけると、具体的に説明を行なってくれます。
Pixtral Largeの特徴
Pixtral Largeは、大規模マルチモーダルモデルで、視覚データとテキストデータを扱うことを得意とします。
1240億のパラメータを備えたマルチモーダルデコーダーと10億のビジョンエンコーダーを搭載しており、複雑な画像や文書、グラフ、自然画像など、多様なデータを扱うことができます。また、最大128Kのコンテキストウィンドウを持つため、30枚以上の高解像度画像を含むタスクでも正確に対応が可能です。
Pixtral Largeは特にマルチモーダル知識推論や質問応答タスクで高い性能を発揮し、MathVistaやChartQAなどのベンチマークで他モデルを大きく上回る結果を示しています。
さらに、MM-MT-Benchにおいて最も高い性能であり、テキストと視覚データを統合的に理解し、指示に基づいて的確な応答を生成する能力に優れています。
自然画像を用いた質問応答や図表解析にも対応し、企業のデータ解析や教育、カスタマーサポートなど幅広い分野での応用もできるでしょう。
Pixtral Largeの活用方法
Pixtral Largeは、視覚データとテキストデータを処理する能力が優れているため、さまざまな分野で活用ができます。
まず、財務データや市場調査データを自動で解析し、重要なインサイトを抽出して報告書を作成ができるでしょう。また、教育分野では、複雑な数学問題を解く能力を活かして教材を作成したり、手書きノートを解析して学生にフィードバックを提供したりすることで、学習を向上させることができます。
また、医療分野では、診断支援や患者データの管理を支えるツールとして、医療記録や検査データを解析し、診断の補助や書類のデジタル化を効率的に行うことも可能です。
Pixtralのライセンス
Pixtral-12BはApache2.0です。
Apache 2.0は、商用利用を含む幅広い使用が可能。再配布や改変時に、元のライセンス条項と表示が求められます。
利用用途 | 可否 |
---|---|
商用利用 | ⭕️ |
改変 | ⭕️ |
配布 | ⭕️ |
特許使用 | ⭕️ |
私的使用 | ⭕️ |
Pixtral LargeはMistral AI Research Licenseです。Mistral AI Research Licenseは研究と教育場面での利用が許可されており、商用利用は別途申請を行う必要があります。
利用用途 | 可否 |
---|---|
商用利用 | ❌ |
改変 | ⭕️(条件あり) |
配布 | ⭕️(条件あり) |
特許使用 | 不明 |
私的使用 | ⭕️(条件あり) |
なお、ベンチマークでGPT-4oを超えた!Googleの新たなGeminiモデルについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
Pixtralの使い方
Pixtral-12BはLe Chat、La PlateformeによるAPI利用、mistral-inferenceによるローカル環境での実行の3つの方法があります。
Pixtral Largeも同様にLe Chat、API利用、Hugging Faceからダウンロードして利用する3つの方法があります。
Pixtral-12BもPixtral LargeもLe Chatがあるので、まずはどんなふうに使えるのかを試して見たい場合には、手軽にLe Chatが使えますね。
Le Chatの使い方
Le Chatはページにアクセスして、テキストを入力すればOKです。
Pixtral-12BのPixtral Largeも同じページです。
そのままテキストを送信すればMistral Large 2.1モデルでやり取りが可能です。また、テキストボックスに「@」を入浴すると「+ Create Agent」が表示されるので、そちらをクリック。
そうするとModelを選択することができます。
プルダウンリストからPixtral Largeを選択しましょう。
APIを使った使い方
APIキーはModelを選択した画面の左側「API Keys」から作成できます。
APIを使う方法
curl https://api.mistral.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_api_key" \
-d '{
"model": "pixtral-12b-2409",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What’s in this image?"
},
{
"type": "image_url",
"image_url": "https://tripfixers.com/wp-content/uploads/2019/11/eiffel-tower-with-snow.jpeg"
}
]
}
],
"max_tokens": 300
}'
結果
{"id":"","object":"chat.completion","created":1732177009,"model":"pixtral-12b-2409","choices":[{"index":0,"message":{"role":"assistant","content":"The image portrays a serene winter scene with the Eiffel Tower prominently featured in the background. The tower is partially covered in snow, and the surrounding area is blanketed with a fresh layer of snow, which is evident on the trees and the ground. There's a pathway leading towards the Eiffel Tower, and a classic Parisian lamppost can be seen in the foreground.","tool_calls":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":1359,"total_tokens":1439,"completion_tokens":80}}%
デモ動画
解析してもらった画像はこちらです。
こちらもモデル名を変えればPixtral Largeが使えるので、「pixtral-large-2411」にしましょう。
APIを使ってPixtral Largeを使う方法
curl https://api.mistral.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_api_key" \
-d '{
"model": "pixtral-large-2411",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What’s in this image?"
},
{
"type": "image_url",
"image_url": "https://huggingface.co/datasets/patrickvonplaten/random_img/resolve/main/yosemite.png"
}
]
}
],
"max_tokens": 300
}'
結果
{"id":"59a27dfcbdfb4ab18793972a7909d6ca","object":"chat.completion","created":1732183707,"model":"pixtral-large-2411","choices":[{"index":0,"message":{"role":"assistant","content":"The image depicts a stunning natural landscape featuring a river flowing through a valley surrounded by towering cliffs and mountains. The river has clear water with visible rocks and grassy patches along its banks. The surrounding area is lush with greenery, including trees and shrubs, indicating a healthy and vibrant ecosystem. The sky is clear with a few scattered clouds, suggesting a pleasant day. The overall scene is serene and picturesque, showcasing the beauty of nature. This type of landscape is characteristic of national parks, such as Yosemite National Park in the United States.","tool_calls":null},"finish_reason":"stop"}],"usage":{"prompt_tokens":2805,"total_tokens":2927,"completion_tokens":122}}%
デモ動画
使うことができるモデルはこちらに一覧で掲載されています。
ローカル環境での実行
Pixtral-12BはHugging Faceからモデルをダウンロードすることで、google colaboratoryでも実装することができますが、Pixtral Largeは124Bとかなり大きいモデルなので、google colaboratoryで使うことは難しいです。
使いたい場合にはLe ChatもしくはAPIを使うようにしましょう。
Pixtral-12Bのgoogle colaboratoryの環境
◼︎Pythonのバージョン
3.8以降
◼︎システム RAM
3.4 / 83.5 GB
◼︎GPU RAM
28.8 / 40.0 GB
◼︎ディスク
56.3 / 112.6 GB
必要ライブラリのインストール
!pip install mistral-inference mistral-common pillow requests
モデルのダウンロード
from huggingface_hub import snapshot_download
from pathlib import Path
# モデルデータを保存するディレクトリ
mistral_models_path = Path.home().joinpath('mistral_models', 'Pixtral')
mistral_models_path.mkdir(parents=True, exist_ok=True)
# Hugging Faceからモデルデータをダウンロード
snapshot_download(
repo_id="mistralai/Pixtral-12B-Base-2409",
allow_patterns=["params.json", "consolidated.safetensors", "tekken.json"],
local_dir=mistral_models_path
)
サンプルコード
from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import TextChunk, ImageURLChunk
from PIL import Image
from io import BytesIO
import requests
# モデルとトークナイザーをロード
tokenizer = MistralTokenizer.from_file(f"{mistral_models_path}/tekken.json")
model = Transformer.from_folder(mistral_models_path)
# 入力画像URL
url = "https://huggingface.co/datasets/patrickvonplaten/random_img/resolve/main/yosemite.png"
response = requests.get(url)
image = Image.open(BytesIO(response.content))
image.show() # 画像をColabで表示する場合
# プロンプト設定
prompt = "The above image presents a"
user_content = [ImageURLChunk(image_url=url), TextChunk(text=prompt)]
# トークン化
tokens, images = tokenizer.instruct_tokenizer.encode_user_content(user_content, False)
# モデルによる生成
out_tokens, _ = generate(
[tokens],
model,
images=[images],
max_tokens=256,
temperature=0.35,
eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id,
)
# 結果をデコードして表示
result = tokenizer.decode(out_tokens[0])
print("Prompt:", prompt)
print("Completion:", result)
結果
Prompt: The above image presents a
Completion: view of the Merced River in Yosemite Valley, with El Capitan on the left and Cathedral Rocks on the right. The image was captured using a Canon EOS 5D Mark II camera with a Canon EF 24-105mm f/4L IS USM lens. The camera settings used were a shutter speed of 1/200 second, an aperture of f/11, and an ISO of 100. The focal length was 24mm, and the image was taken at a focal length of 24mm. The image was processed using Adobe Lightroom 4.
Pixtralファミリーの性能を他のLLMと比較検証
ここからはPixtralファミリーの性能を他のLLMと比較して見たいと思います。今回はLe Chatを使ってPixtral LargeとChatGPT-4oを比較します。
また、Pixtral-12Bが本当にHTMLを出力するのかを確認します。
Pixtral LargeとChatGPT-4oを比較
まずLe Chatを使った比較タスクは次の2つです。
1.日報を自動で作成してGmailに添付するまでを自動化するPythonコードの作成をしてください。
2.女性向け化粧品のコピーライティングの作成をしてください。
生成速度で言うとChatGPT-4oの方が速いですね。メール自動化のPythonコードではエラーハンドリングをChatGPT-4oの方が詳しく書いてくれており、実際に使うとしたらChatGPT-4oの方かもしれません。
しかし、女性向け化粧品のコピーライティングでは、Pixtral Largeのほうが具体性のあるコピーライティングを生成しました。
基本的なことはPixtral Largeで十分ですね。無料で使うこともできますので。
上記は「日報を自動で作成してGmailに添付するまでを自動化するPythonコードの作成をしてください。」と指示を与えた時のものです。
ほとんど同じタイミングで指示を与えていますが、ChatGPT-4oの方が生成は速い結果となりました。
上記は「女性向け化粧品のコピーライティングの作成をしてください。」と指示を与えたものです。
Pixtral-12Bに画像のデザインからHTMLを生成させてみた
続いてPixtral-12BでHTMLが出力されるかを検証します。検証に使う画像はMistral AIの公式に掲載されていたものを使います。
実際にHTMLを生成してくれました。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ice Cream Flavor Picker</title>
<style>
body {
font-family: Arial, sans-serif;
}
.container {
width: 300px;
margin: 0 auto;
border: 1px solid #000;
padding: 20px;
text-align: center;
}
.flavor-list {
list-style-type: none;
padding: 0;
}
.flavor-list li {
margin: 10px 0;
}
.next-button {
margin-top: 20px;
}
.copyright {
font-size: 12px;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="container">
<h1>Pick An Ice Cream Flavor</h1>
<ul class="flavor-list">
<li>
<label>
<input type="radio" name="flavor" value="vanilla"> Vanilla
</label>
</li>
<li>
<label>
<input type="radio" name="flavor" value="chocolate"> Chocolate
</label>
</li>
<li>
<label>
<input type="radio" name="flavor" value="strawberry"> Strawberry
</label>
</li>
<li>
<label>
<input type="radio" name="flavor" value="mint"> Mint
</label>
</li>
</ul>
<div class="next-button">
<button>Next</button>
</div>
<div class="copyright">
© copyright Mistral AI
</div>
</div>
</body>
</html>
なお、全デバイスのUIを正確に分析できるMicrosoft製AIツールについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
まとめ
本記事では、PixtralファミリーのPixtral 12BとPixtral Largeについて解説をしました。どちらも高い性能を誇っているため、うまく活用することで、タスク・業務の効率化が図れるでしょう。
また、Le Chatは無料で使えるため、まずはLe ChatでPixtral 12BとPixtral Largeの性能を確認してみるのもおすすめです。ぜひ本記事を参考に、Pixtral 12BとPixtral Largeを使って見てください!
最後に
いかがだったでしょうか?
生成AIの導入で、業務効率化やデータ解析の精度向上を実現。貴社に合わせた最適な運用プランをご提案します。
株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。