こんにちは、みなさん。MiniGPT-4という画像認識AIモデルをご存じですか?
このMiniGPT-4は、2023年4月にサウジアラビアのキング・アブドゥッラー科学技術大学(KAUST)の研究チームによって開発されたオープンソースモデルです。OpenAIが提供するGPT-4と名前が似ているため、混同しますが、別のモデルであり、OpenAI社とも直接的な関係はありません。

ポイント
MiniGPT-4はオープンソースの画像認識AIモデルで、OpenAI社のChatGPT-4とは別物。
MiniGPT-4の特徴
MiniGPT-4は、固定された視覚エンコーダと大規模言語モデル「Vicuna」を組み合わせて構築されています。視覚エンコーダは画像を特徴ベクトル(数値情報)に変換する役割を担っており、事前学習済みのViTベースのモデル(ViT、DeiT、Swin Transformerなど)の重みを凍結(固定)することで、学習中にパラメータを更新せずに済みます。これにより、パフォーマンスの向上と計算リソースの効率化が図られています。
一方、Vicunaはオープンソースの大規模言語モデル(LLM)で、GPT-4と同等の性能を目指して開発されました。Vicunaは、ShareGPTから収集された約7万件のユーザー会話データを用いて、LLaMAベースモデルをファインチューニングすることで作成されています。
MiniGPT-4では、凍結された視覚エンコーダから得られる画像特徴ベクトルに合わせて、Vicunaの言語モデルを対照学習させることで、視覚と言語の情報を効果的に統合しています。これにより、転移学習1と対照学習2のギャップを埋め、高い性能を達成しています。
ポイント
MiniGPT-4は、視覚エンコーダと大規模言語モデルを上手く組み合わせたことで、
高い精度の画像認識を実現した。
MiniGPT-4にできること
MiniGPT-4は、読み込ませた画像が何か判別することができ、どの部分に何があるかも説明してくれます。下記は冒頭でも画像を示したデモのご紹介です。(MiniGPT-4のバージョン2のデモです。)
「晴れた日」、「青い空」、「ハートの形の風船」など、かなり的確に識別してくれています。全体的にどんな画像か?というだけでなく、位置情報も教えてくれるところがポイントですね。

ポイント
MiniGPT-4は、画像の特徴を識別し、そのエリア(範囲)を示してくれる。
人を検出するように指示したところ、位置を教えてくれています。監視カメラの映像などと連携させれば、セキュリティーなどにも応用できるかも知れませんね。

ポイント
MiniGPT-4は、具体的に識別したいものを指定すれば、その位置を教えてくれる
Webサイトっぽいラフ画を作成し、識別させたところ「日本語版ウェブサイト」と的確に識別はしたものの、HTMLを生成するように指示しても意図した結果が得られることはありませんでした。

ポイント
MiniGPT-4は、生成能力は無さそう
MiniGPT-4の利用方法
MiniGPT-4はオープンソースなので、ローカル環境でデモを実行することができます。上記のデモも、ローカル環境において動作させたものになります。Hugging Faceのウェブサイト上ででもオンラインデモが公開されており、Webブラウザから簡単に利用できます。APIを通じた利用も可能なので、開発者にとって魅力的なツールとなるでしょう。
ポイント
MiniGPT-4は、オンラインで試用できたり、ダウンロードして使うこともできる。
HuggingFace MiniGPT-4デモページ
https://huggingface.co/spaces/Vision-CAIR/minigpt4
ダウンロードURL (Huggingface MiniGPT-4, MiniGPT-v2 公式リポジトリ)
https://huggingface.co/Vision-CAIR/MiniGPT-4
MiniGPT-v2の登場と性能向上
MiniGPT-4の後継モデルであるMiniGPT-v2は、2023年10月に発表されました。MiniGPT-v2は、視覚的質問応答(VQAタスク)タスクにおいて、MiniGPT-4を大きく上回る性能を示しています。(表1)
例えば、OKVQAベンチマークでは、MiniGPT-v2は57.8%, MiniGPT-4のと比較して20.3%もの精度向上を達成しています。さらに、referring expression comprehension(REC)のベンチマークでも優れた結果を出しました。(表2)
表1.視覚的質問応答(VQAタスク)ベンチマーク
| Method | Grounding | OKVQA | GQA | VSR | IconVQA | VizWiz | HM |
|---|---|---|---|---|---|---|---|
| Flamingo-9B | ✗ | 44.7 | 31.8 | 28.8 | – | – | 57.0 |
| BLIP-2 (13B) | ✗ | 45.9 | 41.0 | 50.9 | 40.6 | 19.6 | 53.7 |
| InstructBLIP (13B) | ✗ | – | 49.5 | 52.1 | 44.8 | 33.4 | 57.5 |
| MiniGPT-4 (13B) | ✗ | 37.5 | 30.8 | 41.6 | 37.6 | – | – |
| LLaVA (13B) | ✗ | 54.4 | 41.3 | 51.2 | 43.0 | – | – |
| Shikra (13B) | ✓ | 47.2 | – | – | – | – | – |
| Ours (7B) (基本的なMiniGPT-v2モデル) | ✓ | 56.9 | 60.3 | 60.6 | 47.7 | 32.9 | 58.2 |
| Ours (7B)-chat (チャットデータでさらに微調整(ファインチューニング)されたMiniGPT-v2モデル) | ✓ | 57.8 | 60.1 | 62.9 | 51.5 | 53.6 | 58.8 |

表2.参照表現理解(RECタスク)
| Method | Modeltypes | RefCOCO val | RefCOCO test-A | RefCOCO test-B | RefCOCO+ val | RefCOCO+ test-A | RefCOCO+ test-B | RefCOCOg val | RefCOCOg test | RefCOCOg Avg |
|---|---|---|---|---|---|---|---|---|---|---|
| UNINEXT | Specialist models | 92.64 | 94.33 | 91.46 | 85.24 | 89.63 | 79.79 | 88.73 | 89.37 | 88.90 |
| G-DINO-L | Specialist models | 90.56 | 93.19 | 88.24 | 82.75 | 88.95 | 75.92 | 86.13 | 87.02 | 86.60 |
| VisionLLM-H | Generalist models | N/A | 86.70 | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| OFA-L | Generalist models | 79.96 | 83.67 | 76.39 | 68.29 | 76.00 | 61.75 | 67.57 | 67.58 | 72.65 |
| Shikra(7B) | Generalist models | 87.01 | 90.61 | 80.24 | 81.60 | 87.36 | 72.12 | 82.27 | 82.19 | 82.93 |
| Shikra(13B) | Generalist models | 87.83 | 91.11 | 81.81 | 82.89 | 87.79 | 74.41 | 82.64 | 83.16 | 83.96 |
| Ours(7B) (MiniGPT-v2モデル) | Generalist models | 88.69 | 91.65 | 85.33 | 79.97 | 85.12 | 74.45 | 84.44 | 84.66 | 84.29 |
| Ours(7B)-chat (チャットデータでさらに微調整(ファインチューニング)されたMiniGPT-v2モデル) | Generalist models | 88.06 | 91.29 | 84.30 | 79.58 | 85.52 | 73.32 | 84.19 | 84.31 | 83.70 |

論文の公開URL
https://arxiv.org/pdf/2310.09478.pdf
MiniGPT-4とMiniGPT-v2は、ともにGitHubのVision-CAIRリポジトリで公開されています。MiniGPT-v2のコードは、MiniGPT-4リポジトリのアップデートとして提供されており、ファインチューニング用のコードも追加されています。
ポイント
MiniGPT-v2は、MiniGPT-4をはるかに上回る性能向上を果たした。
MiniGPT-4とMiniGPT-v2はどちらも同じGitHubのリポジトリで公開されている。
OpenAI社のGPT-4との違い
MiniGPT-4と名前が似ているOpenAIのGPT-4についても触れておきます。OpenAIのGPT-4は、2023年3月14日に発表されたもので、現在「ChatGPT plus」に加入している一部の有料ユーザーに公開されているプロプライエタリなモデルです。
GPT-4の特徴はマルチモーダルな処理が可能で、テキストだけでなく画像の入力にも対応していますが、モデルの詳細な仕様は公開されていません。また、APIから利用する際も、1Kトークンあたり入力$0.03, 出力$0.06の利用料金が発生します。
後継の最新のモデルとしてGPT-4o、軽量かつ安価なモデルとしてGPT-4o miniもリリースされておりますが、いずれも有料かつ仕様が公開されているものではないので、無料/オープンソースで誰でも利用できるという点がMiniGPT-4, MiniGPT-v2のアドバンテージといえるでしょう。
ポイント
MiniGPT-4はオープンソースで無料、ChatGPT-4は有料サービス。
まとめ
✔ まとめ
-
MiniGPT-4とその後継モデルであるMiniGPT-v2は、画像認識と自然言語処理を高いレベルで実現するオープンソースモデルです。MiniGPT-v2はMiniGPT-4の大幅なアップデート版で、多くのタスクで大幅な性能向上を達成しています。どちらのモデルもGitHubで公開されており、誰でも利用可能です。
ぜひ一度試してみてくださいね。今後のMiniGPTシリーズの発展にも注目です!
- 転移学習:転移学習は、既に学習済みのモデル(ここでは視覚エンコーダ)を別のタスクに再利用する方法です。視覚エンコーダは事前に大規模なデータセットで学習されており、その知識を新しいタスク(MiniGPT-4での画像認識)に活用します。これにより、効率的に高性能なモデルを作成できます。 ↩︎
- 対照学習:対照学習とは、異なるデータ(ここでは画像とテキスト)がどのように関連しているかを学ぶ方法です。MiniGPT-4の場合、画像とその説明文のペアを使って学習します。これにより、画像の内容を正確に言葉で表現できるようになります。 ↩︎
情報メディア学修士, 応用情報技術者
Wikipedia国際会議, 人工知能学会, 情報処理学会, 自然言語処理学会, 人文科学とコンピューターシンポジウムへのへの論文寄稿および受賞歴あり。扱ったことのあるプログラミング言語は、C, C++, COBOL, アセンブリ言語, Pascal, Java, Python, JavaScript等。特に言語に依存することなく必要に応じて使用します。

コメント