R1-Onevision : un modèle de langage visuel open source supportant le raisonnement multimodal
Introduction générale
R1-Onevision est un modèle de langage multimodal à code source ouvert développé par l'équipe Fancy-MLLM, qui se concentre sur la combinaison profonde de la vision et du langage, capable de traiter des entrées multimodales telles que des images et du texte, et d'exceller dans les domaines du raisonnement visuel, de la compréhension d'images et de la résolution de problèmes mathématiques. Basé sur Qwen2.5-VL Grâce à l'optimisation du modèle, R1-Onevision surpasse des modèles comparables tels que Qwen2.5-VL-7B dans plusieurs benchmarks et défie même les capacités de GPT-4V. Le projet est hébergé sur GitHub et fournit des poids de modèle, des ensembles de données et des codes adaptés aux développeurs, aux chercheurs pour l'exploration académique ou les applications pratiques.2025 Depuis sa publication le 24 février, il a reçu beaucoup d'attention et a particulièrement bien fonctionné dans les tâches de raisonnement visuel.

Liste des fonctions
- inférence multimodaleLes tâches de raisonnement complexes combinant images et texte, telles que la résolution de problèmes mathématiques et l'analyse de problèmes scientifiques, sont prises en charge.
- compréhension graphiqueLa capacité d'analyser le contenu des images et de générer des descriptions détaillées ou de répondre à des questions connexes.
- Soutien aux ensembles de donnéesLe système de gestion des données de R1-Onevision : Il fournit des ensembles de données R1-Onevision contenant des données multi-domaines telles que des scènes naturelles, des OCR, des graphiques, et bien plus encore.
- formation au modèleLe système de gestion de la qualité de l'information (SGI) : il prend en charge la mise au point supervisée d'un modèle complet (SFT) à l'aide de la structure LLama-Factory à code source ouvert.
- Évaluation de la haute performanceLes élèves de l'enseignement supérieur doivent : faire preuve d'un meilleur raisonnement que leurs camarades lors de tests tels que Mathvision, Mathverse, etc.
- ressource open sourceLes poids et les codes des modèles sont fournis pour faciliter le développement secondaire ou la recherche.
Utiliser l'aide
Processus d'installation
R1-Onevision est un projet open source basé sur GitHub qui nécessite une certaine base de programmation et une configuration de l'environnement pour fonctionner. Ce qui suit est un guide d'installation et d'utilisation détaillé :
1. préparation à l'environnement
- système d'exploitationIl est recommandé d'utiliser Linux (par exemple Ubuntu) ou Windows (avec WSL).
- exigences en matière de matérielUn GPU NVIDIA (au moins 16 Go de mémoire vidéo, tel que A100 ou RTX 3090) est recommandé pour prendre en charge l'inférence et l'entraînement du modèle.
- dépendant d'un logiciel: :
- Python 3.8 ou supérieur.
- PyTorch (nous recommandons d'installer la version GPU, voir le site web de PyTorch).
- Git (pour le clonage des dépôts de code).
2. clonage d'entrepôts
Ouvrez un terminal et exécutez la commande suivante pour obtenir le code du projet R1-Onevision :
git clone https://github.com/Fancy-MLLM/R1-Onevision.git
cd R1-Onevision
3. installation des dépendances
Le projet s'appuie sur plusieurs bibliothèques Python, qui peuvent être installées à l'aide des commandes suivantes :
pip install -r requirements.txt
Si vous avez besoin d'accélérer le raisonnement, nous vous recommandons d'installer Flash Attention :
pip install flash-attn --no-build-isolation
4. téléchargement des poids du modèle
R1-Onevision fournit des modèles pré-entraînés qui peuvent être téléchargés à partir de Hugging Face :
- Visitez la page du modèle Hugging Face.
- Télécharger le fichier du modèle (par exemple
R1-Onevision-7B
) et l'extraire dans le répertoire du projet sous l'ongletmodels
(doit être créé manuellement).
5. environnement de configuration
Assurez-vous que CUDA est correctement installé et compatible avec PyTorch, ce qui peut être vérifié en exécutant le code suivant :
import torch
print(torch.cuda.is_available()) # 输出 True 表示 GPU 可用
Utilisation
Raisonnement de base : analyse d'images et de textes
R1-Onevision supporte l'exécution de tâches d'inférence via des scripts Python. Voici un exemple de chargement d'un modèle et de traitement d'images et de texte :
- Rédaction de scripts de raisonnement: :
Créer un fichier dans le répertoire racine du projet (par ex.infer.py
), entrez le code suivant :
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
import torch
from qwen_vl_utils import process_vision_info
# 加载模型和处理器
MODEL_ID = "models/R1-Onevision-7B" # 替换为模型实际路径
processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(
MODEL_ID, trust_remote_code=True, torch_dtype=torch.bfloat16
).to("cuda").eval()
# 输入图像和文本
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "path/to/your/image.jpg"}, # 替换为本地图像路径
{"type": "text", "text": "请描述这张图片的内容并回答:图中有几个人?"}
]
}
]
# 处理输入
inputs = processor(messages, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=512)
response = processor.decode(outputs[0], skip_special_tokens=True)
print(response)
- Exécution de scripts: :
python infer.py
Le script renvoie une description de l'image et une réponse. Par exemple, s'il y a deux personnes sur l'image, le modèle peut renvoyer la réponse suivante : "L'image montre une scène de parc avec deux personnes assises sur un banc".
Caractéristique : raisonnement mathématique
R1-Onevision excelle dans le raisonnement visuel mathématique. A partir d'une image contenant un problème mathématique (par exemple "2x + 3 = 7, trouvez x"), les étapes suivantes peuvent être suivies :
- modifications
messages
Le texte est le suivant : "Répondez à la question de mathématiques de cette image et donnez vos calculs". - Exécutez le script et le modèle renverra des résultats similaires à ceux qui suivent :
图片中的题目是:2x + 3 = 7
解题过程:
1. 两边同时减去 3:2x + 3 - 3 = 7 - 3
2. 简化得:2x = 4
3. 两边同时除以 2:2x / 2 = 4 / 2
4. 得出:x = 2
最终答案:x = 2
Utilisation de l'ensemble des données
R1-Onevision fournit des ensembles de données dédiés qui peuvent être utilisés pour affiner ou tester les modèles :
- Télécharger l'ensemble de données : page de l'ensemble de données "Hugging Face".
- Les données contiennent des paires d'images et de textes qui peuvent être utilisées directement pour la formation ou la validation après décompactage.
Modélisation de la mise au point
Si un modèle personnalisé est nécessaire, une mise au point supervisée peut être effectuée à l'aide de l'usine LLama :
- Installer LLama-Factory :
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt
- Configurez les paramètres de formation (voir la documentation du projet) et exécutez :
python train.py --model_name models/R1-Onevision-7B --dataset path/to/dataset
Résumé du processus opérationnel
- analyse d'imagesLe résultat de l'analyse de l'image est obtenu en préparant le chemin d'accès à l'image, en rédigeant le script et en l'exécutant.
- raisonnement mathématiqueLes services d'aide à la décision : téléchargez une photo du sujet, posez une question et affichez la réponse détaillée.
- Développement sur mesureTélécharger l'ensemble de données et le modèle et ajuster les paramètres pour la formation.
Attention à l'utilisation de la mémoire du GPU, il est recommandé de disposer d'au moins 16 Go de mémoire vidéo pour garantir un fonctionnement fluide.
© déclaration de droits d'auteur
文章版权归 Cercle de partage de l'IA 所有,未经允许请勿转载。
Articles connexes
Pas de commentaires...