見出し画像

小型マルチモーダルAI「MiniCPM-V」とは?GPT-4Vを凌駕する性能と活用法

こんにちは!AI-Bridge Labのこばです👋

LLMの進化が加速する中、今日はオープンソース界のマルチモーダルAIの最前線を行く「MiniCPM-V」について詳しくご紹介します。OpenBMBが開発したこのモデルは、画像や動画の理解において驚異的な性能を発揮し、GPT-4VやGemini 1.5proやClaude 3.5sonnetなどのトップ層のLLMを一部凌駕する成果を上げています。

Gemini Ultraの発表時のデモのように、リアルタイムに撮影された動画に対して、回答を生成しているのがわかりますね。これが、ローカル環境で動かせるのは本当に素晴らしいです!

実は、MiniCPM-Vの最新版であるv2.6は、単に性能が高いだけでなく、効率性や使いやすさでも大きな進化を遂げています。今回は、このAIツールの特徴や活用方法について、分かりやすく解説していきますね。

MiniCPM-Vとは?

MiniCPM-Vは、OpenBMBが開発した最新の多機能マルチモーダル大規模言語モデル(MLLM)です。特に注目すべきは最新版のMiniCPM-V 2.6。このモデルは、画像や動画の内容理解において、GPT-4Vなどの高性能なモデルを上回る性能を持っているのです。

MiniCPM-V 2.6の主な特徴

  1. セキュリティ:ローカル環境で完結するため、秘匿性の高い情報が扱いやすい

  2. 高性能: OpenCompass上でGPT-4oやGemini 1.5を超えるスコアを達成。

  3. 効率性: 8Bという比較的小さなパラメータ数で高性能を実現。

  4. リアルタイム処理: iPad上でのリアルタイムビデオ分析が可能。

  5. 強力なOCR機能: 多言語対応で高精度なテキスト抽出が可能。

  6. オープンソース: Apache 2.0ライセンスで提供され、商用利用や改変が可能。

画像
無料でセキュアに高性能な軽量モデルが使えることが強みです

MiniCPM-Vを利用した画像分析プログラム

Ollamaと簡単なプログラムを使って、画像分析タスクができるPythonスクリプトを組んでみました。このプログラムを使うと、自分のPCに入っている画像を1枚あたり最大180万ピクセル (例:1344x1344) まで分析することができます。

Ollamaというローカル環境からLLMを呼び出すことができるツールを使用します。MiniCPM-VとGemma2を呼び出して画像の分析をしてもらい、結果をGemma2に日本語に翻訳してもらうという流れです。(日本語での出力精度があまり良くないため)

# 画像分析プログラム

# 必要なライブラリをインポート
import os
from ollama import Client

# Ollamaクライアントの初期化
client = Client()
image_model = "minicpm-v"
translation_model = "gemma2"

# 画像を分析する関数
def analyze_image(image_path):
    try:
        response = client.generate(model=image_model, prompt="Please do something appropriate to the image provided, such as explaining it, calculating it, or transcribing it.", images=[image_path])
        return response['response'].strip()
    except Exception as e:
        raise e

# 英語から日本語に翻訳する関数
def translate_to_japanese(text):
    try:
        prompt = f"Translate the following English text to Japanese:\n\n{text}\n\nJapanese translation:"
        response = client.generate(model=translation_model, prompt=prompt)
        return response['response'].strip()
    except Exception as e:
        raise e

# メイン関数
def main():
    image_folder = "images"
    
    image_files = [f for f in os.listdir(image_folder) if f.lower().endswith(('.png', '.jpg', '.jpeg', '.gif'))]
    
    if not image_files:
        print("画像ファイルが見つかりません。")
        return
    
    print("利用可能な画像ファイル:")
    for i, file in enumerate(image_files, 1):
        print(f"{i}. {file}")
    
    choice = int(input("分析する画像の番号を選択してください: ")) - 1
    
    if 0 <= choice < len(image_files):
        image_path = os.path.join(image_folder, image_files[choice])
        
        result = analyze_image(image_path)
        japanese_result = translate_to_japanese(result)
        print(japanese_result)
    else:
        print("無効な選択です。")

# プログラムのエントリーポイント
if __name__ == "__main__":
    main()

このプログラムを実行するために必要な前準備を以下に説明します。

1. Python のインストール

  • Python 3.7以上をインストールしてください。

  • Python公式サイトからダウンロードできます。

2. Ollama のインストール

Ollamaの導入に関してはこちらをご参照ください

3. 必要なライブラリのインストール

コマンドラインで以下を実行します:

pip install ollama

4. モデルのダウンロード

Ollamaで必要なモデルをダウンロードします:

ollama pull minicpm-v
ollama pull gemma2

5. 画像フォルダの準備

  • スクリプトと同じディレクトリに `images` という名前のフォルダを作成します。

  • 分析したい画像ファイルをこのフォルダに配置します。

6. スクリプトの保存

提供されたPythonコードを `.py` ファイル(例:`image_analyzer.py`)として保存します。

7. プログラムの実行

準備が整ったら、コマンドラインでスクリプトのあるディレクトリに移動し、以下のコマンドを実行します:

python image_analyzer.py

これで画像分析プログラムが起動し、指示に従って画像を選択し分析結果を得ることができます。

8.出力結果

画像
見せた画像

この画像のイラストはモノクロで、クラシックなアニメ短編を彷彿とさせる。有名な寓話「かめとうさぎ」を描いています。 このシーンでは、カメがゆっくりながらも一定のペースでリードしている一方、スピード自慢として知られるウサギは追い越すために必死で走っている様子が見られます。この描写はエソップの寓話からの一場面を捉え、粘 り強さ(カメ)が傲慢と自信過剰(ウサギ)を打ち負かすことの大切さを教えてくれます。 この作品は陰影を効果的に用いて動きや表情を表現し、両者の間の競争という物語を強調しています。

画像の要素だけでなく、どういったシチュエーションか文脈的に説明することができています

MiniCPM-Vの活用方法

MiniCPM-Vは、その高い性能と多機能性から、様々な分野での活用が期待されています。具体的にどのような使い方ができるのか、いくつか例を挙げてみましょう。

1. 教育分野での活用

  • 対話型の学習材料: 画像や動画を用いた質問応答システムの構築

  • リアルタイム翻訳: 外国語の教科書や資料のリアルタイム翻訳と解説

  • 採点の自動化:答案データから自動的に採点を行うシステムの構築

画像
👈左側の手描きの計算式の画像を読ませると、👉右側の文章が生成されます

2. ビジネス分野での活用

  • 文書解析の効率化: 契約書や報告書などのOCRと内容理解の自動化

  • マーケティング支援: SNS投稿の画像や動画の自動分析とインサイト抽出

3. エンターテインメント分野での活用

  • 動画コンテンツの自動タグ付け: YouTubeなどの動画プラットフォームでの効率的なコンテンツ管理

  • インタラクティブなゲーム開発: プレイヤーの行動をリアルタイムで理解し反応するAIキャラクターの実装

その他にも、制作した動画へのフィードバックや、画像を分析して画像生成AI用のプロンプトとして再構築させたり、スクリーンショットを元にコーディングを行ったりと、複数のLLMを組み合わせてワークフロー化することで閉じた環境の中で、色々なタスクを自動化できます。

まとめ

MiniCPM-Vは、その高い性能と使いやすさから、AI技術の民主化を拡大する可能性を秘めています。特に、教育やビジネス、エンターテインメントなど、幅広い分野での活用が期待されます。

今後、MiniCPM-Vのような先進的なオープンソースツールがどのように私たちの生活や仕事を変えていくのか、非常に楽しみですね。AI技術の進化に興味がある方は、ぜひMiniCPM-Vの動向にも注目してみてください!

最後まで読んでいただき、ありがとうございました。この記事が皆さまのAI活用の一助となれば幸いです。

AI-Bridge Labについて

AI-Bridge Labは、最新のAI技術とその活用方法について情報を発信し、企業のDX実現をサポートしています。AIを活用したソリューションや人材育成にご興味があれば、お気軽にご連絡ください!

メール:ai_business@doerstokyo.jp


皆さまの温かいサポートのおかげで、活動を続けることができています。もしよろしければ、引き続き支援をお願いできますと幸いです。より質の高い記事投稿に励みます!

ピックアップされています

AIツール系記事【AIBridge Lab】

  • 40本

コメント

ログイン または 会員登録 するとコメントできます。
DoersTokyo株式会社(https://doerstokyo.jp/)でAIの活用事例や最新情報の調査と検証を行っています 「AI-Bridge Lab(エーアイブリッジ)」のこばと申します。 【メインコンテンツ】 大規模言語モデル(LLM)や画像、音楽、動画生成AIなど
小型マルチモーダルAI「MiniCPM-V」とは?GPT-4Vを凌駕する性能と活用法|AI-Bridge Lab こば
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1