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

InternVL: 画像、ビデオ、テキスト処理のためのオープンソース・マルチモーダル大規模モデル

はじめに

InternVLは、上海人工知能研究所(OpenGVLab)によって開発され、GitHubでホストされているオープンソースのマルチモーダルビッグモデルプロジェクトです。InternVLの目標は、視覚認識、クロスモーダル検索、マルチモーダル対話などの幅広いタスクに対して、商用モデル(GPT-4oなど)に匹敵するオープンソースの代替モデルを構築することです。このプロジェクトは、強力な視覚エンコーダ、動的な高解像度サポート、効率的な学習戦略で知られており、モデルサイズは1Bから78Bのパラメータで、エッジデバイスから高性能サーバーまで幅広いアプリケーションシナリオに適しています。コード、モデル、データセットはMITライセンスの下で公開されており、研究者や開発者は自由に使用し、改良することが奨励されている。

InternVL: 画像、ビデオ、テキスト処理のためのオープンソース・マルチモーダル大規模モデル-1


 

機能一覧

  • マルチモーダル対話画像、ビデオ、テキスト入力をサポートし、チャット、Q&A、タスク指示のための自然言語応答を生成します。
  • 画像処理4K解像度までの画像を動的に処理し、画像分類、セグメンテーション、オブジェクト検出をサポートします。
  • ビデオ理解ゼロサンプルビデオ分類とテキスト-ビデオ検索のためのビデオコンテンツの分析。
  • 文書解像度複雑な文書を扱い、OCR、フォーム認識、DocVQAなどのタスクのための文書クイズを専門としています。
  • 多言語サポート110以上の言語生成タスクをサポートする多言語テキストエンコーダを内蔵。
  • 効率的な推論LMDeployによる簡素化された推論プロセスを提供し、複数画像と長いコンテキストの処理をサポートします。
  • データセットのオープン性ShareGPT-4oのような画像、映像、音声を含む大規模なマルチモーダルデータセットを提供。

 

ヘルプの使用

設置プロセス

InternVLをローカルで使用するには、Python環境を設定し、関連する依存関係をインストールする必要があります。以下は詳細なインストール手順です:

  1. クローン倉庫
    ターミナルで以下のコマンドを実行し、InternVLのソースコードを取得する:

    git clone https://github.com/OpenGVLab/InternVL.git
    cd InternVL
    
  2. 仮想環境の構築
    condaでPython 3.9の環境を作り、アクティベートする:

    conda create -n internvl python=3.9 -y
    conda activate internvl
    
  3. 依存関係のインストール
    デフォルトでは、マルチモーダル対話と画像処理に必要なライブラリが含まれています:

    pip install -r requirements.txt
    

    追加機能(画像セグメンテーションや分類など)が必要な場合は、特定の依存関係を手動でインストールできます:

    pip install -r requirements/segmentation.txt
    pip install -r requirements/classification.txt
    
  4. フラッシュ・アテンションを設置する(オプション)
    モデル推論を高速化するために、Flash-Attentionのインストールを推奨する:

    pip install flash-attn==2.3.6 --no-build-isolation
    

    あるいはソースからコンパイルする:

    git clone https://github.com/Dao-AILab/flash-attention.git
    cd flash-attention
    git checkout v2.3.6
    python setup.py install
    
  5. MMDeployのインストール(オプション)
    モデルを本番環境にデプロイする必要がある場合は、MMDeployをインストールしてください:

    pip install -U openmim
    mim install mmdeploy
    

使用方法

InternVLは、コマンドライン推論、APIサービス、インタラクティブなデモンストレーションなど、複数の使用方法を提供します。以下は、InternVL2_5-8Bモデルを例に、主要機能の操作フローを紹介します:

1.マルチモーダル対話

InternVL は画像入力とテキスト入力の両方のダイアログをサポートしている。以下は LMDeploy を用いた推論の例である:

  • モデルと画像の準備モデルがダウンロードされていることを確認してください。 OpenGVLab/InternVL2_5-8Bなど)を用意する。 tiger.jpeg).
  • 走り推理画像の内容を記述した以下のPythonコードを実行する:
    from lmdeploy import pipeline, TurbomindEngineConfig
    from lmdeploy.vl import load_image
    model = 'OpenGVLab/InternVL2_5-8B'
    image = load_image('https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/tests/data/tiger.jpeg')
    pipe = pipeline(model, backend_config=TurbomindEngineConfig(session_len=8192))
    response = pipe(('描述这张图片', image))
    print(response.text)
    
  • 結局例えば、"The picture is of a standing tiger with green grass in the background "のように。

2.マルチ画像処理

InternVLは複数の画像の同時処理をサポートしており、比較や包括的な分析に適しています:

  • コード例::
    from lmdeploy.vl.constants import IMAGE_TOKEN
    image_urls = [
    'https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/human-pose.jpg',
    'https://raw.githubusercontent.com/open-mmlab/mmdeploy/main/demo/resources/det.jpg'
    ]
    images = [load_image(url) for url in image_urls]
    prompt = f'Image-1: {IMAGE_TOKEN}\nImage-2: {IMAGE_TOKEN}\n描述这两张图片'
    response = pipe((prompt, images))
    print(response.text)
    
  • 結局モデルはそれぞれの画像の内容を個別に記述し、場合によっては画像間の関係を要約する。

3.文書解析

InternVLは文書クイズ(DocVQA)とフォーム認識タスクで優れた性能を発揮する。動作の流れは以下の通りである:

  • ドキュメント画像の準備テキスト、表、グラフを含む画像をアップロードします。
  • 質問をする表からデータを抽出する」「文書の内容を要約する」などのプロンプトを使用します。
  • コード例::
    image = load_image('document.jpg')
    response = pipe(('提取图片中表格的内容', image))
    print(response.text)
    
  • 結局このモデルは、テーブルやドキュメントの構造化データの要約を返します。

4.APIサービスの展開

InternVL は、本番環境への LMDeploy による RESTful API のデプロイをサポートしている:

  • サービス開始::
    lmdeploy serve api_server OpenGVLab/InternVL2_5-8B --server-port 23333
    
  • APIへのアクセスリクエストを送信するには、OpenAI互換のインターフェースを使用します。 curl またはPythonクライアントコールモデル。

5.オンライン・プレゼンテーション

OpenGVLabは、オンライン・デモンストレーション・プラットフォーム(https://internvl.opengvlab.com/インストールは必要ない:

  • ウェブサイトにアクセスし、画像やビデオをアップロードし、質問を入力する。
  • このモデルはリアルタイムで結果を返すので、迅速なテストに適している。

注目の機能操作

  • ダイナミックな高解像度InternVLは自動的に画像を448x448のチャンクに分割し、最大4Kの解像度をサポートします。画像をアップロードするだけで、手動でリサイズする必要はありません。
  • ビデオ理解ビデオファイルをアップロードし、プロンプト(「ビデオの内容を要約してください」など)と組み合わせると、モデルは主要なフレームを分析し、説明を生成する。
  • 多言語生成プロンプトで言語を指定すると(例:「フランス語で答えてください」)、モデルは対応する言語の回答を生成します。

ほら

  • 十分なGPUメモリを確保してください(8Bモデルには約16GBのGPUメモリが必要です)。
  • 複数の画像や長い動画を処理する場合、コンテキストウィンドウを大きくする (session_len=16384).
  • 互換性の問題を避けるために、依存するバージョンをチェックする。

 

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

  1. 学術研究
    研究者はInternVLを使用して、科学的なダイアグラムを分析したり、実験画像を処理したり、論文から表形式のデータを解析したりします。このモデルの高精度OCRと文書理解機能は、データ抽出の効率を劇的に向上させます。
  2. 教材
    教師や生徒はInternVLを使って、歴史的な絵の解釈や地理的な図の分析など、画像に関連した宿題の問題を解きます。このモデルの多言語サポートは、国際化された教育シナリオに適しています。
  3. エンタープライズ・ドキュメント・プロセッシング
    組織はInternVLを使用して、スキャンした文書、契約書、請求書の処理を自動化し、重要な情報を抽出してレポートを作成し、人件費を節約します。
  4. コンテンツ制作
    コンテンツ制作者は、InternVLを使用してビデオ映像を分析し、スクリプトや字幕を生成することで、クリエイティブの効率を向上させます。
  5. インテリジェントなカスタマーサービス
    カスタマーサービスシステムはInternVLを統合し、ユーザーがアップロードした画像(製品の故障写真など)を処理し、問題を迅速に診断し、解決策を提供します。

 

品質保証

  1. InternVLはどのようなモデルサイズをサポートしていますか?
    InternVLは、1Bから78Bまで、さまざまなデバイスに適したパラメーターのモデルを提供しています。 1Bモデルはエッジデバイスに適しており、78BモデルはGPT-4oに匹敵する性能を持っています。
  2. 高解像度の画像はどのように扱っていますか?
    このモデルは自動的に画像を448x448のチャンクに分割し、4K解像度をサポートします。前処理なしで画像を直接アップロードできます。
  3. ビデオ解析に対応していますか?
    はい、InternVLはゼロサンプルのビデオ分類とテキスト-ビデオ検索をサポートしています。ビデオをアップロードし、プロンプトの単語を入力するだけです。
  4. モデルはオープンソースですか?
    InternVLは完全にオープンソースであり、コードとモデルの重みはMITライセンスのもとGitHubで入手できる。
  5. 推理のスピードを最適化するには?
    Flash-Attentionをインストールし、GPUアクセラレーションを使用する。調整 session_len パラメータを使用する。
無断転載を禁じます:チーフAIシェアリングサークル " InternVL: 画像、ビデオ、テキスト処理のためのオープンソース・マルチモーダル大規模モデル
ja日本語