这篇文章讲了什么?

一句话:

👉 如何让大模型在超长文本里“找重点”,并用更好的数据做DPO训练?

作者提出:

用“多臂老虎机(Multi-Armed Bandit)”来挑选最有用的上下文片段(chunk),再用这些片段生成更高质量的偏好数据。

❗现存的核心问题

当前LLM在长文本里有个经典问题:

👉 Lost-in-the-Middle(中间信息丢失)

模型:

  • 重视开头 ✅
  • 重视结尾 ✅
  • 忽略中间 ❌

同时:

  • SFT → 容易过拟合
  • DPO → 数据质量强依赖采样

👉 所以问题变成:

如何采样“更有信息量”的上下文,生成更好的DPO训练数据?

🚀方法:LongMab-PO

作者提出:

LongMab-PO = MAB + Chunk Sampling + DPO

🧩核心思路拆解

Step 1:切分上下文

把长文本拆成多个 chunk:

C → {C1, C2, ..., Cn}

Step 2:把chunk当“老虎机臂”

👉 每个chunk = 一个“arm”

目标:

找出“最有用”的chunk组合


Step 3:用UCB策略选chunk

核心公式(不用细看):

👉 平衡:

  • 探索(没试过的chunk)
  • 利用(效果好的chunk)

Step 4:生成答案 + 打分

每轮:

  • 用选中的chunk → 生成回答
  • 用指标打分:
SubEM + F1

Step 5:更新chunk价值

👉 哪些chunk贡献了好答案 → 权重↑
👉 没用的 → 权重↓


Step 6:构造DPO数据

最终得到:

(y+, y-) 偏好对

用于训练模型

🔥一句话总结

👉 先动态选上下文 → 再生成更优回答 → 再做DPO优化

图1展示整体流程:

👉 长文本 → 切chunk → MAB选chunk → 生成答案 → 做DPO

关键点:

  • chunk不是一次选死
  • 而是多轮试探 + 更新

👉 类似“边试边学”(干中学)

图2是核心创新:

👉 不再一次性喂整个长文本,而是让模型像“刷题一样”反复试不同片段;

👉 每次试都会知道哪些内容有用;

👉 同时自动生成“好答案 vs 坏答案”,直接用来做DPO训练。

本质上,它把:

❌ 静态长文本理解
👉 变成了
✅ 动态探索 + 反馈学习

以下是详细过程:

🟦 ① 初始化:先给每个文本片段打个“价值分”

👉 上半部分

输入:

  • Query(问题)
  • Context(超长文档)

做的事:

1️⃣ 把长文本切成很多 chunk(C₁, C₂, … Cₙ)

2️⃣ 用 embedding 相似度初始化每个 chunk 的分数 μᵢ

👉 可以理解为:

“先猜一下哪些段落可能有用”


⚠️问题:

👉 embedding 很粗糙,经常不准
(相关 ≠ 有用)


🟨 ② 核心:MAB rollout(整篇最关键!)

👉 左下角这一块


🧠在干嘛?

循环做这几步:


Step 1️⃣:选 chunk(UCB策略)

  • 有用的 👉 多选
  • 没用的 👉 少选
  • 但也会“探索新chunk”

👉 核心思想:

探索 + 利用(explore vs exploit)


Step 2️⃣:喂给 LLM 生成答案

Query + 选中的 chunk → LLM → 生成答案 ŷ

Step 3️⃣:判断这个 chunk 好不好

根据:

  • 答案对不对
  • chunk 是否贡献了信息

👉 更新 μᵢ(奖励)


Step 4️⃣:继续循环

👉 越选越准:

有用 chunk 分数 ↑
垃圾 chunk 分数 ↓


🔥关键理解(非常重要)

图里这句话其实就是精髓:

✔ 有用但没被选过 → 鼓励
❌ 没用但老被选 → 惩罚


🟩 ③ 顺便干一件大事:构造DPO数据

👉 右边绿色框


每次 rollout 会产生:

  • 好答案 ✅
  • 坏答案 ❌

比如:

  • ✅ Five Colleges(对)
  • ❌ Trinity College(错)

然后做:

👉 构造 preference pair:

(好答案, 坏答案)

用来训练:

👉 DPO(偏好优化)


🔥关键点:

数据不是人工标的,是“rollout自动产生的”

🧠重点1:直接看 Avg(最关键)

🔹LLaMA-3.1-8B

  • Vanilla:33.23 / 41.03
  • LongMab-PO:40.95 / 47.43(最高)

👉 提升非常明显:

  • SubEM +7.7
  • F1 +6.4

🔹Qwen-2.5-7B

  • Vanilla:32.03 / 33.29
  • LongMab-PO:37.06 / 42.26(最高)

👉 同样是大幅提升


🧠重点2:对比不同方法

❌ SFT方法(LongAlpaca / LongAlign)

👉 结论:

  • 有时候还不如原始模型
  • 比如:
  • LongAlign Avg F1 = 39.34 < Vanilla 41.03

👉 说明:

单纯喂数据(SFT)并不能解决长上下文问题


⚖️ DPO方法(LongReward / SeaLong / LongFaith)

👉 有提升,但:

  • 不稳定
  • 不全面

例如:

  • LongFaith 在 MuSiQue 很强
  • 但在 NarrativeQA 直接崩(9.50)

👉 问题:

数据质量不稳定


✅ LongMab-PO

👉 特点:

  • 所有任务都强
  • 没明显短板
  • 平均最好

👉 说明:

关键不是DPO本身,而是“你怎么生成DPO数据”


🧠重点3:跨任务稳定性

看5个数据集:

  • MuSiQue(多跳推理)
  • 2Wiki(跨文档)
  • MFQA(开放问答)
  • NarrativeQA(长故事)
  • FakebookQA(超长)

👉 LongMab-PO:

  • 每个任务都在前列
  • 没“翻车任务”

👉 这点很关键:

泛化能力强

💡这篇文章的亮点


⭐亮点1:把“上下文选择”变成学习问题

以前:

👉 靠相似度(静态)

现在:

👉 用bandit动态学习


⭐亮点2:直接优化“数据质量”

不是:

👉 改模型结构

而是:

👉 让训练数据更聪明


⭐亮点3:解决长上下文核心痛点

👉 Lost-in-the-middle

通过:

逐步找到“真正有用的chunk”


🧾一句话总结

👉 LongMab-PO 用多臂老虎机动态选择上下文,提升DPO数据质量,从而显著增强LLM的长文本推理能力。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐