猿
テキストモンキー
ミニモンキー
2024.11.27
? Monkey の実行方法に関するビデオを共有してくれた Fahd Mirza に感謝します。
2024.8.13
? Mini-Monkeyのソースコードを公開しました。
2024.8.6
?紙製ミニモンキーを発売します。
2024.4.13
? TextMonkey のソースコードが公開されました。
2024.4.5
? Monkey は CVPR 2024 ハイライト論文にノミネートされました。
2024.3.8
? TextMonkeyというペーパーをリリースしました。
2024.2.27
? Monkey は CVPR 2024 に受け入れられています。
2024.1.3
?基本データ生成パイプラインをリリースします。データ生成
2023.11.06
?ペーパーモンキーを発売します。
モンキーチャット
モデル | 言語モデル | トランス(HF) | MMベンチテスト | CCベンチ | MME | シードベンチ_IMG | MathVista-MiniTest | HallusionBench-Avg | AI2Dテスト | OCRベンチ |
---|---|---|---|---|---|---|---|---|---|---|
モンキーチャット | クウェブ-7B | ?echo840/モンキーチャット | 72.4 | 48 | 1887.4 | 68.9 | 34.8 | 39.3 | 68.5 | 534 |
ミニモンキー | internlm2-chat-1_8b | ミニモンキー | --- | 75.5 | 1881.9 | 71.3 | 47.3 | 38.7 | 74.7 | 802 |
conda create -n Monkey python=3.9conda activate Monkeygit clone https://github.com/Yuliang-Liu/Monkey.gitcd ./Monkeypip install -rrequirements.txt
https://github.com/Dao-AILab/flash-attention/releases/ から対応するバージョンの flash_attention をダウンロードし、次のコードを使用してインストールできます。
pip install flash_attn-2.3.5+cu117torch2.0cxx11abiFALSE-cp39-cp39-linux_x86_64.whl --no-build-isolation
また、Monkey のモデル定義とトレーニング コードも提供しています。これらについては、上記で確認できます。 Monkey の場合はfinetune_ds_debug.sh
、TextMonkeyの場合はfinetune_textmonkey.sh
実行することで、トレーニング コードを実行できます。
Monkey のトレーニングに使用される json ファイルは、リンクからダウンロードできます。
Monkey と Monkey-Chat の推論コードを実行します。
python ./inference.py --model_path MODEL_PATH --image_path IMAGE_PATH --question "YOUR_QUESTION"
デモは高速で使いやすいです。デスクトップまたは携帯電話から画像をアップロードするか、直接キャプチャするだけです。 Demo_chat は、強化されたインタラクティブ エクスペリエンスを提供するために、元のデモのアップグレード バージョンとしても起動されます。
オリジナルのデモのソース コードとモデルの重みも提供しており、よりユニークなエクスペリエンスを実現するために特定のパラメーターをカスタマイズできます。具体的な操作は以下の通りです。
環境が構成されていることを確認してください。
デモをオフラインで使用するかオンラインで使用するかを選択できます。
オフライン:
python demo.py
モデルの重量をダウンロードします。
demo.py
ファイル内のDEFAULT_CKPT_PATH="pathto/Monkey"
をモデルの重みパスに変更します。
次のコマンドを使用してデモを実行します。
オンライン:
python demo.py -c echo840/Monkey
次のコマンドを使用して、デモを実行し、モデルの重みをオンラインでダウンロードします。
TextMonkey の場合は、Model Weight からモデルの重みをダウンロードし、デモ コードを実行できます。
python デモ_textmonkey.py -c モデルパス
2023 年 11 月 14 日より前に、一部のランダムな写真については、Monkey が GPT4V よりも正確な結果を達成できることが観察されました。
2024 年 1 月 31 日より前に、Monkey-chat は OpenCompass のマルチモーダル モデル カテゴリで 5 位を獲得しました。
Monkey が使用するトレーニングおよびテスト データは、Monkey_Data からダウンロードできます。
Monkey のトレーニングに使用される json ファイルは、リンクからダウンロードできます。
マルチレベル記述生成メソッドからのデータは現在オープンソース化されており、リンクからダウンロードできます。マルチレベルの説明で使用される画像はすでにアップロードされています。例:
TrainからMonkeyの鉄道画像をダウンロードできます。抽出コード:4hdh
TestからMonkeyのテストイメージとjsonlをダウンロードできます。抽出コード: 5h71
画像は、CC3M、COCO Caption、TextCaps、VQAV2、OKVQA、GQA、ScienceQA、VizWiz、TextVQA、OCRVQA、ESTVQA、STVQA、AI2D、および DUE_Benchmark からのものです。データを利用する場合は、元のデータセットのプロトコルに準拠する必要があります。
14 の Visual Question Answering (VQA) データセットの評価コードを Eva evaluate_vqa.py
ファイルで提供し、結果の迅速な検証を容易にします。 具体的な操作は以下の通りです。
環境が構成されていることを確認してください。
sys.path.append("pathto/Monkey")
プロジェクト パスに変更します。
評価に必要なデータセットを準備します。
評価コードを実行します。
ESTVQA を例に挙げます。
次のディレクトリ構造に従ってデータを準備します。
├── data | ├── estvqa | ├── test_image | ├── {image_path0} | ├── {image_path1} | · | · | ├── estvqa.jsonl
注釈付き.jsonl
ファイルの各行の形式の例:
{"image": "data/estvqa/test_image/011364.jpg", "question": "What is this store?", "answer": "pizzeria", "question_id": 0}
辞書ds_collections
を変更します。
ds_collections = { 'estvqa_test': { 'test': 'data/estvqa/estvqa.jsonl', 'metric': 'anls', 'max_new_tokens': 100, }, ... }
次のコマンドを実行します。
bash eval/eval.sh 'EVAL_PTH' 'SAVE_NAME'
ここで公開されているベースライン結果を参照したい場合は、次の BibTeX エントリを使用してください。
@inproceedings{li2023monkey, title={Monkey: 画像解像度とテキスト ラベルは大規模なマルチモーダル モデルにとって重要です}, author={Li、Zhang と Yang、Biao と Liu、Qiang と Ma、Zhiyin と Zhang、Shuo と Yang 、Jingxu と Sun、Yabo と Liu、Yuliang と Bai、Xiang}、booktitle={コンピュータに関する IEEE/CVF 会議の議事録ビジョンとパターン認識}、year={2024}}@article{liu2024textmonkey、title={TextMonkey: ドキュメントを理解するための OCR 不要の大規模マルチモーダル モデル}、author={Liu、Yuliang、Yang、Biao、Liu、Qiang、Li 、Zhang と Ma、Zhiyin と Zhang、Shuo と Bai、Xiang}、journal={arXiv preprint arXiv:2403.04473}、year={2024}}@article{huang2024mini、title={Mini-Monkey: マルチモーダル大規模言語モデルのためのマルチスケール適応クロッピング}、author={Huang、Mingxin および Liu、Yuliang および Liang、Dingkang およびJin、Lianwen と Bai、Xiang}、journal={arXiv プレプリントarXiv:2408.02034}、year={2024}}@article{deng2024r、title={R-CoT: 大規模マルチモーダル モデルにおける幾何学的推論のための逆思考連鎖問題生成}、author={Deng, Linger および Liu, Yuliangそしてリー、ボハンとルオ、東梁と呉、梁と張、成泉と劉、 Pengyuan と Zhang、Ziyang と Zhang、Gang と Ding、Errui など}、journal={arXiv preprint arXiv:2410.17885}、year={2024}}
Monkey シリーズは主に、既存のマルチモーダル大規模モデルのパフォーマンスを向上させるための画像解像度の向上やトークン圧縮方法などの技術の探索に重点を置いています。たとえば、Monkey と TextMonkey の以前のバージョンは QwenVL に基づいていましたが、MiniMonkey は特に InternVL2 と miniCPM に基づいていました。 Qwen-VL、LLAMA、LLaVA、OpenCompass、InternLM、および InternVL に感謝します。
Monkey プロジェクトは非営利使用のみを目的としています。商業的なお問い合わせや、Monkey シリーズ LMM のより高度なバージョン (<1b、2b、7b、72b) について詳しく知りたい場合は、Yuliang Liu 教授 ([email protected]) までご連絡ください。