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

Qwen3-VL-0.6B?Reyes轻量化折腾:一个从0到1开始训练的0.6B参数量的多模态大模型

标题一次,非Qwen3-VL-0.6B官方。最近手里有一台昇腾910B的服务器,顺便摸索下国产芯片的训练都有哪些坑,笔者时隔一年对Reyes《【多模态&LLM】Reyes:一个从0到1开始训练的多模态大模型(技术报告)》进行了改造,原本的Reyes由8B的参数构成(InternViT-300M-448px-V2_5+Qwen2.5-7B-Instruct),随着端侧模型的发展与手里资源的限制,最终笔者将Reyes参数量设置成0.6B,训练了一个轻量化的多模态模型,最终在MMMU-benchmark取得了38.7的得分。

  • 权重开源:https://modelscope.cn/models/yujunhuinlp/Reyes-0.6B
  • github:https://github.com/yujunhuics/Reyes

模型架构

得益于开源社区优秀的开源模型(qwenvl、smolvlm等)在模型、代码、训练等提供的思路,Reyes-0.6B整体结构遵循经典的Vit+两层MLP+LLM架构:

  • vit视觉编码器:SigLIP2-Base-Patch16-512
  • LLM:qwen3-0.6B
优化trick
原生分辨率支持

在上个版本Reyes-8B中,主要采用了动态分辨率对图像进行预处理,包括归一化、缩放、裁剪、根据宽高比动态处理等操作。

在《多模态大模型中不同分辨率策略研究与原生分辨率的有效性评估》和现有多个VLMs(如qwenvl、keye-vl等)中都使用了原生分辨率。

因此本次Reyes-0.6B模型也增加了原生分辨率的支持,通过适配集成 2D Rotary Position Embeddings(2D-RoPE)和双三次插值适配位置嵌入实现。

像素洗牌(Pixel Shuffle)支持

在《开源的轻量化VLM-SmolVLM模型架构、数据策略及其衍生物PDF解析模型SmolDocling》提到,像素洗牌通过重新排列编码图像,以增加通道深度为代价换取空间分辨率。这减少了视觉标记数量,同时保持信息密度。

训练

训练数据得益于开源社区的快速发展,如FineVision、《多模态视觉语言模型:Molmo2训练数据、训练配方》提到的若干优质的数据集,结合一些筛选和净化手段。

训练整体分预训练和SFT两阶段:

  • 预训练:训练模型的对齐能力,由VQA+OCR+caption数据构成。1024x1024低分辨率训练。
  • SFT:训练模型的多模态理解能力,由纯文本+VQA的混合数据进行训练,2048x2048高分辨率训练。

推理代码

import torch from transformers import AutoModel, AutoTokenizer, CLIPImageProcessor model_dir = "模型权重" model = AutoModel.from_pretrained(model_dir, trust_remote_code=True, torch_dtype=torch.bfloat16) tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True) image_processor = CLIPImageProcessor.from_pretrained(model_dir, trust_remote_code=True) messages = [ { "role": "user", "content": [ {"type": "text", "text": "描述一下这张图片。"}, { "type": "image_url", "image_url": { "url": "test.png" }, } ], }, ] res = model.chat(messages, tokenizer, image_processor, max_new_tokens=1024, do_sample=True, temperature=0.6) print(res)

一些case

VQA:

  • prompt:描述一下这张图片。
  • 输出:这张图片展示了一只威尔士柯基犬,它正坐在一条灰色的石板路上。狗狗的毛色主要是棕色和白色相间的,面部和胸部有明显的白色部分。它的耳朵竖立,眼睛半闭,嘴巴微微张开,露出一点粉色的舌头,看起来非常开心和活泼。背景中可以看到一些树木和草地,表明这只狗可能在一个公园或类似的户外环境中。整体上,这张照片给人一种轻松愉快的感觉,体现了狗狗的活力和亲近人心的一面。

OCR:

  • prompt:识别图片中的文字,输出markdown格式。
  • 输出:

尾注:本次仅记录训练Reyes-0.6B的过程和一些trick的验证。

http://www.jsqmd.com/news/330939/

相关文章:

  • 计算机基础·cs336·MoE
  • Docker Desktop 在国内使用的囧境:镜像拉取失败、加速器失效与破局之道
  • UnityNFE(NetcodeForEntities)入门手记
  • 笔记04:价值链深度游:追踪一包纸巾的“数字一生”
  • 交直流混合微网 程序matlab 采用拉丁超立方抽样和多场景缩减,考虑风光等随机性建模,利用粒...
  • P4113 [HEOI2012] 采花 题解
  • 笔记01:当IT系统“雪崩”,没有一片生意雪花是无辜的
  • CSS3 多媒体查询实例
  • 实测微信立减金回收平台,京顺回收高效变现
  • 笔记02:快消公司的赚钱公式:你写的每一行代码,都在利润表上哪个位置?
  • 今日所为
  • Spring 核心原理深度解析:Bean 作用域、生命周期与 Spring Boot 自动配置
  • 宏智树 AI:破解论文降重 + 去 AIGC 痕迹双难题,学术写作不踩坑!
  • Webpack的常用概念和基本配置
  • 测试文件所使用的依赖
  • 位运算---LC371两整数之和
  • 宏智树 AI:把期刊论文写作变成 “按图索骥”,新手也能精准踩中录用要点
  • SSM毕设项目:基于SSM的学生选课管理系统(源码+文档,讲解、调试运行,定制等)
  • Spring Boot 与数据源的集成
  • jQuery Mobile 表单选择
  • 【毕业设计】基于SSM的学生选课管理系统(源码+文档+远程调试,全bao定制等)
  • 宏智树 AI:3 类学术 PPT 零门槛!开题、答辩、汇报 30 分钟搞定
  • Spring Boot 的安全机制
  • 古文观芷App搜索方案深度解析:打造极致性能的古文搜索引擎
  • 为什么懂开发的UI设计公司更容易成功?
  • jQuery Mobile 按钮:全面解析与最佳实践
  • Python 学习资源汇总手册
  • 【笔记】【筹码分布图】
  • 医疗连续体机器人模块化控制界面设计(2025年更新版Python库) - 实践
  • AI大模型基于LangChain 进行RAG与Agent智能体开发