はじめに
MM-EUREKAは、上海交通大学上海人工知能研究所とその他の関係者によって開発されたオープンソースプロジェクトです。ルールベースの強化学習技術により、テキスト推論機能をマルチモーダルシナリオに拡張し、モデルが画像とテキスト情報を処理できるようにします。このツールの中核的な目標は、視覚的および数学的推論タスクにおけるモデルのパフォーマンスを向上させることである。MM-Eureka-8BとMM-Eureka-Zero-38Bという2つの主要なモデルを導入しており、わずか54Kのグラフデータを使用することで、数百万のデータを必要とする他のモデルを上回るなど、少量のデータで効率的な学習を可能にしている。このプロジェクトは完全にオープンソースであり、マルチモーダル推論技術を探求する研究者や開発者のために、コード、モデル、データがGitHubで自由に利用できる。
機能一覧
- マルチモーダル推論のサポート:画像とテキストを同時に処理する能力は、複雑な問題を理解するモデルの能力を向上させる。
- ルールベースの強化学習:シンプルなルールでモデルを学習し、大規模データへの依存を減らす。
- 視覚的啓示:モデルは推論において、人間の内省のプロセスを模倣して、イメージの手がかりを再確認することができる。
- オープンソースの完全なパイプライン:コード、データセット、トレーニングフローを提供し、複製や改良を容易にします。
- 高いデータ効率:少ないデータ量(例えば8Kまたは54Kのグラフィックペア)で、数百万のデータで学習したモデルに匹敵する性能を発揮。
- 数学的推論のサポート:教育および学術的なシナリオのための数学的な問題解決のために特別に最適化されています。
ヘルプの使用
MM-EUREKAは、GitHubをベースとしたオープンソースプロジェクトで、主に研究者や開発者など、一定のプログラミングの基礎があるユーザーを対象としています。以下では、本ツールのインストール方法と実際の操作手順について、主な特徴を含めて詳しく解説する。
設置プロセス
- 環境を整える
- Python 3.8以降がコンピュータにインストールされていることを確認してください。これは
python --バージョン
チェックする。 - コードをクローンするにはGitをインストールする必要があります。Gitを持っていない場合は、公式サイトからダウンロードしてインストールすることができる。
- Linuxシステム(例:Ubuntu 20.04または22.04)にお勧めします。Windowsユーザーには追加の設定が必要な場合があります。
- Python 3.8以降がコンピュータにインストールされていることを確認してください。これは
- プロジェクトコードの複製
- ターミナルを開き、以下のコマンドを入力してMM-EUREKAのソースコードをダウンロードします:
git clone https://github.com/ModalMinds/MM-EUREKA.git
- ダウンロードが完了したら、プロジェクトフォルダーに移動する:
cd MM-EUREKA
- ターミナルを開き、以下のコマンドを入力してMM-EUREKAのソースコードをダウンロードします:
- 依存関係のインストール
- 以下のコマンドを実行して、基本的な依存関係をインストールする:
pip install -e .
- を使用する必要がある場合は ブイエルエルエム 加速推論と追加パッケージのインストールが必要:
pip install -e .[vllm]
- パフォーマンス向上のため、Flash-Attention(バージョン2.3.6)をインストールしてください:
pip install flash-attn==2.3.6 --ビルド分離なし
問題が発生した場合は、ソースからインストールしてみてください:
git clone https://github.com/Dao-AILab/flash-attention.git cd flash-attention git checkout v2.3.6 python setup.py install
- 以下のコマンドを実行して、基本的な依存関係をインストールする:
- データセットをダウンロード
- このプロジェクトでは、GitHub Releasesからダウンロードできる学習データMM-Eureka-Datasetを提供している。
- ダウンロード後、ファイルを解凍し、必要に応じてデータを
イメージウルズ
フィールドはローカル画像パスを指す。
- インストールの確認
- インストールが完了したら
python -c "import mm_eureka"
エラーが報告されていないか確認してください。エラーがなければ、インストールは成功です。
- インストールが完了したら
主要機能の使用
機能1:マルチモーダル推論モデルの実行
- データの準備
- データはJSONL形式で整理する必要がある。
アイドル
そして会話
そして回答
歌で応えるイメージウルズ
フィールド例{"id": "0", "conversations": [{"role": "user", "content": "この絵の数学の問題の答えは何ですか?" }] , "answer": "42", "image_urls": ["file //ath to the image jpg"]}.答え": "42", "image_urls": ["file:///path/to/image.jpg"]}.
- として保存する。
データセット.jsonl
プロジェクト・ディレクトリに置かれる。
- データはJSONL形式で整理する必要がある。
- 走り推理
- ターミナルで以下のコマンドを入力し、モデルをロードして推論する:
python scripts/inference.py --model MM-Eureka-8B --data dataset.jsonl
- 出力には、モデルの推論プロセスと各質問に対する答えが表示される。
- ターミナルで以下のコマンドを入力し、モデルをロードして推論する:
機能2:カスタムモデルのトレーニング
- トレーニングパラメータの設定
- 見せる
config.yaml
ファイルを使用して、モデルのパラメータ(学習率やバッチサイズなど)やデータパスを設定する。 - セキュア
データパス
君に向けるんだ。データセット.jsonl
ドキュメンテーション
- 見せる
- プライミングトレーニング
- 以下のコマンドを実行してトレーニングを開始する:
python scripts/train.py --config config.yaml
- トレーニング中、モデルはチェックポイントを
チェックポイント
フォルダー
- 以下のコマンドを実行してトレーニングを開始する:
機能3:ビジュアル・エピファニーのテスト
- テストデータの準備
- 画像を含む複雑な数学の問題からデータを使用する。例えば、K12のデータセットからいくつかの問題を選ぶ。
- 動作試験
- コマンドを入力する:
python scripts/test_reflection.py --model MM-Eureka-Zero-38B --data test.jsonl
- モデルは、イメージの手がかりをどのように再検討するかを含む推論プロセスを示す。
- コマンドを入力する:
運用プロセスの例:数学の問題を解く
- データのアップロード
- JSONL形式で保存された画像(例:ジオメトリ問題)と対応する問題説明を用意する。
- 運用モデル
- 支出
推論.py
スクリプトはMM-Eureka-8Bをロードし、データを入力する。
- 支出
- 結果を見る
- モデルは推論ステップ(
<考える
タグ)と最終回答(<回答
タグ)のようなものだ:まず図を見て、円の半径は5、面積の公式はπr²なので、25πである。 <答え>25π</答え
- モデルは推論ステップ(
ほら
- GPUメモリが不足する場合は、バッチサイズを調整するか、MM-Eureka-8B(小型モデル)を使用してください。
- データ内の画像パスが有効でなければ、モデルは画像を処理できない。
以上の手順で、MM-EUREKAを簡単に使い始め、そのマルチモーダル推論機能を体験することができます。
アプリケーションシナリオ
- 教材
MM-EUREKAは、数学的な問題の絵を分析し、生徒の練習や教師の準備に適した詳細な解答を与える。 - 科学的探求
研究者は、マルチモーダルなタスクにおける強化学習の有効性をテストしたり、アルゴリズムを改善したり、新しいモデルを開発したりするために、これを使うことができる。 - AR/VR開発
開発者は、その視覚的推論機能を使って、リアルタイムの問題解決アシスタントなど、よりスマートな対話型アプリケーションを構築することができる。
品質保証
- MM-EUREKAはどの言語に対応していますか?
現在、主に英語と中国語のグラフィックデータをサポートしており、この2つの言語に対して最も優れた推論効果を発揮している。 - どの程度強力なコンピューター構成が必要ですか?
少なくとも16GBのRAMとミドルレンジのGPU(NVIDIA GTX 1660など)を推奨。大規模モデルのトレーニングには、より強力なハードウェアが必要になる場合があります。 - コードを提供するには?
GitHubでPull Requestを提出するには、以下を参照してください。CONTRIBUTING.md
同文書のガイドライン