Pan’Blog

Welcome to pan’s blog.

Reinforcement Learning With Vision Language Models

在LLM的post-training阶段,强化学习(RL)已经成为标配,RL除了可以对齐人类偏好,还能进一步强化模型的推理能力。在多模态大模型领域,近期也出来比较多的工作引入RL去正确增强视觉上的推理,比如R1-V用RL于counting任务、VLM-RL用RL于目标检测任务、GRIT在推理过程中输出坐标信息,强化推理过程和视觉信息想交互能力。本文对近期比较关键的一些工作进行整理。 详情见我的飞书文档: 【持续更新中】Reinforcement Learning with Vision Language Models

六月 22, 2025 · 1 分钟 · pan

Seed-VL系列论文解析

Seed1.5-VL是字节当前最新的具有多模理解和推理的多模大模型方面的工作。Seed1.5-VL由一个532M参数的vision encoder和一个20B激活参数的moe架构LLM组成。在60个公开测试基准中,38项SOTA。 目前来看,最近各大厂发布的多模大模型在模型架构下都大体一致,比如Qwen2.5-VL、InternVL3、Kimi-VL。架构都是vision encoder+LLM+Adapter(MLP), 且视觉特征和文本特征都是通过adapter做一个浅层的融合(早期会有一些工作是深层融合,比如Flamingo、CogVLM等)。vision encoder这个部分Seed1.5-VL、Qwen2.5-VL、Kimi-VL都支持动态分辨率输入。 Seed1.5-VL确实借鉴了大量的当前最新的工作,比如vision encoder借鉴EVA系列的工作(即学习图片的几何结构特征、也学习语义特征);在pre-training阶段使用了大约15亿样本量(粗略估计论文中提到的数据,还不包含没有提到的数据,比如视频用了多少?),把大量不同类型数据提前放到pre-training阶段训练,比如STEM类型数据等;在post-training阶段,使用迭代的方式训练。一个iteration包含cold-start SFT+RL(RLHF+RLVR)。通过RL训练的model收集一些困难样本,通过拒绝采样得到好的答案,这些数据再加上SFT的数据,多次迭代这个过程(seed1.5-VL迭代4次这个过程)。 pre-training阶段的setup如下 post-traing阶段训练流程如下 详细的论文阅读笔记见我的飞书文档: Seed-Vl系列论文解析

六月 2, 2025 · 1 分钟 · pan

Qwen-VL系列论文解析

目前在多模大模型领域,学术界、工业界一般使用LLaVA系列模型或者Qwen-VL系列模型作为基底模型,然后再根据自已的研究方向或者自已公司业务做SFT。如果需要中文的支持,那用Qwen作为基底模型是更合适的。Qwen-VL,也就是Qwen的第一个版本,在2023.10月就发布了。我特地查了一下BLIP模型早在2022.2月就发布了,我大概在2023年8、9月开始基于InstructBLIP(发表于2023.5)和LLaVA(发表于2023.4),基于公司的业务需要做了一些探索。虽然在一些场景下,可以满足公司业务一定的需要,但是里真正的商用还是有一定的距离。现在,眼看着AGI的临近(可能有点乐观了,但是在很多任务上超过传统的模型,还是可以的),QWen也更新到2.5版本,国内再加上DeepSeek的加持,多模领域在未来两年一定会是大家关注的热点,所以我最近把Qwen-VL、Qwen2-VL、Qwen2.5-VL系列工作重新梳理了一下,以供参考。整体脉络如下。详细的论文阅读笔记见我的飞书文档: Qwen-VL系列论文解析 LLaVA系列的工作我也在整理,不过还没有整理完,先放个链接吧。【更新中】LLaVA系列论文整理

三月 12, 2025 · 1 分钟 · pan

Deepseek系列论文解析

Title: Deepseek 系列论文解析 作者: DeepSeek AI 2025春节期间,Deepseek爆火,而且还是先从外网火到内网。DeepSeek在各大专业评价基准上与open AI的O1不相上下。本来这应该是国内最大几个公司应该干的事情,竟然被一个做量化的公司干了。 最近抽空把DeepSeek的几篇论文都读了一些,其中DeepSeek V2、V3、R1三篇论文我详细读了,并详细整理了阅读笔记,以供大家参考。DeepSeek V1、V2、V3、R1 四篇论文的发布时间跨度在一年左右,所以DeepSeek团队的节奏是很快的。而且四篇论文结构都很清晰,基本每篇都是从Architecture、Pre-Traing、Post-Training几个角度阐释,而且几篇论文衔接的都很紧密。以下大体梳理一下几篇文章的重点,有了这些先验,再去读者几篇文章会更容易抓住重点。 DeepSeek v1: 主要探究了大模型时代下Scaling law, 比如在算力预算下,什么样超参数是最优的、数据缩放策略、如何估计模型最终的性能。所以DeepSeek v1是为后面做更大的模型准备的。 DeepSeek v2: 主打省钱(economical training)、快(efficient inference)、好(优于更大规模的模型)。总236B参数,但是每个token只激活21B参数。相对于DeepSeek 67B,DeepSeek-V2效果更好,节省了42.5%的训练成本,减少了93.3%的KV cache,提升生成吞吐量5.76倍。Transformer主要就两个模块,一个MHA、一个FFN,DeepSeek v2都对其做了修改,对与MHA部分,提出MLA(Multi-head Latent Attention),大大减少了KV cache,极大的提升了推理的性能。对于FFN,引入MOE架构,再次提升推理性能。 DeepSeek v3:671B总参数量,37B激活参数量。延用了deepseek v2中的MLA、MOE架构。DeepSeek-V3在moe的专家路由上做了一些改进,提成auxiliary-loss-free strategy。除此之外,deepseek-v3提出了MTP(multi-token prediction), 进一步提升了性能。 DeepSeek R1: 介绍了deepseek团队第一代的两个reasoning模型:DeepSeek-R1-Zero and DeepSeek-R1。 DeepSeek-R1-Zero :无SFT,直接使用大规模强化学习得到的模型,其展示了强大的推理能力,但是存在差的可读性和语言混乱问题(即模型答复不符合人的阅读习惯,存在多种语言混合输出的问题)。 DeepSeek-R1:为了解决DeepSeek-R1-Zero的缺点和进一步提升推理能力,训练了DeepSeek-R1,其在强化学习之前包含了multi-stage training and cold-start data。 在推理任务上,DeepSeek-R1取得了和openai-o1 comparable的结果。DeepSeek-AI开源了DeepSeek-R1-Zero 、 DeepSeek-R1以及6个蒸馏得到的小模型(1.5B, 7B, 8B, 14B, 32B, 70B)。 关于这4篇论文详细的演变过程,见下表。DeepSeek V2、V3、R1三篇论文详细的阅读笔记见我的飞书文档 deepseek系列论文解析 。

三月 1, 2025 · 1 分钟 · pan

NaVit

Title: Patch n’ Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution 作者: Mostafa Dehghani 发表日期: 2023.7 一、Introduction 1.1 该论文试图解决什么问题? 对于视觉模型而言,resize图片到一个固定的分辨率,不是最优的。ViT具有灵活的序列建模能力,该文利用Vit的这一优势,在训练的时候使用训练打包(sequence packing)去处理任意分辨率和长宽比的图片。在训练效率和最终的效果,都取得了比较好的效果。 注:在卷积网络时代,resize图片或者padding图片到固定大小是标准做法,但是基于Transformer架构的模型,这一做法其实不是必须的。resize图片损害性能,padding损耗效率。 1.2 Key Contributions Method preliminary(个人补充,非论文中的信息) 背景:在NLP处理变长序列的做法是将多个样本组合成一个序列,步骤如下(以pytorc中的方法举例): pad_sequence:通过pad方式对齐多个序列,使得多个序列长度一样 pack_padded_sequence:将多个序列打包为一个序列,返回对象PackedSequence pad_packed_sequence:将PackedSequence对象解压回来 将pad后的序列(等长的)输入模型计算会浪费计算资源,因为pad也参与计算了。PackedSequence避免这一缺点。 Architectural changes 借鉴NLP中处理思路,将其用在图像上,作者称为Patch n’ Pack操作。 整体思路如下: Masked self attention and masked pooling:使用mask机制,使得每个样本只能注意到自已。 Factorized & fractional positional embeddings:使用二维位置编码,x,y两个方向独立。使用的时候,可以x,y相加,stack,相乘,论文中实验对比。 这里的说讲位置编码使用小数表示(fractional)没有理解该含义??? Training changes Continuous Token dropping:drop连续的token Resolution sampling:原始的ViT存在一个矛盾点,高吞吐量(在小的图片上训练)和高性能之间(在大的图片上训练)。NaViT在保证长宽比同时做分辨率采样。 Experiments 固定分辨率和可变分辨率对结果的影响 分解的位置编码由于传统的ViT的位置编码和可学习的2d位置编码(Pix2Struct) 参考资料 NaVit实现(非官方):https://github.com/kyegomez/NaViT/tree/main

十月 4, 2024 · 1 分钟 · pan