<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SPICE: Self-Play In Corpus Environments Improves Reasoning</title>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<style>
:root {
--primary-color: #1565C0;
--secondary-color: #42A5F5;
--accent-color: #90CAF9;
--background-color: #F5F7FA;
--card-color: #FFFFFF;
--text-primary: #263238;
--text-secondary: #546E7A;
--code-bg: #ECEFF1;
--code-color: #37474F;
--border-radius: 12px;
}
body {
font-family: 'Noto Sans SC', sans-serif;
margin: 0;
padding: 0;
background-color: var(--background-color);
color: var(--text-primary);
line-height: 1.6;
}
.poster-container {
width: 960px;
margin: 0 auto;
padding: 20px;
box-sizing: border-box;
overflow: hidden;
}
.header {
text-align: center;
margin-bottom: 30px;
padding: 20px;
background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
border-radius: var(--border-radius);
color: white;
}
.header h1 {
margin: 0;
font-size: 36px;
font-weight: 700;
}
.header p {
margin: 10px 0 0;
font-size: 18px;
opacity: 0.9;
}
.section {
margin-bottom: 30px;
background-color: var(--card-color);
border-radius: var(--border-radius);
padding: 25px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
.section-title {
color: var(--primary-color);
font-size: 28px;
margin-top: 0;
margin-bottom: 15px;
display: flex;
align-items: center;
}
.section-title .material-icons {
margin-right: 10px;
font-size: 28px;
}
.content {
font-size: 16px;
}
.highlight {
background-color: var(--accent-color);
padding: 2px 5px;
border-radius: 4px;
font-weight: 500;
}
.code-block {
background-color: var(--code-bg);
border-radius: 8px;
padding: 15px;
margin: 15px 0;
overflow-x: auto;
font-family: 'Courier New', monospace;
font-size: 14px;
color: var(--code-color);
}
.code-block pre {
margin: 0;
white-space: pre-wrap;
}
.two-column {
display: flex;
gap: 20px;
margin: 20px 0;
}
.column {
flex: 1;
}
.role-card {
background-color: var(--card-color);
border-radius: var(--border-radius);
padding: 20px;
margin-bottom: 20px;
border-left: 5px solid var(--primary-color);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
.role-title {
font-size: 22px;
color: var(--primary-color);
margin-top: 0;
margin-bottom: 10px;
}
.results-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
.results-table th, .results-table td {
padding: 12px 15px;
text-align: left;
border-bottom: 1px solid #E0E0E0;
}
.results-table th {
background-color: var(--accent-color);
color: var(--primary-color);
font-weight: 500;
}
.results-table tr:last-child td {
border-bottom: none;
}
.results-table .better {
color: #2E7D32;
font-weight: 500;
}
.footnote {
font-size: 14px;
color: var(--text-secondary);
margin-top: 20px;
font-style: italic;
}
.architecture-diagram {
display: flex;
justify-content: center;
align-items: center;
margin: 20px 0;
position: relative;
}
.arch-node {
width: 180px;
height: 80px;
background-color: var(--card-color);
border: 2px solid var(--primary-color);
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
font-weight: 500;
margin: 0 20px;
position: relative;
z-index: 2;
}
.arch-arrow {
height: 2px;
background-color: var(--primary-color);
flex-grow: 1;
position: relative;
}
.arch-arrow::after {
content: '';
position: absolute;
right: 0;
top: -4px;
width: 0;
height: 0;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
border-left: 8px solid var(--primary-color);
}
.arch-label {
position: absolute;
top: -25px;
font-size: 14px;
color: var(--text-secondary);
}
</style>
</head>
<body>
<div class="poster-container">
<div class="header">
<h1>SPICE: Self-Play In Corpus Environments Improves Reasoning</h1>
<p>通过语料库环境中的自我对弈提升大语言模型推理能力</p>
</div>
<div class="section">
<h2 class="section-title">
<span class="material-icons">lightbulb</span>
基本概念与背景
</h2>
<div class="content">
<p>自我改进人工智能系统需要与环境交互以实现持续适应。SPICE(Self-Play In Corpus Environments)是一种强化学习框架,其中单个模型扮演两个角色:<span class="highlight">挑战者(Challenger)</span>从大型语料库中挖掘文档以生成多样化的推理任务,以及<span class="highlight">推理者(Reasoner)</span>解决这些任务。</p>
<p>与现有的非基础自我对弈方法相比,SPICE解决了两个关键问题:</p>
<ul>
<li><strong>幻觉放大</strong>:模型在自身生成的不可验证的合成数据上训练时,生成问题和答案中的事实错误会加剧</li>
<li><strong>信息对称</strong>:问题生成器和解决者共享相同的知识库,阻碍了真正的挑战</li>
</ul>
<p>通过对抗性动态,挑战者在推理者能力前沿创建自动课程,而语料库基础提供了持续改进所需的丰富、近乎无穷的外部信号。</p>
</div>
</div>
<div class="section">
<h2 class="section-title">
<span class="material-icons">architecture</span>
SPICE架构与工作原理
</h2>
<div class="content">
<p>SPICE是一个端到端框架,单个模型通过自我对弈扮演两个角色:挑战者(C)和推理者(R)。当扮演挑战者时,模型基于网络文档提出挑战推理者的问题。随后,模型切换到推理者角色回答这些问题。这个迭代过程由对抗性动态驱动,使两个角色共同进化,从而产生能力更强的模型。</p>
<div class="architecture-diagram">
<div class="arch-node">文档语料库</div>
<div class="arch-arrow">
<div class="arch-label">挑战者访问</div>
</div>
<div class="arch-node">挑战者</div>
<div class="arch-arrow">
<div class="arch-label">生成问题</div>
</div>
<div class="arch-node">推理者</div>
<div class="arch-arrow">
<div class="arch-label">回答问题</div>
</div>
<div class="arch-node">模型更新</div>
</div>
<p>整个框架是自我监督的,不需要人工干预,只需要一个大型非结构化语料库。</p>
<div class="code-block">
<pre><code class="language-python"># SPICE核心算法伪代码
for t ← 1 to T do:
# 挑战者角色:生成具有挑战性的问题
for b ← 1 to B do:
采样文档 d ∼ D
生成多个尝试: {(qi, a∗i)}Ni=1 ← πθ(d, role = C)
if qi 有效 then:
{âk}Gk=1 ← πθ(qi, role = R) # 无文档访问
rC(qi, a∗i) ← 使用方差公式计算奖励
else:
rC(qi, a∗i) ← ρ # 无效任务惩罚
end if
end for
# 推理者角色:解决生成的问题
选择一个随机有效任务 (q, a∗) 从挑战者阶段
TR ← {âi}Gi=1 ∼ πθ(q, role = R) # G个响应用于训练
for i ← 1 to G do:
rR(âi, a∗i) ← 1[âi = a∗] # 二进制正确性奖励
end for
# 更新阶段:使用角色特定优势优化πθ
计算挑战者和推理者的角色特定优势
使用优势更新πθ
end for</code></pre>
</div>
</div>
</div>
<div class="two-column">
<div class="column">
<div class="role-card">
<h3 class="role-title">挑战者(Challenger)</h3>
<p>挑战者从文档中学习生成既能最大限度挑战推理者又保持可解决的问题:</p>
<ul>
<li><strong>文档采样</strong>:从大型文档语料库中均匀采样段落</li>
<li><strong>多格式任务生成</strong>:基于文档评估生成多选题(MCQ)或自由形式问题</li>
<li><strong>基于方差的课程奖励</strong>:使用高斯形状的奖励函数,当方差等于0.25(50%通过率)时达到最大值1.0,表示最优任务难度</li>
</ul>
<div class="code-block">
<pre><code class="language-python"># 挑战者奖励函数
rC(q, a∗) = (
exp(-(Var({l1,...,lK})-0.25)²/(2·0.01))
if q is valid
ρ otherwise (penalty)
)</code></pre>
</div>
</div>
</div>
<div class="column">
<div class="role-card">
<h3 class="role-title">推理者(Reasoner)</h3>
<p>推理者学习在没有文档访问的情况下解决挑战者的任务:</p>
<ul>
<li><strong>答案生成</strong>:仅给定有效问题q,模型生成答案â</li>
<li><strong>逐步推理</strong>:模型被提示逐步推理并将最终答案放在\boxed{}标签内</li>
<li><strong>二进制正确性奖励</strong>:推理者接收基于规则验证器的正确性奖励</li>
</ul>
<div class="code-block">
<pre><code class="language-python"># 推理者奖励函数
rR(â, a∗) = 1[â = a∗] # 二进制正确性奖励</code></pre>
</div>
</div>
</div>
</div>
<div class="section">
<h2 class="section-title">
<span class="material-icons">insights</span>
文档基础自我对弈的创新点
</h2>
<div class="content">
<p>SPICE的核心创新在于将大型文档语料库作为外部知识源,实现持续自我改进:</p>
<ul>
<li><strong>信息不对称</strong>:挑战者将问题和黄金答案建立在推理者未见过的检索文档中,创造真正的挑战</li>
<li><strong>文档多样性</strong>:文档的巨大多样性确保了超越模型内部知识的持续新颖性</li>
<li><strong>防止幻觉</strong>:语料库基础通过将问题和黄金答案锚定在真实世界内容而非模型生成的幻想上,防止了幻觉</li>
<li><strong>通用验证</strong>:任务以多种格式生成(多选题和带有整数/表达式/字符串答案的自由形式问题),作为通用验证器,无需专门的执行器或基于规则的验证器</li>
</ul>
<p>这种设计打破了将先前工作限制在数学和代码等狭窄领域的验证瓶颈,同时文档基础答案确保验证仍然基于事实。</p>
</div>
</div>
<div class="section">
<h2 class="section-title">
<span class="material-icons">analytics</span>
实验结果与性能提升
</h2>
<div class="content">
<p>在四个基础模型上的实验表明,SPICE在所有模型家族上持续超越基线,产生最大的整体改进:</p>
<table class="results-table">
<tr>
<th>基础模型</th>
<th>基准性能</th>
<th>SPICE性能</th>
<th>绝对提升</th>
</tr>
<tr>
<td>Qwen3-4B-Base</td>
<td>35.8%</td>
<td class="better">44.9%</td>
<td class="better">+9.1%</td>
</tr>
<tr>
<td>Qwen3-8B-Base</td>
<td>43.0%</td>
<td class="better">48.7%</td>
<td class="better">+5.7%</td>
</tr>
<tr>
<td>OctoThinker-3B-Hybrid-Base</td>
<td>14.7%</td>
<td class="better">25.2%</td>
<td class="better">+10.5%</td>
</tr>
<tr>
<td>OctoThinker-8B-Hybrid-Base</td>
<td>20.5%</td>
<td class="better">32.4%</td>
<td class="better">+11.9%</td>
</tr>
</table>
<p>这些提升跨越了数学推理(平均+8.9%)和一般推理任务(在MMLU-Pro、GPQA-Diamond、SuperGPQA和BBEH上+9.8%),表明语料库基础开发了广泛适用的能力。</p>
<p>对抗性动态在挑战者和推理者之间创造了自动课程:固定推理者的通过率从55%下降到35%,因为它学会生成越来越难的问题,而固定挑战者的通过率从55%上升到85%,表明两个角色成功共同进化。</p>
</div>
</div>
<div class="section">
<h2 class="section-title">
<span class="material-icons">psychology</span>
设计思想与未来展望
</h2>
<div class="content">
<p>SPICE代表了自我改进推理方法的范式转变:从由于幻觉漂移而经常停滞的闭环自我对弈,转变为通过与嵌入在网络文档语料库中的巨大、可验证知识互动进行开放式改进。</p>
<p>SPICE的设计思想基于以下关键洞察:</p>
<ul>
<li><strong>外部信号的重要性</strong>:自我改进需要与提供多样化、可验证反馈的外部源互动,而不是纯粹的闭环内省</li>
<li><strong>对抗性动态的价值</strong>:挑战者和推理者之间的对抗性互动创造了自动课程,使系统能够持续发现新的挑战并克服它们</li>
<li><strong>信息不对称的必要性</strong>:通过确保挑战者可以访问推理者无法访问的信息,创造真正的挑战而非简单的模式匹配</li>
</ul>
<p>未来,SPICE为无需明确人工监督的自我改进开辟了新途径,通过挖掘嵌入在语料库中的训练信号,开发跨领域广泛适用的推理能力。</p>
<div class="footnote">
<p>参考文献:Liu, B., Jin, C., Kim, S., et al. (2025). SPICE: Self-Play In Corpus Environments Improves Reasoning. arXiv:2510.24684v1.</p>
</div>
</div>
</div>
</div>
</body>
</html>
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!