当前位置: 首页 > article >正文

【大模型实战篇】多模态推理模型Skywork-R1V

1. 背景介绍

        近期昆仑万维开源的Skywork R1V模型,是基于InternViT-6B-448px-V2_5以及deepseek-ai/DeepSeek-R1-Distill-Qwen-32B 通过强化学习得到。当然语言模型也可以切换成QwQ-32B。因此该模型最终的参数量大小为38B。        

         该模型具备多模态推理能力,能够同时处理视觉和文本等多种模态的数据,适用于智能视频分析、复杂场景理解等场景。

        Skywork R1V 的开源特性如下:

  • 视觉思维链(Visual Chain-of-Thought):能够对视觉输入进行多步逻辑推理,将复杂的基于图像的问题拆解为可管理的步骤。
  • 数学与科学分析(Mathematical & Scientific Analysis):能够解决视觉数学问题,并以高精度解析科学或医学图像。
  • 跨模态理解(Cross-Modal Understanding):无缝融合文本与图像,实现更丰富、具有上下文感知的理解。

2. 相关评测

        Skywork R1V  表现还可以,但不得不说kimi1.5也是很强。我们之前在《》中也讨论了kimi1.5。

3. 模型实验

        话不多说,直接下载下来玩一下。下载后的模型文件结构及大小如下:

total 72G
-rw-r--r-- 1 rese rese  179 Mar 19 19:28 added_tokens.json
-rw-r--r-- 1 rese rese 3.6K Mar 19 19:28 config.json
-rw-r--r-- 1 rese rese   76 Mar 19 19:28 configuration.json
-rw-r--r-- 1 rese rese 3.7K Mar 19 19:28 configuration_skywork_chat.py
-rw-r--r-- 1 rese rese 6.3K Mar 19 19:28 configuration_skywork_lm2.py
-rw-r--r-- 1 rese rese 4.5K Mar 19 19:28 configuration_skywork_vit.py
-rw-r--r-- 1 rese rese 5.1K Mar 19 19:28 conversation.py
-rw-r--r-- 1 rese rese  84K Mar 19 19:28 eval.jpeg
-rw-r--r-- 1 rese rese  181 Mar 19 19:28 generation_config.json
-rw-r--r-- 1 rese rese 565K Mar 19 19:28 logo.jpeg
-rw-r--r-- 1 rese rese 4.7G Mar 19 19:43 model-00001-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 19:48 model-00002-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.5G Mar 19 19:44 model-00003-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 19:49 model-00004-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 19:43 model-00005-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 19:43 model-00006-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 19:47 model-00007-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 19:34 model-00008-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 19:55 model-00009-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 20:04 model-00010-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 19:59 model-00011-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 20:04 model-00012-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 20:05 model-00013-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 20:07 model-00014-of-00016.safetensors
-rw-r--r-- 1 rese rese 4.6G Mar 19 20:00 model-00015-of-00016.safetensors
-rw-r--r-- 1 rese rese 3.4G Mar 19 19:58 model-00016-of-00016.safetensors
-rw-r--r-- 1 rese rese  16K Mar 19 19:55 modeling_skywork_chat.py
-rw-r--r-- 1 rese rese  59K Mar 19 19:55 modeling_skywork_lm2.py
-rw-r--r-- 1 rese rese  18K Mar 19 19:55 modeling_skywork_vit.py
-rw-r--r-- 1 rese rese 124K Mar 19 19:55 model.safetensors.index.json
-rw-r--r-- 1 rese rese  287 Mar 19 19:55 preprocessor_config.json
-rw-r--r-- 1 rese rese 8.6K Mar 19 19:55 README.md
-rw-r--r-- 1 rese rese  957 Mar 19 19:55 special_tokens_map.json
-rw-r--r-- 1 rese rese 3.0K Mar 19 19:55 tokenizer_config.json
-rw-r--r-- 1 rese rese 6.8M Mar 19 19:55 tokenizer.json
-rw-r--r-- 1 rese rese 3.3M Mar 19 19:55 vocab.json
-rw-r--r-- 1 rese rese  25K Mar 19 19:55 zero_to_fp32.py

部署也比较方便,从git中拉取相应的推理代码:

git clone https://github.com/SkyworkAI/Skywork-R1V.git
cd skywork-r1v/inference
conda create -n r1-v python=3.10
conda activate r1-v
bash setup.sh

部署推理,使用两张A800-80G卡:

CUDA_VISIBLE_DEVICES="0,1" python inference_with_transformers.py \
    --model_path /data/Skywork/Skywork-R1V-38B \
    --image_paths /data/Skywork-R1V/imgs/733f3616-be13-4976-ba59-99c8971b0347.png \
    --question "请描述下图片中的内容"

执行结果:

(r1-v) $ sh infer_r1v.sh 
Loading checkpoint shards: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 16/16 [00:19<00:00,  1.22s/it]
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Setting `pad_token_id` to `eos_token_id`:151643 for open-end generation.
User: 请描述下图片中的内容
Assistant: 根据图片内容,描述每个标记的地点及其对应的数值。

**步骤:**

1. **识别图片中的各个标记点:**
   - **场地A**:标注为50万kW。
   - **场地B**:标注为100万kW。
   - **场地C**:标注为200万kW。
   - **场地D**:标注为400万kW。
   - **场地E**:标注为60万kW。
   - **场地F**:标注为90万kW。
   - **场地G**:标注为100万kW。
   - **场地H**:标注为150万kW。
   - **场地I**:标注为50万kW。
   - **场地J**:标注为50万kW。

2. **分析各标记点的位置和关系:**
   - **场地A**位于地图的左上角,靠近海岸线。
   - **场地B**位于场地A的下方,靠近河流。
   - **场地C**位于场地A的右侧,靠近另一个河流。
   - **场地D**位于场地C的右侧,靠近一个湖泊。
   - **场地E**位于场地D的下方,靠近海岸线。
   - **场地F**位于场地E的右侧,靠近一个岛屿。
   - **场地G**位于场地F的上方,靠近另一个岛屿。
   - **场地H**位于场地G的右侧,靠近一个海湾。
   - **场地I**和**场地J**位于地图的右下角,靠近另一个海湾。

3. **总结图片内容:**
   - 图片展示了多个地点及其对应的数值(以万kW为单位),这些地点分布在不同的地理特征附近,如海岸线、河流、湖泊、岛屿和海湾。
   - 每个地点的数值可能代表某种资源的储量、能源产量或其他相关指标。
   - 地图的整体布局显示这些地点在区域内的分布情况,可能用于规划或分析资源分配、能源项目选址等。

**最终描述:**
该图片展示了一个区域内的多个地点,每个地点都有对应的数值标注。具体来说:
- **场地A**:50万kW
- **场地B**:100万kW
- **场地C**:200万kW
- **场地D**:400万kW
- **场地E**:60万kW
- **场地F**:90万kW
- **场地G**:100万kW
- **场地H**:150万kW
- **场地I**:50万kW
- **场地J**:50万kW

这些地点分布在不同的地理特征附近,可能用于资源评估或项目规划。

**答案:**
图片中展示了多个标记点,每个点都有对应的数值标注,具体如下:
- 场地A:50万kW
- 场地B:100万kW
- 场地C:200万kW
- 场地D:400万kW
- 场地E:60万kW
- 场地F:90万kW
- 场地G:100万kW
- 场地H:150万kW
- 场地I:50万kW
- 场地J:50万kW

这些地点分别位于不同的地理位置,可能与资源分布或项目规划有关。
</think>

根据图片内容,描述每个标记的地点及其对应的数值:

1. **场地A**:标注为50万kW。
2. **场地B**:标注为100万kW。
3. **场地C**:标注为200万kW。
4. **场地D**:标注为400万kW。
5. **场地E**:标注为60万kW。
6. **场地F**:标注为90万kW。
7. **场地G**:标注为100万kW。
8. **场地H**:标注为150万kW。
9. **场地I**:标注为50万kW。
10. **场地J**:标注为50万kW。

这些地点分布在不同的地理特征附近,可能与资源评估或项目规划有关。

        从输出的结果来看: 起始的<think>没有输出,可能也被放到了prompt中进行了拼接,导致没有输出,和我们之前做量化实验出现的现象可能类似,参考《使用GPTQ量化QwQ-32B微调后的推理模型》。模型输入是图和文本,输出结果带有多步推理,最后得出答案。输出结果还是比较靠谱的。

        多模态模型除了描述图片能力外,还可以给出指令,让其从图中推理一些知识,或者基于图上的信息计算出一些新的结果。目前已有一些多模态的工作应用于智能座舱,效果还是很不错的。

4. 参考材料

【1】https://www.modelscope.cn/models/Skywork/Skywork-R1V-38B/

【2】GitHub - SkyworkAI/Skywork-R1V: Pioneering Multimodal Reasoning with CoT


http://www.kler.cn/a/592296.html

相关文章:

  • 启用 colcon的命令自动补全功能,适用于 bash终端
  • 当底层硬盘老旧时,如何限制Linux服务器和Windows服务的IOPS?
  • 【一起来学kubernetes】19、Pod使用详解
  • Java高频面试之集合-15
  • ubuntu下普通用户使用mnt共享文件夹
  • Ollama+Cherrystudio+QwQ 32b部署本地私人问答知识库全测试(2025年3月win11版)
  • zabbix数据库溯源
  • E2-走梅花桩(并查集版)
  • 【深度学习入门_机器学习理论】支持向量机(SVM)
  • (暴力枚举 水题 长度为3的不同回文子序列)leetcode 1930
  • 留 言 板
  • 数据结构-ArrayList
  • MyBatis面试常见问题
  • 网络编程之客户端通过服务器与另外一个客户端交流
  • Java线性表(顺序表)
  • 算法刷题记录——LeetCode篇(2) [第101~200题](持续更新)
  • 【MySQL数据库】存储过程与自定义函数(含: SQL变量、分支语句、循环语句 和 游标、异常处理 等内容)
  • 美团Leaf分布式ID生成器使用教程:号段模式与Snowflake模式详解
  • 友思特应用 | 行业首创:基于深度学习视觉平台的AI驱动轮胎检测自动化
  • 基于微信小程序与SSM框架的高校课堂教学管理系统的设计与实现