はじめに
Long-VITAは、VITA-MLLMチームによって開発されたオープンソースのマルチモーダル・マクロモデルであり、非常に長い文脈を扱う視覚的・言語的タスクに焦点を当てている。画像、ビデオ、テキストを同時に分析することが可能で、最大100万文字までサポートする。 トークン Long-VITAは、ビデオ理解、高解像度画像構文解析、マルチモーダルインテリジェンシア推論などのシナリオのための入力である。他のモデルと比較して、Long-VITAは短い文脈のタスクで優れた性能を発揮する一方、長いシーケンスの処理では画期的な利点を提供する。TencentのYoutu Lab、南京大学、厦門大学と共同で開発されたこのプロジェクトは、オープンソースのデータセットで完全に訓練され、NPUとGPUの両方のプラットフォームをサポートし、オープンソースコミュニティにロングコンテキストのマルチモーダル研究のための強力なツールを提供することを目指しています。モデルコード、学習方法、重みは公開されており、研究者や開発者がマルチモーダルAIの最先端アプリケーションを探求するのに適している。
機能一覧
- 非常に長いコンテキスト処理最大100万トークンまたは4Kフレームまでの画像、ビデオ、テキスト入力をサポートし、複雑なシーン分析を可能にします。
- マルチモーダル理解画像、ビデオ、テキスト処理機能を統合し、複数のデータを同時に分析。
- 効率的な分散推論:: コンテキスト並列処理による非常に長い入力に対する効率的な推論。
- オープンソースデータセットのトレーニングモデルの再現性と透明性を確保するために、1,700万個の公開サンプルを使用。
- クロスプラットフォーム対応Ascend NPUとNvidia GPUに対応し、さまざまなハードウェア環境に柔軟に対応します。
- ショートコンテキストの最適化:: 従来のマルチモーダルなタスクにおいて、長短両方のシーケンス要求に対応し、トップクラスのパフォーマンスを維持する。
- ロジット・マスク言語モデリング長鎖推論を強化するための革新的な言語モデル頭部設計。
ヘルプの使用
Long-VITAは、ユーザーがGitHubリポジトリを通じてコードとモデルウェイトを入手し、ローカルまたはサーバー上で使用するためにデプロイすることを可能にするオープンソースプロジェクトです。ここでは、ユーザーがVITAを始め、その強力な機能を探求するのに役立つ詳細なガイドを紹介します。
設置プロセス
- クローン倉庫
ターミナルを開き、以下のコマンドを入力してLong-VITAリポジトリをクローンします:git clone https://github.com/VITA-MLLM/Long-VITA.git cd Long-VITA
これでプロジェクトのすべてのコードとドキュメントがダウンロードされる。
- 仮想環境の構築
Condaを使用して、独立したPython環境を作成し、依存関係の分離を確実にする:conda create -n long-vita python=3.10 -y long-vita を起動する
- 依存関係のインストール
プロジェクトに必要なPythonパッケージをインストールします:pip install --upgrade pip pip install -r requirements.txt
加速推論が必要な場合は、フラッシュ・アテンションを追加でインストールすることができる:
pip install flash-attn --no-build-isolationをインストールする。
- モデルウェイトのダウンロード
Long-VITAにはいくつかのバージョン(16K、128K、1Mトークンなど)があり、Hugging Faceからダウンロードできる: - ハードウェア環境の設定
- エヌビディアGPUCUDAとcuDNNがインストールされ、環境変数が設定されていることを確認してください:
export CUDA_VISIBLE_DEVICES=0
- アセンドNPU公式ドキュメントに従ってMindSpeedまたはMegatronの環境を設定します。
- エヌビディアGPUCUDAとcuDNNがインストールされ、環境変数が設定されていることを確認してください:
使用方法
Long-VITAは推論と評価という2つの主要な動作モードをサポートしており、以下のステップについて説明する。
走り推理
- データ入力の準備
- イメージ画像ファイル(例えば
.jpg
もしかしたら.png
投入アセット
フォルダー - ビデオ一般的なビデオフォーマットをサポート(例.
.mp4
)、指定されたパスに置かれる。 - コピー質問または指示を書き、名前を付けて保存する。
.txt
ファイルに記述するか、コマンドラインに直接入力する。
- イメージ画像ファイル(例えば
- 推論コマンドの実行
画像理解の例として、以下のコマンドを実行する:CUDA_VISIBLE_DEVICES=0 python video_audio_demo.py \ ---モデルパス --image_path asset/sample_image.jpg ¦モデルタイプ qwen2p5 ---model_type qwen2p5_instruct ୧ --conv_mode qwen2p5_instruct --conv_mode qwen2p5_instruct --question "この画像が何であるかを記述してください。"
ビデオ入力の場合は
--video_path
パラメーター--video_path asset/sample_video.mp4
- 出力を見る
このモデルは、画像の説明やビデオ解析の内容など、結果をエンドポイントで出力する。
パフォーマンスの評価
- 評価データセットの準備
ベンチマークデータセット(Video-MMEなど)をダウンロードし、必要に応じてファイル構造を整理する。 - 評価スクリプトの実行
提供されたスクリプトを使用して評価する:bashスクリプト/evaluate.sh [モデルパス] [データセットパス]
注目の機能操作
非常に長いコンテキスト処理
- 手続き:
- Long-VITA-1Mモデルを選択し、入力データ(長いビデオや複数のHD画像など)のトークン数の合計が100万を超えないようにします。
- 利用する
-max_seq_len 1048576
パラメータは、最大シーケンス長を設定する。 - 推論を実行し、モデルが長いシーケンスタスク(例:ビデオ要約生成)をどのように処理するかを観察する。
- 典型例1時間のビデオを入力し、「ビデオの主なプロットを要約してください」と質問すると、モデルは簡潔なテキスト要約を出力します。
マルチモーダル理解
- 手続き:
- 画像+テキスト、動画+質問など、マルチモーダルな入力を用意する。
- コマンドラインで両方を指定する
--image_path
歌で応える--質問
例えば--image_path asset/sample_image.jpg --question "写真の登場人物は誰ですか?"
- このモデルは、視覚情報と文字情報を組み合わせて答えを生成する。
- 典型例:: 有名人の写真を入力し、「彼は何をしていますか?モデルが写真の中の動作を説明します。
分散推論
- 手続き:
- マルチGPU環境を設定するには
cuda_visible_devices=0,1,2,3
. - コンテキストパラレルオプションで実行する:
python -m torch.distributed.launch --nproc_per_node=4 video_audio_demo.py [引数].
- このモデルは、複数のデバイスにタスクを自動的に割り当てて処理速度を向上させる。
- マルチGPU環境を設定するには
- 典型例:: 分散された推論は、非常に長いビデオを扱う場合、かかる時間を数時間から数分に短縮することができます。
ほら
- ハードウェアに十分なメモリがあることを確認してください。1Mトークン入力には32GB以上のビデオメモリが必要な場合があります。
- 入力データは、モデルの要件に合うように前処理(ビデオフレームの抽出など)する必要がある。
- ウェイトをダウンロードするには、安定した高速インターネット接続が必要です。
これらのステップにより、ユーザーは簡単にLong-VITAを導入し、研究、開発、またはマルチモーダルAIアプリケーションのテストのために、その超ロング・コンテキストとマルチモーダル理解能力を体験することができます。