开源模型)
载请注明出处感谢首先对于FireRED OCR模型以及FireRED Edit虽然都是模型微调但是对于其训练过程还是很有参考意义比如Edit模型中通过训练强化模型对于细节的感知能力这里可以对一些对细节要求很高的生成模型训练很有启发意义而不是直接拿着数据直接SFT看效果FireRED OCROCR1模型主要是对Qwen3-vl进行微调的一个模型因此主要了解一下其数据构建过程以及其训练思路即可因此对于其模型数据构建过程中对数据进行聚类处理筛选去重直接通过轻量的ResNet/Vit对图像进行编码而后通过聚类算法KNN等去筛选出相似度高的、保留长尾数据如表格等数据分类、这部分主要是对数据的语言类型、布局、数据来源PDF、扫描件等进行分类保证数据类别的分布数据清洗这部分主要是对数据进行识别比如说有些数据可能只有图像就需要使用PaddleOCR-VL进行识别、合成数据通过提前设计好html/css模板去合成表格等数据、还有一些内容就直接通过大模型去判断最后标签是不是有效的比如说对于识别失败的直接用llm判断markdown中格式不是都正确是不是有缺失并且进行修复判断图像是不是“好的”没有质量太低的直接丢弃模型训练过程不是直接SFTRL而是在此之前先去给模型赋予“文档”识别能力可能基于Qwen3-VL非专门的OCR模型因此先去强化OCR中主要的3类任务能力减轻后续SFT、RL难度第一阶段赋予模型文档识别能力主要是对文档中进行多任务的微调包含如下3组任务目标检测以及OCR、特定区域OCR主要是通过提供prompt去识别对应区域内容、页面转换将布局转换为Markdown内容第二阶段监督微调这部分数据相对去第一部分中的数学质量更加高比如说转化公式严格满足和markdown保持一致文档的种类更加丰富。第三阶段GRPO强化学习主要是争对模型最后输出内容的格式对于GRPO中奖励函数主要对4类内容进行打分数学公式评分直接通过Latex解析器处理数学公式如果失败处理记分-1成功则是按照公式复杂度进行评分、表格完整性评分检查行/列是否一致及1或0、文本准确性评分计算文本之间Levenshtein distance这个距离主要是计算从A–B字符串需要进行多少次计算、层级闭合主要是记录标签是否闭合比如html中 tag 之间。最后对上面4类进行加权即为最后奖励值。对于训练过程可以总结为粗–细–强化FireRED Edit模型2结构如下还是对qwen-image-edit做的微调那么qwen-image-edit的lora也可以直接拿来用对于训练过程中输入数据处理过程主要是对数据进行分桶保证显卡最大利用计算batch的总视觉token数量尽量接近某个固定值C而后在一个桶里面找一个最合适的分辨率argmin∑|(HiWi−hw|) 小的hw为桶的尺寸保证尺寸一致。image-text打乱处理比如说交换Fig位置对应文本中位置也发生改变、随机丢弃图像文本也对应丢弃描述。分桶后训练过程一般优先从相同bucket中挑选样本组成batch当bucket内样本不足batch_size时会通过设置repeat参数重复次数来虚拟扩充样本量从而保证训练能稳定、连续地进行而不会频繁丢弃不完整batch。模型训练策略将VLM部分视觉提取特征提前处理好存储在本地避免训练过程中再计算、FSDP梯度优化器状态切分放到节约显存模型训练分为5个阶段每个阶段数据质量是越来越高的主要看里面的DPO以及NFT处理过程。首先DPO过程作者训练过程中发现对于Win以及Lose都会发生上升也就是选择“好”以及选择“坏”的概率都在上升LOurs −E(c,xw,xl)∼D[logσ(β[(Llθ−Llref )⏟Lose Diff −ω⋅(Lwθ−Lwref )⏟Win Diff ])−λLwθ]对比普通的DPO就是将择优以及避坏都用不同参数而非相同的参数进行控制β 以及 w。使用 _DiffusionNFT_优化策略在DPO中需要成对的数据进行训练而DiffusionNFT3模型自己生成图片然后通过一个奖励模型给这张图打分这个分数被转化为最优概率 r∈[0,1]LNFTEt,x0∼πold[r‖vθ(xt,t)−v‖2⏟Positive Match (1−r)‖vθ−(xt,t)−v‖2⏟Negative Match ]对于里面奖励函数评分主要是两个1、Fine-grained Logit-Weighted Ensembling Reward一般RL过程中奖励值一般是离散的也就是1-5论文里面做法让 reward model 先写 CoT 推理然后只看它对[1,2,3,4,5]这几个数字 token 的 logits具体过程输入一张图像先通过VLM输出COT回答最后给出评分因为LLM生成token会在1-5每个数字都生成一个概率然后选择最大概率最为模型输出因此我在llm输出数字时候变相的得到了1-5这几个数字的概率用 softmax 做软概率加权平均得到一个 [1.05.0] 区间内的连续软分数 → 再 ensemble 多条推理路径取平均 → 得到最终奖励 R2、Layout-Aware OCR-based Reward这个奖励函数主要是针对文字生成进行优化处理同时考虑文字的生成以及文字的布局是否准确