AIパーソナル・ラーニング
と実践的なガイダンス
資源推薦1

InternLM-XComposer:非常に長いテキストと画像・動画理解を出力するためのマルチモーダル・マクロモデル

はじめに

InternLM-XComposerは、InternLMチームによって開発され、GitHubでホストされているオープンソースのグラフィカル・マルチモーダル・マクロモデリング・プロジェクトで、InternLM言語モデルに基づいており、テキスト、画像、ビデオなどのマルチモーダルデータを処理することができ、グラフィック・オーサリング、画像理解、ビデオ解析の分野で広く使用されています。このプロジェクトは、最大96Kの長いコンテクストをサポートし、4Kの高解像度画像を処理し、7BのパラメータだけでGPT-4Vに匹敵する性能で、きめ細かいビデオを理解する能力で知られている。コード、モデルの重み、詳細なドキュメントは、マルチモーダルAIに関心のある研究者、開発者、ユーザー向けにGitHubからアクセスできる。2025年2月現在、プロジェクトはInternLM-XComposer-2.5とOmniLiveを含むいくつかのバージョンをリリースし、マルチモーダルインタラクション体験を継続的に最適化している。

InternLM-XComposer:超長尺コンテンツ出力と画像・動画理解のためのマルチモーダル・マクロモデル-1


 

機能一覧

  • 超ロングコンテクスト出力サポート:複雑なタスクのために最大96Kの混合グラフィックコンテンツを処理します。
  • 高解像度画像の理解:336ピクセルから4Kまでの画像解析をクリアなディテールでサポート。
  • きめ細かなビデオ理解:ビデオをマルチフレーム画像に分解し、動的なディテールを捉える。
  • グラフィック作成:指示に従ってグラフィック記事やウェブコンテンツを作成する。
  • 複数画像対話の複数ラウンド:連続対話分析のための複数画像入力をサポート。
  • オープンソースモデルのサポート:二次開発を容易にするために、様々なモデルの重みと微調整コードを提供する。
  • マルチモーダルストリーミングインタラクション:OmniLiveバージョンは、長時間のビデオとオーディオ処理をサポートしています。

 

ヘルプの使用

InternLM-XComposerはGitHubのオープンソースプロジェクトです。以下は、ユーザーがすぐに使い始められるように、詳細な操作ガイドです。

設置プロセス

 

1.環境準備

 

    • デバイスにPython 3.9以上がインストールされていることを確認してください。
    • NVIDIA GPUとCUDAサポート(CUDA 11.xまたは12.x推奨)が必要です。
    • Gitをインストールしてコードベースをクローンする。

 

2.プロジェクトのクローン化
ターミナルで以下のコマンドを実行し、プロジェクトをローカルにダウンロードする:

 

git clone https://github.com/InternLM/InternLM-XComposer.git
cd InternLM-XComposer

3. 仮想環境の構築   Condaや仮想環境ツールを使って依存関係を分離する:

conda create -n internlm python=3.9 -y
internlm を起動する

4. 依存関係のインストール   公式ドキュメントに従って、必要なライブラリをインストールする:

pip install torch==2.0.1+cu117 torchvision===0.15.2+cu117 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu117
pip install transformers==4.33.2 timm==0.4.12 sentencepiece==0.1.99 gradio==4.13.0 markdown2==4.4.10 xlsxwriter==3.1.2 einops

- オプション:flash-attention2をインストールしてGPUメモリを節約する:

pip install flash-attn --no-build-isolationをインストールする。

5. モデルウェイトのダウンロード   このプロジェクトは、例えばハギング・フェイスから事前に訓練されたモデルをダウンロードすることをサポートしている:

model = AutoModel.from_pretrained('internlm/internlm-xcomposer2d5-7b', torch_dtype=torch.bfloat16, trust_remote_code=True).cuda().eval()

6. インストールの確認   サンプルコードを実行して、環境が正常かどうかをテストする:

python -m torch.distributed.run --nproc_per_node=1 example_code/simple_chat.py

主な機能

1.グラフィック制作

  • 機能紹介ユーザーの指示に基づいて、記事やウェブページなどのテキストや画像を含むコンテンツを生成します。
  • 手続き::
  1. インプットの準備:文章を書く(例:「旅行についての記事を、3枚の写真を含めて書きなさい」)。
  2. コードを実行する:
from transformers import AutoModel, AutoTokenizer
model = AutoModel.from_pretrained('internlm/internlm-xcomposer2d5-7b', trust_remote_code=True).cuda().eval()
tokenizer = AutoTokenizer.from_pretrained('internlm/internlm-xcomposer2d5-7b', trust_remote_code=True)
query = "3つの画像を含む旅行に関する記事を書く"
response, _ = model.chat(tokeniser, query, do_sample=False, num_beams=3)
print(response)
  1. 出力:モデルはグラフィックとテキストの混合コンテンツを生成し、画像の説明は自動的にテキストに埋め込まれる。

2.高解像度画像の理解

  • 機能紹介高解像度の画像を分析し、詳細な説明を提供します。
  • 手続き::
  1. イメージの準備:イメージファイルをローカルディレクトリ(例えば 例/dubai.png).
  2. コードを実行する:
query = "この画像を詳細に分析する"
image = ['examples/dubai.png'] とする。
with torch.autocast(device_type='cuda', dtype=torch.float16):
response, _ = model.chat(tokeniser, query, image, do_sample=False, num_beams=3)
print(response)
  1. 出力:このモデルは、例えば建物や色などの詳細について、画像の内容の詳細な説明を返す。

3.ビデオ分析

  • 機能紹介ビデオフレームを分解し、内容を記述する。
  • 手続き::
  1. 準備ビデオ: 例となるビデオをダウンロードする。 liuxiang.mp4).
  2. オムニライブ版をご利用ください:
from lmdeploy import pipeline
pipe = pipeline('internlm/internlm-xcomposer2d5-ol-7b')
video = load_video('liuxiang.mp4')
query = "この動画の内容を記述する"
response = pipe((query, video))
print(response.text)
  1. 出力結果:アクションやシーンなど、ビデオフレームの詳細な説明を返す。

4.複数回のマルチチャート対話

  • 機能紹介連続対話のためのマルチピクチャー入力に対応。
  • 手続き::
  1. 複数の画像を用意する(例 車1.jpg車2.jpg車3.jpg).
  2. コードを実行する:
query = "画像1 ; 画像2 ; 画像3 ; これら3台の車の長所と短所を分析する"
images = ['例/cars1.jpg', '例/cars2.jpg', '例/cars3.jpg']。
response, _ = model.chat(tokeniser, query, images, do_sample=False, num_beams=3)
print(response)
  1. 出力:モデルは、各写真に対応する車両特性を1つずつ分析する。

ほら

  • ハードウェア要件少なくとも24GBのGPUメモリを推奨します。ローエンドのデバイスには4ビット量子化バージョンをお試しください。
  • デバッグのヒントビデオメモリが不足する場合は、ビデオメモリを下げてください。 hd_num パラメーター(デフォルトは18)。
  • 地域支援GitHubのIssuesページでは、よくある質問やフィードバックを受け付けています。

以上の手順で、InternLM-XComposerを簡単にインストールし、研究開発に利用することができます。

コンテンツ1
無断転載を禁じます:チーフAIシェアリングサークル " InternLM-XComposer:非常に長いテキストと画像・動画理解を出力するためのマルチモーダル・マクロモデル

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語