Qwen系列论文解析

目前在多模大模型领域,学术界、工业界一般使用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

MLLM调研报告

篇幅较大,在飞书文档上编辑文档快一点,见: MLLM调研报告

十月 3, 2024 · 1 分钟 · pan

对比学习总览

见飞书文档: 对比学习总览

八月 27, 2024 · 1 分钟 · pan