AIパーソナル・ラーニング
と実践的なガイダンス
豆包Marscode1

Qwen2.5-VL:画像・ビデオ文書解析のためのオープンソース・マルチモーダルラージモデル

はじめに

Qwen2.5-VLは、アリババクラウドのQwenチームによって開発されたオープンソースのマルチモーダルビッグモデルです。Qwen2.5言語モデルをベースに開発されたQwen2-VLのアップグレード版で、テキスト、画像、動画、文書を同時に処理できる。公式には、文書解析、動画理解、インテリジェント・エージェント機能が大幅に改善され、3B、7B、32B、72Bの4つのパラメータ・スケールをサポートし、パーソナル・コンピューターからサーバーまで様々なニーズに対応する。qwen2.5-VLは、いくつかのテストにおいて、クローズドソースモデルを凌駕する指標を示すなど、高い性能を発揮しており、開発者が文書抽出ツール、ビデオ解析ツール、デバイス操作アシスタントなどのインテリジェントツールを構築するのに適している。

Qwen2.5-VL:支持图像视频文档解析的开源多模态大模型-1


 

機能一覧

  • 画像内のオブジェクト、テキスト、レイアウトを認識し、自然なシーンと多言語をサポートします。
  • 非常に長いビデオ(1時間以上)や秒単位のイベントクリップを理解する。
  • 複雑な文書を解析し、手書きのテキスト、表、グラフ、化学式を抽出します。
  • インテリジェント・エージェントのタスクを実行するために、視覚的およびテキスト的なコマンドによってコンピュータや携帯電話を制御する。
  • 座標や属性情報などの構造化データをJSON形式で出力する。
  • ビデオ処理効率を最適化するため、ダイナミック解像度とフレームレートの調整をサポート。

 

ヘルプの使用

設置プロセス

Qwen2.5-VL をローカルで動作させるには、ソフトウェア環境を準備する必要があります。以下はその詳細な手順です:

  1. 基本環境の点検
    Python 3.8+とGitが必要です。ターミナルで以下のコマンドを入力して確認してください:
python --version
git --version

インストールされていない場合は、PythonとGitのウェブサイトからダウンロードできる。

  1. ダウンロードコード
    ターミナルで以下のコマンドを実行し、GitHubリポジトリをクローンする:
git clone https://github.com/QwenLM/Qwen2.5-VL.git
cd Qwen2.5-VL
  1. 依存関係のインストール
    プロジェクトには特定のPythonライブラリーが必要で、以下のコマンドを実行してインストールする:
pip install git+https://github.com/huggingface/transformers@f3f6c86582611976e72be054675e2bf0abb5f775
pip install accelerate
pip install qwen-vl-utils[decord]
pip install 'vllm>0.7.2'

GPUを持っている場合は、CUDAをサポートしたPyTorchをインストールしてください:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

注釈decord ビデオのロードを高速化するために、Linux以外のユーザーは、以下のサイトからビデオをダウンロードすることができます。 decord GitHub ソースコードのインストール。

  1. プライミングモデル
    バージョン7Bなどのモデルをダウンロードして実行する:
vllm serve Qwen/Qwen2.5-VL-7B-Instruct --port 8000 --host 0.0.0.0 --dtype bfloat16

モデルはHugging Faceから自動的にダウンロードされ、ローカルサービスが開始される。

主な機能の使い方

インストール後、Qwen2.5-VL はコードまたはウェブインタフェースから操作できます。

画像認識

モデルに写真を描かせたい?新しい image_test.py次のコードを入力してください:

from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info
from PIL import Image
model = Qwen2VLForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct", torch_dtype="auto", device_map="auto")
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")
messages = [{"role": "user", "content": [{"type": "image", "image": "图片路径或URL"}, {"type": "text", "text": "描述这张图片"}]}]
text = processor.apply_chat_template(messages, tokenize=False)
inputs = processor(text=[text], images=[Image.open("图片路径或URL")], padding=True, return_tensors="pt").to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=128)
output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(output)

例えば、"この写真は窓辺に座っている猫です"。

ビデオ理解

ビデオを分析するためにローカルファイルを準備する必要がある(例 video.mp4).以下のコードを使用する:

messages = [{"role": "user", "content": [{"type": "video", "video": "video.mp4"}, {"type": "text", "text": "总结视频内容"}]}]
text = processor.apply_chat_template(messages, tokenize=False)
inputs = processor(text=[text], videos=[processor.process_video("video.mp4")], padding=True, return_tensors="pt").to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=128)
output = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(output)

ビデオは出場者がピザを作る料理コンテストを映している。

文書解像度

PDFまたは画像をアップロードし、画像認識と同様のコードを使用し、プロンプトを「テーブルデータを抽出」に変更すると、モデルは次のような構造化された結果を返す:

[{"列1": "值1", "列2": "值2"}]

インテリジェント・エージェント

デバイスを制御したいですか?使用方法 cookbooks/computer_use.ipynb 例実行後、"Open Notepad and type 'Hello'"とタイプすると、モデルは操作をシミュレートし、結果を返します。

ウェブ・インターフェースの使用

うごきだす web_demo_mm.py ウェブインターフェースを起動する:

python web_demo_mm.py

ブラウザアクセス http://127.0.0.1:7860ファイルをアップロードするか、コマンドを入力するか迷った場合は、モデルが直接処理する。

パフォーマンスを最適化する

  • フラッシュ・アテンション 2加速推理、設置後に使用:
    pip install -U flash-attn --no-build-isolation
    python web_demo_mm.py --flash-attn2
    
  • 解像度調整設定 min_pixels 歌で応える max_pixels 画像サイズを256~1280の範囲でコントロールし、スピードとメモリのバランスをとる。

 

アプリケーションシナリオ

  1. 学術研究
    学生が論文の画像をアップロードすると、モデルが数式とデータを抽出し、分析を生成する。
  2. ビデオクリップ
    制作者が長いビデオを入力すると、モデルが主要なクリップを抽出して要約を生成する。
  3. エンタープライズ・ドキュメント管理
    従業員が契約書のスキャン・コピーをアップロードすると、モデルが条項を抽出し、フォームを出力する。
  4. インテリジェントアシスタント
    ユーザーは写真と音声コマンドを使って、モデルに携帯電話でフライト情報を調べさせる。

 

品質保証

  1. 対応言語は?
    中国語、英語、多言語(フランス語、ドイツ語など)をサポートし、多言語テキストや手書きコンテンツを認識します。
  2. ハードウェアの要件は?
    3Bモデルには8GB、7Bには16GBのビデオメモリーが必要で、32Bと72Bには24GB以上のビデオメモリーを搭載したプロ用デバイスが推奨される。
  3. 超長い動画をどう扱うか?
    モデルはダイナミックなフレームレートでサンプリングされ、何時間ものビデオを理解し、第2レベルのイベントをピンポイントで特定することができる。
無断転載を禁じます:チーフAIシェアリングサークル " Qwen2.5-VL:画像・ビデオ文書解析のためのオープンソース・マルチモーダルラージモデル
ja日本語