unilm 仓库中 MoE 语言模型预训练数据卡片解读:1.1T 参数模型背后的 112B Token 数据全貌
2026/9/14 8:37:45 网站建设 项目流程

unilm 仓库中 MoE 语言模型预训练数据卡片解读:1.1T 参数模型背后的 112B Token 数据全貌

【免费下载链接】unilmLarge-scale Self-supervised Pre-training Across Tasks, Languages, and Modalities项目地址: https://gitcode.com/GitHub_Trending/un/unilm

本篇技术指南以 kosmos-2/fairseq/examples/moe_lm/data_card.md 为核心,系统解读 Meta AI 论文《Efficient Large Scale Language Modeling with Mixtures of Experts》中 1.1T 参数 MoE 语言模型的预训练数据:从数据动机、六大子数据集构成、采集时间线,到清洗预处理、验证集划分、用途限制与维护机制,并结合本仓库中的模型卡片与 fairseq 源码,讲清楚"这套数据是什么、怎么来的、怎么用"。


1. 背景:为什么需要一张数据卡片

该数据卡片遵循 Gebru et al. (2018) 的数据集文档规范,为训练1.1T 参数 MoE(Mixture of Experts)语言模型的预训练数据提供结构化描述。论文对比了自回归 MoE 语言模型与稠密(dense)模型在领域内/领域外语言建模、零样本与少样本提示、全量微调等场景下的扩展性表现,仓库入口见 kosmos-2/fairseq/examples/moe_lm/README.md。

  • 数据创建目的:预训练英文语言模型。数据由六个英文数据集合并而成——包括 RoBERTa(Liu et al., 2019)使用的五个数据集,外加 CC100 的英文子集。
  • 创建与资助方:Meta AI(数据由机器挖掘、过滤、采样,而非人工标注)。
  • 训练总量:约112B tokens,对应 453GB文本数据。

在仓库配套的 kosmos-2/fairseq/examples/moe_lm/model_card.md 中,这六个子数据集同样被列为模型训练数据,二者相互印证;模型卡片还补充了关键结论:1.1T MoE 模型相比 6.7B 稠密模型,参数增加约 160 倍,但 FLOPs 仅增加约 30%——这正是稀疏激活架构带来的效率收益,也是这套数据支撑超大模型训练的直接背景。


2. 数据组成(Composition):六大英文语料的并集

2.1 六个子数据集明细

训练数据是以下六个公开数据集的并集(union),每项来自论文或配套卡片,具体如下:

数据集规模内容与来源说明
BookCorpus4GB超过 1 万本未出版书籍(Zhu et al., 2019)
English Wikipedia12GB英文维基百科,排除列表、表格与标题
CC-News76GB约 6300 万篇英文新闻文章,抓取于 2016 年 9 月至 2019 年 2 月(Nagel, 2016)
OpenWebText38GBGPT-2 所用 WebText 的开源复刻(Gokaslan and Cohen, 2019)
CC-Stories31GBCommonCrawl 子集,过滤以匹配 Winograd 模式的故事风格(Trinh and Le, 2018)
English CC100292GB从 2018 年 1 月至 12 月的 CommonCrawl 快照中抽取,按 CCNet 方法论过滤以匹配维基百科风格(Wenzek et al., 2020)

注意:这里"CC-News 76GB"与"CC100 292GB"等均为原始语料体积,合并后经过去重等清洗,最终得到112B tokens / 453GB的训练数据。CC-News 与 English CC100 均源自 CommonCrawl,因此数据中可能包含直接查看时令人不适的语句。

2.2 实例类型与标注情况

  • 实例形态:每条实例是原始文本(raw text),无标签、无目标值,实例之间不存在显式关系
  • 采样属性:English CC100 是从更大规模 CommonCrawl 快照中抽取的子集(2018.01–2018.12,维基百科风格过滤);CC-Stories 同样是 CommonCrawl 的过滤子集。
  • 数据划分:从预训练数据中按各子数据集大小按比例随机抽出约 150MB 作为验证集,用于训练过程中的验证。

2.3 隐私与敏感性说明

  • 六个数据集均为公开数据,无保密内容;预处理软件为 Meta Platforms 专有,当前未公开。
  • 数据涉及人物(新闻、维基百科描述等),除有维基百科词条的公众人物外,若 CommonCrawl 中存在姓名、Twitter 账号等信息,理论上可识别其他个体;数据部分源自 CommonCrawl,可能包含敏感信息

3. 采集过程(Collection Process)

  • 获取方式:N/A——数据是六个公开数据集的并集,非问卷、传感器或人工采集。
  • 采集机制:全部由机器挖掘、过滤与采样完成,无人工作业。
  • 采集时间线:各子数据集采集时段不同:
    1. CC-News:2016 年 9 月 – 2019 年 2 月爬取的英文新闻文章;
    2. English CC100:2018 年 1 月 – 2018 年 12 月 CommonCrawl 快照。
  • 伦理审查:未进行机构审查委员会(IRB)流程;但针对数据主体的影响,执行了部分Responsible AI(RAI)评估,详见论文正文与模型卡片。

4. 预处理、清洗与标注(Preprocessing / Cleaning / Labeling)

4.1 通用清洗规则

各组成数据集经历了标准清洗与重新格式化,包括移除重复/无信息文本,例如:

  • 删除类似Chapter One的章节标题噪声;
  • 删除类似This ebook by Project Gutenberg的电子书版权/模板文本。

原始组件数据集仍可在各自原始出处获取(详见 data_card 参考文献),但清洗软件不对外公开

4.2 预训练时的数据呈现格式

仓库 kosmos-2/fairseq/examples/moe_lm/README.md 明确给出了预训练阶段模型看到的数据格式:每行一个段落,空行分隔不同文档

<doc0,para0,tok0> ... <doc0,para0,tokX> <doc0,para1,tok0> ... <doc0,para1,tokY> <doc1,para0,tok0> ... <doc0,para0,tokX> ...

4.3 换行符处理:一个关键工程细节

模型使用 GPT-2/3 的 byte-level BPE,但 fairseq 预处理会把换行符替换为句尾符</s>(对应 embedding 索引2)。这意味着模型在预训练期间从未见过真正的换行符——少样本提示时也不应使用换行符,而应匹配预训练格式。

该机制在源码中有直接实现:kosmos-2/fairseq/fairseq/hub_utils.py 的score()方法:

def score(self, sentences, replace_newline_with_eos=False, **kwargs): ... def encode(sentence): if replace_newline_with_eos: return torch.cat([self.encode(line) for line in sentence.splitlines()]) else: return self.encode(sentence)

即传入replace_newline_with_eos=True时,输入会按行拆分、逐行编码后拼接,等效于把每行段落末尾的换行替换成</s>。README 还给出了正反对比示例:直接对含换行的多行文本调用lm.score(data)会把换行也编码进 token 序列('\n' in lm.decode(tokens_bad)为 True),而启用replace_newline_with_eos=True'\n' not in lm.decode(tokens_good),行为才与预训练一致。这对复现论文评估结果至关重要。


5. 用途(Uses)

  • 已用任务:用于预训练论文所述模型(1.1T MoE 及其对比的稠密模型)。
  • 可扩展用途:可作为英文语言模型预训练语料,是众多当前与未来语言任务的基础。
  • 使用注意:该数据构建流程展示了构建可扩展数据挖掘基础设施的路径;未来使用者需注意数据源自 CommonCrawl 的子集可能包含偏见或不当内容。
  • 禁用场景:卡片声明无明确禁用任务,但模型卡片补充强调:模型仅用于研究目的(如复现评估结果),主要用途不是文本生成,生成仅在解释/论证或提示/探测类别标签的有限场景中使用。

5.1 配套评估:数据与模型的 RAI 关联

模型卡片记录了 1.1T 模型在StereoSetCrowS-Pairs上评估编码偏见(性别、职业、种族、宗教等维度),并观察到稠密与 MoE 模型随规模增大,Stereotype Score(SS)均变差——这与数据来自公开语料(含 CommonCrawl)直接相关,也是数据卡片"敏感性说明"一节在实践中的印证。


6. 分发(Distribution)与维护(Maintenance)

  • 分发:当前不向第三方分发;无 DOI;无计划分发时间;无版权/IP 许可或 ToU;无出口管制限制。
  • 维护方Meta AI负责支持/托管/维护;联系渠道见论文正文。
  • 更新策略无更新计划;无勘误表;不承诺对旧版本持续支持;也不提供第三方扩展/贡献机制
  • 数据保留:因不直接涉及个体数据采集,无相关保留期限限制(N/A)。

7. 参考文献(数据卡片引用文献)

数据卡片引用的关键文献(按其在卡片中的出现顺序):

  • Liu et al., 2019.RoBERTa: A Robustly Optimized BERT Pretraining Approach.
  • Zhu et al., 2019.Aligning Books and Movies: Towards Story-like Visual Explanations.(BookCorpus)
  • Nagel, 2016.CC-News.(CommonCrawl 新闻数据集公告)
  • Gokaslan & Cohen, 2019.OpenWebText Corpus.
  • Trinh & Le, 2018.A Simple Method for Commonsense Reasoning.(CC-Stories)
  • Wenzek et al., 2020.CCNet: Extracting High Quality Monolingual Datasets from Web Crawl Data.(English CC100 的维基风格过滤方法)

8. 总结

  • 该数据卡片描述的是 Meta AI 1.1T MoE 语言模型的预训练数据:六个公开英文语料并集 → 112B tokens / 453GB,全部由机器挖掘、过滤、采样生成。
  • 核心工程要点在于预训练数据格式与换行符替换机制:每行一段、空行分文档、换行以</s>呈现,少样本提示必须匹配该格式(见 kosmos-2/fairseq/examples/moe_lm/README.md 与 hub_utils.py 源码实现)。
  • 数据不对外分发、无更新计划;使用受限方面包括来自 CommonCrawl 子集的潜在偏见与敏感内容,模型卡片中以 StereoSet / CrowS-Pairs 的 RAI 评估作为补充说明(见 kosmos-2/fairseq/examples/moe_lm/model_card.md)。

如需复现论文评估,可进一步阅读 kosmos-2/fairseq/examples/moe_lm/README.md 中稠密模型(125M–13B)与 MoE 模型(15B–1.1T)的加载与评估示例(含 COPA 零样本评估代码与数据格式说明)。

【免费下载链接】unilmLarge-scale Self-supervised Pre-training Across Tasks, Languages, and Modalities项目地址: https://gitcode.com/GitHub_Trending/un/unilm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询