最近のマルチモーダルAIは、画像を入力すると驚くほど細かく説明してくれます。
そこで今回は、同じ画像を日本語と英語で説明させたら、どれくらい差が出るのかを試してみました。
実験内容
・使用モデル:MiniCPM-V
・入力画像:家族や友人が集まって誕生日パーティーをしているイラスト
・プロンプト:日本語版:「この画像を説明してください」
英語版:Please describe this image in as much detail as possible
今回使用した画像
手順
1 必要ライブラリのインストール
# PyTorch + torchvision を一致したバージョンで再インストール
!pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --upgrade --quiet
2 Hugging Face ログイン
from huggingface_hub import login
login() # ここで発行したアクセストークンを貼り付け
3 モデルとプロセッサの読み込み
from transformers import AutoModel, AutoTokenizer
import torch
model_id = "openbmb/MiniCPM-V-4"
# モデル読み込み
model = AutoModel.from_pretrained(
model_id,
trust_remote_code=True,
torch_dtype=torch.bfloat16,
device_map="auto"
).eval()
# トークナイザー
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
4 画像をアップロード
from google.colab import files
from PIL import Image
uploaded = files.upload() # ここで画像ファイル選択
image_path = list(uploaded.keys())[0]
image = Image.open(image_path).convert("RGB")
5 推論(画像を説明させる)
# プロンプト作成
prompt = "この画像に写っている内容を詳しく説明してください。"
# 推論
response = model.chat(
image=image,
msgs=[{'role': 'user', 'content': prompt}],
tokenizer=tokenizer
)
print("回答:", response)
結果比較
日本語プロンプト
この画像は、テーブルに座ってお互いを見合う4人の子供たちのシーンを描いている。それぞれの子供は超子を着用しており、その中では一人は超子が空中に飛んでいるようだ、テーブルには食事がび、お互いを楽しむように空いている皿がある
テーブルの中央にはケーキがかれており、その上には赤いいこがいられている、ケーキの全部には、袋が3つ並んでいて、その合間には、バスタの皿がある。さらに、右側には、にくらみの※が並んでいる
また、各子供の右手にはワインが持っている。全体として、このシーンは家族や友達のピーチディーになっているようだ。
英語プロンプト
この絵には、長方形のダイニングテーブルを囲んで、子供か10代の若者と思われる4人が楽しそうに集まっている様子が描かれています。全員がカラフルな模様や形が飾られたパーティーハットをかぶっており、誕生日パーティーなどの祝賀行事を示唆しています。
絵の左側から見ていきましょう。
-
1人目の人物は、長い髪を頭の両側で二つに結んでいます。黄色のシャツと青いショートパンツを着用しています。右手は目の前の空の皿に伸ばされており、自分で料理を盛り付けているか、テーブルで他の人の料理を手伝っている様子が伺えます。また、彼女の皿の横には、オレンジジュースらしきものが入ったグラスが置かれています。
-
彼女の隣には、2人目の人物がいて、興奮した様子で腕を高く上げながらリボンを掲げており、祝賀ムードを高めています。この人物は茶色のショートヘアで、緑のトップスを着ています。2人は3人目の人物の真向かいに座っています。
-
3人目の人物は、腕を上げて祝っている人物の隣に座っている。彼は黒髪を短く切り、青いセーターを着ている。手には、おそらくソーダかジュースの入ったボトルを持ち、テーブルに既に置かれたグラスに注ごうとしている。彼の表情は、祝賀ムードと熱意を表している。
-
テーブルの右端には4人目の人物が座っている。髪型と服装から判断すると、おそらく女性である。彼女は肩までのストレートヘアで、ピンクがかった紫色のドレスを着ている。他の参加者と同様に、彼女もパーティーハットをかぶり、食事の時間に積極的に参加している。オレンジ色の液体(おそらくジュース)が入った透明なグラスが、彼女の席のそばに置かれている。
彼らの前の木製のダイニングテーブルには、共に食事をしたことを示す様々な品々が置かれている。
- テーブルの中央には、赤いイチゴが飾られた白いケーキがあり、これがこのイベントのメインデザートであることを示す。
- テーブルの右下隅には、サラダかミックスディッシュが盛られたボウルと箸が置かれており、この集まりで提供される料理の多様性を示唆しています。
- さらに、テーブルの端には、小さな前菜がいくつか並べられたトレイがあり、食事に彩りを添えています。
この緻密な配置は、パーティーハットや紙吹雪などの装飾で祝賀ムードが漂う楽しい雰囲気の中で、友人や家族が集まり、美味しい料理と飲み物を囲んで互いの交流を楽しむ、共同での食事体験を反映しています。
なぜ違うのか?
・英語の方が学習データ量が圧倒的に多く、より豊かな語彙と表現パターンがモデル内に存在している可能性が高い
・日本語でも「もっと詳しく」「細かく描写して」といった追加指示を加えると精度が上がることがある
・英語は冗長で情景描写を好む文化的傾向があるため、AIの出力にもそれが反映されやすい
まとめ
・同じAIでも、言語によって説明の詳細さが変わる
・英語はより饒舌で情景描写が豊か
・日本語でも長めで具体的な指示を与えれば、かなり改善可能
小ネタ
画像説明で最高の情報を引き出したいなら、英語+できるだけ具体的な指示がおすすめです。今回のように、AIの出力を比較してみるだけでも、モデルの得意不得意が見えて面白いですよ。
フリーランスエンジニアです。
AIや画像生成の記事色々書いているのでプロフィール見てみてください。
もし以下のようなご要望をお持ちでしたらお気軽にご相談ください。
AIサービスを開発したい、ビジネスにAIを組み込んで効率化したい、AIを使ったスマホアプリを開発したい、
ARを使ったアプリケーションを作りたい、スマホアプリを作りたいけどどこに相談したらいいかわからない…
いずれも中間コストを省いたリーズナブルな価格でお請けできます。
お仕事のご相談はこちらまで
rockyshikoku@gmail.com
機械学習やAR技術を使ったアプリケーションを作っています。
機械学習/AR関連の情報を発信しています。