该Python脚本用于处理/ssd/xiedong/vlm-r1-train-tasks-json-ui-docto/tasks_json目录下的数据,将其中所有图片等比例缩小(最长边为1024像素),并连同JSON文件一起复制到新目录/ssd/xiedong/vlm-r1-train-tasks-json-ui-docto/tasks_json_small_size中。
功能说明
一篇很好的DeepSeek R1 解读: https://zhuanlan.zhihu.com/p/20844750193
DeepSeek R1 论文: https://arxiv.org/abs/2501.12948
如何从DeepSeek-V3-Base得到DeepSeek-R1-Zero,可以看下面这图。编写一个指导性的提示词,让DeepSeek-V3-Base输出一组回答,用奖励模型进行奖励RL训练,这样就可以训练出DeepSeek-R1-Zero。
VLM-R1GRPO微调, 实战训练教程(1):
https://www.dong-blog.fun/post/1961
本博客这次使用多图进行GRPO。
官方git项目:https://github.com/om-ai-lab/VLM-R1?tab=readme-ov-file
https://github.com/pch18-docker/baota
yamlroot@xd-OptiPlex-3070:~/bt_data# cat docker-compose.yml
version: '3.8'
services:
baota:
image: pch18/baota:clear
container_name: baotaxd
restart: unless-stopped
ports:
- "11000:8888" # 宝塔面板(外部11000 → 容器8888)
- "11080:80" # HTTP(外部11080 → 容器80)
- "11443:443" # HTTPS(外部11443 → 容器443)
- "11020:20" # FTP(可选)
- "11021:21" # FTP(可选)
- "11306:3306" # MySQL(可选)
- "11679:6379" # Redis(可选)
volumes:
- ./www:/www/wwwroot
- ./backup:/www/backup
- ./data:/www/data
privileged: true
在qwen vl里有一些标记,但其实用不着:
<|endoftext|>
:表示文本的结束。<|im_start|>
和 <|im_end|>
:可能用于标记输入/输出的开始和结束。<|object_ref_start|>
和 <|object_ref_end|>
:可能用于标记对象引用的开始和结束。<|box_start|>
和 <|box_end|>
:可能用于标记一个“框”结构的开始和结束。<|quad_start|>
和 <|quad_end|>
:可能用于标记一个“四边形”结构的开始和结束。<|vision_start|>
和 <|vision_end|>
:可能用于标记视觉相关内容的开始和结束。<|vision_pad|>
、<|image_pad|>
、<|video_pad|>
:可能用于填充视觉、图像或视频内容。<tool_call>
和 </tool_call>
:可能用于标记工具调用的开始和结束。<|fim_prefix|>
、<|fim_middle|>
、<|fim_suffix|>
、<|fim_pad|>
:可能用于填充或标记某些特定格式的文本(如代码补全)。<|repo_name|>
和 <|file_sep|>
:可能用于标记仓库名称或文件分隔符。json[
{
"role": "user",
"content": [
{
"type": "image",
"image": "path_to_image.jpg"
},
{
"type": "text",
"text": "图中的杯子的坐标在哪里?"
}
]
},
{
"role": "assistant",
"content": "<|object_ref_start|>杯子<|object_ref_end|><|box_start|>(0.456,0.387),(0.702,0.789)<|box_end|>"
}
]
可以看编码原理: