project
Vary-toy:オープンソースの小型視覚マルチモーダルモデル
Vary-toyは、中国科学院大学、華中科技大学、Megviiの研究者らが提案した小型の視覚言語モデル(LVLM)です。大規模視覚言語モデル(LVLM)の学習と展開における課題を解決することを目的としています。
Vary-toyとは何ですか?
Vary-toyは、中国科学院大学、華中科技大学、Megviiの研究者らが提案した小規模な視覚言語モデル(LVLM)です。大規模LVLMの学習と展開における課題を解決することを目的としています。リソースが限られている研究者にとって、大規模モデルは通常数十億ものパラメータを持つため、コンシューマー向けGPU(GTX 1080 Tiなど)での学習と展開は困難です。Vary-toyの核心的な目標は、限られたハードウェアリソースでも、現在のLVLMのすべての機能(文書OCR、視覚的位置特定、画像キャプション生成、視覚テキスト検索など)を体験できるようにすることです。
Vary-toyの主な機能
- 文書レベルの光学文字認識(OCR)Vary-toyは、文書画像内のテキストを認識・理解することができ、スキャンした文書やPDFファイルの処理といった場面で非常に役立ちます。
- 画像の説明このモデルは画像の説明文を生成することができ、これは画像の内容を理解したり、VQAなどのタスクのための画像説明文を生成したりする上で非常に重要です。
- 視覚的質問応答(VQA)Vary-toyは、画像の内容に関する質問に答えることができ、そのためには画像の視覚情報だけでなく、画像に関連付けられたテキスト情報も理解する必要があります。
- 物体検出Vary-toyは、視覚的な語彙を強化することで、自然物を認識(位置特定)する能力を備えており、画像内の物体を識別して位置を特定することができる。
- 画像からテキストへの変換Vary-toyは、画像コンテンツを構造化されたテキスト形式に変換できます。例えば、PDF画像をMarkdown形式に変換することが可能です。
- マルチモーダル対話Vary-toyモデルはマルチモーダル対話に対応しており、画像コンテンツに関連する対話を理解し、生成することができる。
Vary-toyの公式サイト
- 公式プロジェクトホームページ:https://varytoy.github.io/
- Arxivの研究論文:https://arxiv.org/abs/2401.12503
- デモ実行アドレス:https://vary.xiaomy.net/
- GitHubリポジトリ:https://github.com/Ucas-HaoranWei/Vary-toy
Vary-toyの技術原理
Vary-toyは、視覚言語タスクにおけるモデルのパフォーマンスを向上させつつ、モデルのサイズを小さく保つために連携して機能する、いくつかの重要な技術的および設計上の決定に基づいて動作します。Vary-toyの動作の主な構成要素は次のとおりです。
- 視覚的語彙生成Vary-toyは、小型の自己回帰モデル(OPT-125M)を用いて、斬新なビジュアルボキャブラリーネットワークを生成します。このネットワークは、PDF画像とテキストのペア、および自然画像からの物体検出データを処理することで、視覚情報を効果的に符号化する方法を学習します。従来のVaryモデルと比較して、Vary-toyはビジュアルボキャブラリー生成時に自然画像をネガティブサンプルではなくポジティブサンプルとして扱うため、ネットワークの能力をより有効に活用できます。
- 視覚語彙とCLIPの融合Vary-toyは、新しい視覚語彙を生成した後、それを元のCLIP(Contrastive Language-Image Pre-training)モデルと組み合わせます。CLIPは、画像とテキストを共通の埋め込み空間にマッピングする強力な視覚言語モデルです。このようにして、Vary-toyはCLIPの画像理解機能を活用しつつ、新しい視覚語彙ネットワークを通じてテキスト情報の処理を強化することができます。
- マルチタスク事前トレーニングVary-toyは、事前学習段階でマルチタスク学習戦略を採用しています。つまり、モデルは学習中に画像キャプション生成、PDF OCR、物体検出、プレーンテキスト対話、視覚的質問応答(VQA)など、複数の種類のデータを同時に処理します。このマルチタスク学習により、モデルはより豊富な視覚的および言語的表現を学習し、さまざまな下流タスクにおける汎化能力が向上します。
- モデル構造Vary-toyはVaryのパイプライン設計を踏襲していますが、構造的な調整が加えられています。画像が入力されると、新しいビジュアルボキャブラリーブランチが画像を1024×1024ピクセルにリサイズし、CLIPブランチが中央切り抜きによって224×224ピクセルの画像を取得します。これら2つのブランチから出力される画像特徴はマージされ、1.8B個のパラメータを持つQwen-1.8B言語モデルへの入力として使用されます。
- データ入力形式Vary-toyは、さまざまなタスクに対応するために、複数の入力フォーマットを処理する必要があります。たとえば、PDF画像とテキストのペアの場合、モデルは特定のキュー(「この画像のOCR結果を提供してください」など)を使用して、正しい結果を出力するように誘導します。物体検出タスクの場合、モデルは異なるキューテンプレートを使用して、画像内の複数の物体を処理します。
- 微調整(SFT)事前学習後、Vary-toyは補足テキスト優先適合(SFT)段階を通してモデルをさらに最適化します。この段階では、GPT-4によって生成された詳細な説明とプロンプトを含む画像データセットであるLLaVA-80Kデータセットを使用します。これにより、モデルは画像コンテンツに関連するテキストをよりよく理解し、生成できるようになります。
これらのメカニズムにより、Vary-toyはモデルの小型化を維持しながら、複雑な視覚言語タスクを効果的に処理できます。この設計により、Vary-toyはリソースが限られた環境における視覚言語研究のための強力なツールとなります。
Vary-toyの使い方
- 公式のVary-toyデモ体験アドレスにアクセスしてください(vary.xiaomy.net)
- 画像をアップロードするにはここをクリックするか、左側のサンプル画像を選択してください。
- 画像の内容を説明する、画像内のオブジェクトを検出するなど、入力を促すプロンプト。
- モデルが結果を生成するまでお待ちください。