外观
预训练数据拼接策略深度分析
内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。
1. Pretrain 阶段为什么需要拼接?
为了提高 Pretrain 效率、拓展 LLM 最大长度,随机将若干条短文本进行拼接是 Pretrain 阶段的常见手段。
目标:
- 降低 Padding 占比,提高训练效率
- 使 LLM 具备更好的长文本处理能力
2. 拼接方式一:Random Concatenate(随机拼接)
2.1 做法
随机将短文本 {examples_i} 拼接成 {examples_k} 以打满 maxLen。
2.2 优点
- 降低 Padding 占比
- 提高训练效率
- 理论上能拓展长文本处理能力
2.3 潜在问题
绝大多数情况下,构成一个 Example 的多个短文本彼此互不相关,无法提供有效的上下文信息:
- LLM 无法从拓宽的窗口中获得正向反馈
- 在语料较少、分布集中时,LLM 可能从多次偶然的噪音共现中拟合到错误特征
- 如果语料足够多、分布足够广,LLM 能通过足够的 Contrastive 逐渐聚焦于 Example 本身
3. 拼接方式二:Random Concatenate + NoiseMask
3.1 做法
添加自定义 Attention Mask,使 LLM 在 Pretrain 时仅关注当前 Example,忽略跨 Example 的 Token。
python
def segment_causal_mask(input_ids, device, val=float("-inf")):
bsz, tgt_len = input_ids.shape
cum_lens = torch.arange(1, tgt_len+1, device=device).unsqueeze(0) * \
torch.eq(input_ids, EosTokenId).int().to(device)
mask = torch.zeros([bsz, tgt_len, tgt_len]).to(device)
for i, _cum_lens in enumerate(cum_lens):
for v in _cum_lens:
mask[i, v:, :v] = val # 屏蔽跨 Example 的 Attention
return mask3.2 效果
经测试,该方法在 ICL Few-Shot 上相比随机拼接有约 1.6% 的提升。
3.3 遗留问题
相对位置编码(ALiBi、RoPE)的 Token-wise 相对位置信息会在 Attention Score 矩阵对应位置有所体现:
- 如果施加了 Attention Mask,这部分相对位置信息经过 Softmax 会被完全掩盖/误杀
- LLM 无法从跨 Example 间获得反馈(无论是位置还是语义信息)
- 本质上仍是在短文本窗口内训练,没有真正实现 MaxLen 级别的长文本训练
- 只能起到提高训练效率的作用,无法真正拓展长文本能力
另一方面,即使不施加 Mask(方式一),LLM 是否能从无关 Example 构成的窗口中获取正向反馈也存疑——如果远的 Token 都不相关,LLM 可能天然倾向于忽略更远的 Token。
4. 拼接方式三:Random Concatenate + Cluster
4.1 动机
既不施加 Attention Mask,也能让 LLM 不受跨 Example 干扰甚至还能受益:
- 以实体、语义等维度对
{examples_i}进行聚类 - 使构成同一个 Example 的 Examples 存在真实可靠的信息共现前提
4.2 优势
- LLM 不容易从噪音共现中学偏
- 能从 Pretrain 中适应更广泛全局的 Attention,从而具备更好的长文本处理能力
4.3 遇到的挑战:信息泄露
沿实体维度聚类时发现:
- 信息重复严重
- 经过关键词/语义去重后仍难以避免信息泄露
- LLM 有从 Memorize 变成 Copy 的风险
5. 拼接方式四:IN-CONTEXT PRETRAINING(ICLM)
5.1 基本思想
在拼接时,利用语义相似度,优先将最相似的 Example 进行拼接,从而构成语义更加连贯流畅的上下文。
5.2 流程
| 步骤 | 说明 |
|---|---|
| 1. Embedding | 将 {examples_i} 转换向量表示(作者使用 Contriever) |
| 2. 去重 | 基于余弦距离进行数据去重 |
| 3. 串联 | 基于旅行商思想,不断串联最相关的 Examples(每个用完即扔,不重复) |
| 4. Pretrain | 基于拼接后的 {examples_k} 进行预训练 |
5.3 为什么 ICLM 有效?
- 相比实体聚类,沿语义聚合的 Examples 分布更平缓,受泄露影响风险更低
- 分布更广泛的数据 + 更妥善的去重操作是 ICLM 有效的关键
- 作者通过消融实验验证了去重对 ICLM 的正向增益
6. 四种拼接方式对比
| 方式 | 核心思路 | 长文本能力 | 信息泄露风险 | 实现复杂度 |
|---|---|---|---|---|
| Random Concatenate | 随机拼接打满 MaxLen | 存疑 | 低 | 低 |
| + NoiseMask | 加 Attention Mask 隔离 | 无(仍是短窗口) | 低 | 中 |
| + Cluster | 实体/语义聚类后拼接 | 较好(但信息泄露) | 高 | 中 |
| ICLM | 语义相似度 + 去重串联 | 好 | 低(妥善去重) | 高 |
7. 核心结论
- 简单的随机拼接可能导致 LLM 从噪音共现中学习到错误特征
- Attention Mask 隔离方案虽能缓解噪音,但牺牲了长文本训练效果
- 语义聚合 + 去重 + 旅行商串联(ICLM)是目前较优的拼接策略
- 相对位置编码(RoPE/ALiBi)与 Attention Mask 存在"误杀"交互,需要更多的研究探索