🚀 InternViT-6B-448px-V1-2
このプロジェクトでは、新しいInternViTの重みをInternViT-6B-448px-V1-2としてリリースしています。InternViT-6Bモデルの継続的な事前学習は、InternVL 1.2のアップデートに関与しています。具体的には、InternViT-6Bの解像度を224から448に引き上げ、[Nous-Hermes-2-Yi-34B]((https://huggingface.co/NousResearch/Nous-Hermes-2-Yi-34B)と統合しています。
[📂 GitHub] [📜 InternVL 1.0] [📜 InternVL 1.5] [📜 Mini-InternVL] [📜 InternVL 2.5]
[🆕 Blog] [🗨️ Chat Demo] [🤗 HF Demo] [🚀 Quick Start] [📖 Documents]
✨ 主な機能
このモデルは、画像特徴抽出に特化しており、InternViT-6Bモデルを継続的に事前学習することで性能を向上させています。解像度を引き上げ、OCR機能を強化するために、一般的なキャプションデータセットに加えて、追加のOCRデータを利用しています。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
import torch
from PIL import Image
from transformers import AutoModel, CLIPImageProcessor
model = AutoModel.from_pretrained(
'OpenGVLab/InternViT-6B-448px-V1-2',
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
trust_remote_code=True).cuda().eval()
image = Image.open('./examples/image1.jpg').convert('RGB')
image_processor = CLIPImageProcessor.from_pretrained('OpenGVLab/InternViT-6B-448px-V1-2')
pixel_values = image_processor(images=image, return_tensors='pt').pixel_values
pixel_values = pixel_values.to(torch.bfloat16).cuda()
outputs = model(pixel_values)
📚 ドキュメント
モデル詳細
属性 |
详情 |
モデルタイプ |
ビジョン基礎モデル、特徴バックボーン |
訓練データ |
LAION-en、LAION-zh、COYO、GRIT、COCO、TextCaps、Objects365、OpenImages、All-Seeing、Wukong-OCR、LaionCOCO-OCR、その他のOCR関連データセット。一般的なキャプションデータセットに加えて、追加のOCRデータを利用して、モデルのOCR機能を強化しています。具体的には、Wukongの画像に対してPaddleOCRを使用して中国語のOCRを行い、LAION-COCOの画像に対して英語のOCRを行っています。 |
注意事項
InternViT-6Bは元々48個のブロックを持っていましたが、MLLMに最適なのは最後から4番目のブロックの出力を使用することがわかりました。使いやすさとGPUメモリの節約のために、最後の3つのブロックを削除しました。現在、モデルは45個のブロックのみを持ち、パラメータ数は59億から55億に減少しています。したがって、このモデルをベースにMLLMを構築する場合は、最後のレイヤーの特徴を利用してください。
クイックスタート
⚠️ 重要提示
🚨 私たちの経験では、InternViT V2.5シリーズは、従来のコンピュータビジョンタスクよりもMLLMの構築に適しています。
import torch
from PIL import Image
from transformers import AutoModel, CLIPImageProcessor
model = AutoModel.from_pretrained(
'OpenGVLab/InternViT-6B-448px-V1-2',
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
trust_remote_code=True).cuda().eval()
image = Image.open('./examples/image1.jpg').convert('RGB')
image_processor = CLIPImageProcessor.from_pretrained('OpenGVLab/InternViT-6B-448px-V1-2')
pixel_values = image_processor(images=image, return_tensors='pt').pixel_values
pixel_values = pixel_values.to(torch.bfloat16).cuda()
outputs = model(pixel_values)
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
引用
このプロジェクトがあなたの研究に役立った場合は、以下の文献を引用してください。
@article{chen2024expanding,
title={Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling},
author={Chen, Zhe and Wang, Weiyun and Cao, Yue and Liu, Yangzhou and Gao, Zhangwei and Cui, Erfei and Zhu, Jinguo and Ye, Shenglong and Tian, Hao and Liu, Zhaoyang and others},
journal={arXiv preprint arXiv:2412.05271},
year={2024}
}
@article{gao2024mini,
title={Mini-internvl: A flexible-transfer pocket multimodal model with 5\% parameters and 90\% performance},
author={Gao, Zhangwei and Chen, Zhe and Cui, Erfei and Ren, Yiming and Wang, Weiyun and Zhu, Jinguo and Tian, Hao and Ye, Shenglong and He, Junjun and Zhu, Xizhou and others},
journal={arXiv preprint arXiv:2410.16261},
year={2024}
}
@article{chen2024far,
title={How Far Are We to GPT-4V? Closing the Gap to Commercial Multimodal Models with Open-Source Suites},
author={Chen, Zhe and Wang, Weiyun and Tian, Hao and Ye, Shenglong and Gao, Zhangwei and Cui, Erfei and Tong, Wenwen and Hu, Kongzhi and Luo, Jiapeng and Ma, Zheng and others},
journal={arXiv preprint arXiv:2404.16821},
year={2024}
}
@inproceedings{chen2024internvl,
title={Internvl: Scaling up vision foundation models and aligning for generic visual-linguistic tasks},
author={Chen, Zhe and Wu, Jiannan and Wang, Wenhai and Su, Weijie and Chen, Guo and Xing, Sen and Zhong, Muyan and Zhang, Qinglong and Zhu, Xizhou and Lu, Lewei and others},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={24185--24198},
year={2024}
}