NVIDIA 与 AI4Bharat 开源 2.8 万亿 token 印度语言预训练语料及数据生成流水线
Scaling Indic Pretraining: 2.8 Trillion Tokens and an Open Data Generation Pipeline
AI 导读
NVIDIA 联合 IIT Madras 的 AI4Bharat 实验室发布 Nemotron-pretraining-Indic-v1,约 2.8 万亿 token,覆盖印度宪法列出的 22 种语言,并同步开源用于生成该语料、基于 GPU 加速的数据生成流水线。
摘要与补充说明
语料含 2,601.0 亿原生文字 token 和 224.6 亿罗马化 token(按 Gemma-4 tokenizer 计),覆盖 34 种语言—文字组合,其中 12 种语言同时提供原生文字与罗马化数据。
正文· AI 翻译
22 种语言的母语文字数据、12 种语言的罗马化数据,以及一套可复用的 GPU 加速流水线,用于翻译、质量评估与修复。
作者:AI4Bharat — Mohammed Safi Ur Rahman Khan、Mitesh Khapra、Anoop Kunchukuttan。NVIDIA — Niket Agarwal、Raviraj Joshi、Anusha Kamath、Markus Kliegl、Yev Meyer、Sriharsha Niverty、Kiran Praveen、Utkarsh Vaidya。
我们很高兴推出 Nemotron-pretraining-Indic-v1,约 2.8 万亿 token,覆盖 22 种印度语言,并将很快与用于创建它的开放、GPU 加速的数据生成流水线一同发布。这 22 种语言是印度宪法中列出的语言:它们是 97% 印度人的第一语言,按 2011 年人口普查计算,涉及近 12 亿公民。该数据集由 NVIDIA 与印度顶尖工程学院 IIT Madras 及其 AI4Bharat 实验室共同开发,为模型构建者提供了用于 Indic 预训练的重要新资源。该流水线完整记录了生成配方,包括提示词、LLM 工作流和质量检查,因此开发者可以将其适配到自己的源材料,并按需生成更多数据。
AI4Bharat 是 IIT Madras 的印度语言研究实验室,致力于为印度语言构建开源数据集和模型。其资源(例如 Sangraha,一个面向 22 种印度语言的开放预训练语料库)为开放的 Indic 语言模型研究奠定了基础。我们联合开源的发布,代表着社区可用的开放合成 Indic 训练数据的一次大幅扩展。它将精心筛选的英语材料(包括数学、代码和问答内容)广泛引入印度语言,为团队提供更多训练材料,用于构建能够用这些语言解释技术概念、推演问题并回答提问的模型。每条记录都可追溯到经过筛选的源文档,且每个输出都会对照其输入进行检查,因此合成文本始终以真实信息为依据。
AI4Bharat 负责人、入选 2025 TIME100 AI 榜单的 Mitesh Khapra 指出了核心问题:印度语言技术落后于英语,是因为“我们没有足够的印度语言数据”。我们正以更多数据以及一套用于生成更多数据的开放配方来回应这一呼吁。
该语料库还考虑了人们的书写方式。它包含全部 22 种语言的母语文字数据,以及 12 种语言的罗马化文本,覆盖 34 种语言-文字配置。我们的工作流结合了文档级翻译、质量评估和针对性修复,并通过检查来保留公式、表格和代码等内容。这些数据补充了自然撰写的 Indic 文本,后者对于本地知识和文化语境仍然不可或缺。
我们分享开放的生成配方,以便社区不仅能复现这些数据,还能将这项工作推进得更远。团队可以直接使用该语料库、调整提示词和质量检查,或将自有源文档引入工作流。通过同时开放数据和流程,我们旨在让大规模 Indic 数据生成更易获取,并让更多开发者能够为打造更强的印度语言模型作出贡献。
对 Nemotron 3.5 Super VL 的持续预训练新增了 100 亿个 Indic 词元,取自该语料库中十二种语言的子集以及自然 Indic 文本。我们关于该模型的技术报告涵盖了完整内容。我们计划在未来的 Nemotron 模型中基于该语料库继续构建。
语料库中包含什么?
图 1。该语料库包含 2,601.0 亿个原生文字词元和 2,246 亿个罗马化词元。计数使用 Gemma-4 分词器。文档记录包含共享来源的译文和文字变体;它们不是唯一英文文档的计数。
该语料库有两组语言配置:
- 原生文字和罗马化数据:孟加拉语、古吉拉特语、印地语、卡纳达语、马拉雅拉姆语、马拉地语、尼泊尔语、奥里亚语、旁遮普语、泰米尔语、泰卢固语和乌尔都语。
- 原生文字数据:阿萨姆语、博多语、多格拉语、克什米尔语、孔卡尼语、迈蒂利语、曼尼普尔语、梵语、桑塔利语和信德语。
此处,原生文字描述的是书写系统:文本仍是从英文翻译而来。罗马化指用拉丁字母书写的 Indic 语言文本,而非英文译文。对于这十二种双文字语言中的每一种,罗马化覆盖了已接受的原生文字译文的一个子集。
在构建训练混合数据时,这一区别很重要。原生文字记录和罗马化记录提供不同的文字暴露,但可以表达相同的底层内容。词元计数描述的是保留的语料库,包括已接受的改写,而不是某次训练运行的词元预算。计数还取决于所使用的分词器,因此语料库清单和训练词元计数应分开解读。
从英文源文档到 Indic 训练数据
为构建该语料库,我们从 15 个 Nemotron-CC-v2 子集的文档开始,涵盖网页文本、问答材料、数学、代码和其他专业内容。我们使用 NeMo Data Designer——NVIDIA 用于生成合成数据的开源框架——来执行翻译、质量检查和针对性修复。在整个工作流程中,我们保留每个源标识符,以便开发者可以将输出追溯到其原始文档。这种清晰的来源信息正是开放数据便于审计和在此基础上构建的原因之一。图 2 展示了十二种语言的工作流程。
图 2。针对十二种语言的四阶段 Indic 合成数据流水线,使用 NeMo Data Designer 和 Gemma-4-31B-it 实现。我们翻译英文文档、评估翻译质量、修复低分输出,并将一部分已接受的译文转换为拉丁字母。其余十种语言使用下文所述的单独 Indic Translate 工作流程。
十二种语言的工作流程
对于这十二种语言,我们完整翻译文档,以便模型能够利用跨段落、表格和公式的上下文。我们通过在完整文档上比较模型、检查翻译质量和技术内容保留情况,选择了 Gemma-4-31B-it。我们的提示词区分需要翻译的散文和需要保留的内容,包括代码、公式、URL 和格式。
翻译完成后,我们使用同一模型将每个输出与其英文原文进行对照评估。评估标准参考了多维质量指标(MQM)——一个按错误类型和严重程度对翻译错误进行分类的开放框架,涵盖含义、流畅度、术语、风格和格式。我们只保留得分至少为 75 分(满分 100 分)的输出(这是评分标准得分,不是准确率百分比)。对于得分较低的输出,我们利用评估反馈指导修复,然后按同一阈值重新评估。这一流程从原生文字和罗马化数据中回收了 4384 亿 token,已计入语料库总量。抽样人工审核以及故意引入错误的测试帮助识别了遗漏和残留英文,为改进我们的提示词和检查提供了依据。
通过验收的原生文字译文也为罗马化数据提供了起点。我们将其中一部分转换为拉丁字母,并将每个结果与其原生文字输入进行核对。这样就将翻译与文字转换分离开来。在我们初步的人工对比中,与直接从英文生成罗马化文本相比,这种两步法产生的幻觉性增补更少,残留英文也更少。
十语言工作流
对于另外十种语言,我们调整了工作流,以解决在对比中观察到的长文档质量和文字稳定性问题。我们使用 Indic Translate 进行翻译,这是由 Bodhan AI 开发的面向英语和 22 种印度语言的文档级翻译模型,Bodhan AI 是一家孵化于 IIT Madras 的 AI 教育非营利中心。随后由 Gemma-4-31B-it 对照英文原文评估每个译文。对于其中八种语言,我们保留整篇文档的处理方式。对于较长的 Santali 文档,我们翻译重叠窗口并重建文档;对于 Manipuri,我们先翻译成孟加拉文,再转换为其原生文字 Meitei Mayek。这些工作流只保留得分至少为 75 分(满分 100 分)的输出,并且只生成原生文字数据,不进行基于反馈的重写。
Indic 持续预训练后发生了什么变化?
Nemotron 3.5 Super VL 技术报告比较了 Indic 持续预训练(CPT)之前的检查点与该阶段之后的检查点。配置的预算为 1000 亿训练 token,其中 10%(100 亿 token)分配给合成与自然 Indic 文本的混合数据。其余 90% 保持了此前训练混合数据的相对比例。
在报告的全部五项 Indic 知识与推理基准上,得分均有提升:MILU、Indic MMLU-Pro、Indic ARC-Challenge、Indic ARC-Easy 和 Indic GSM8K。
图 3. Indic CPT 阶段前后的 Nemotron 3.5 Super VL。提升幅度为 4.98 至 9.82 个百分点。该对比报告的是结合合成与自然 Indic 数据的训练阶段前后的变化,而非单独分离出合成语料的贡献。各基准的语言覆盖范围不同;这些是阶段级检查点,不是对最终模型版本的比较。
来源:Nemotron 3.5 Super VL 技术报告,表 2。GSM8K 不含 Odia,因为评估超出了服务上下文限制。
这些提升支持了合成与自然 Indic 数据相结合的 CPT 方案,而其他模型和语言应选择何种混合数据,仍有待进一步研究。
配套的 Indic 报告使用十二种语言组的第一轮通过数据,考察了源数据混合、合成数据池规模和文字覆盖情况。评估完整语料(包括恢复的重写内容和其他十种语言)仍是这些受控研究的下一步工作。
Nemotron 3.5 Super VL 中更广泛的 Indic 能力
在 CPT 阶段结果之外,发布模型与上一代相比如何?图 4 在 Indic 任务性能和语言质量方面比较了 Nemotron 3.5 Super VL 与 Nemotron 3 Super。这些结果反映了发布模型的完整训练流程,包括 Indic CPT 和后训练。
Nemotron 3.5 Super VL 在所示六项任务基准中的五项上得分更高,涵盖知识、推理、数学、代码和翻译。IFEval 1.5 上的指令遵循下降了 2.04 分。它还在 IndiVibe 的全部四个维度上有所提升:有用性、流畅度、语言和文字保真度以及适当的详细程度。IndiVibe 是 Sarvam AI 的开放基准,包含印度语言的助手风格提示。这些评估共同考察了模型能做什么,以及它在印度语言中的沟通效果。
图 4. 跨 Nemotron Super 世代的 Indic 任务性能和语言质量。左:六项任务基准。右:初步 IndiVibe 条件偏好分数,并非直接头对头胜率。标签显示百分点变化,WMT24++ 除外,其使用 chrF 分数。基准和评估详情见配套 Indic 技术报告。
开始构建
加载语料
从模型所需的语言和文字开始,检查样本,并在训练前查看数据集卡片和许可证。配置使用语言、文字和地区标签:例如,hi-Deva-IN 表示使用天城文的印地语,而 hi-Latn-IN 表示罗马化印地语。
下面的示例从数据集卡片请求仓库 ID,然后发现可用的拆分并流式读取样本。
from datasets import get_dataset_split_names, load_dataset
dataset_id = input("Repository ID from the dataset card: ").strip()
config = "hi-Deva-IN"
splits = get_dataset_split_names(dataset_id, config_name=config)
print("Available splits:", splits)
data = load_dataset(
dataset_id, name=config, split=splits[0], streaming=True
)
print(next(iter(data)))
Hugging Face Datasets 支持流式读取,因此读者无需下载整个语料即可检查记录。发布可用后,固定数据集修订版本以实现可复现实验。
对于首次训练研究,在固定 token 预算下比较混合数据,并记录自然/合成和原生/罗马化的比例。跟踪每种语言的结果以及英语能力保留情况和语言/文字质量。创建留出拆分时,要考虑跨语言和文字源自同一来源的记录。
要构建更完整的配方,可将语料与 Nemotron 后训练数据搭配,例如 Chat & Instruction 或 Post-Training Blends 集合。对于印度特定的合成数据,可用 Nemotron-Personas-India(基于印度真实世界分布的英语和印地语合成人物画像)为 NeMo Data Designer 提供种子。
调整生成配方
用于 NeMo Data Designer 的开源 Nemotron Bharat 翻译插件 提供翻译与评估提示词、可选的基于反馈的重写、文档窗口化以及脚本重映射支持。使用其 配置参考 来选择模型和语言、针对你的领域调整提示词,并设置重写参数。随附的 开发者说明 解释了工作流程和工程选择。
先从你自己的源文档的小样本开始。检查翻译质量以及对代码、数学公式和格式的保留情况,然后与母语审校人员一起改进提示词和检查项,再扩大规模。将生成和语料验收视为两个独立步骤:插件返回候选结果和评分,而你的过滤策略决定哪些记录进入训练语料。
范围与局限性
翻译拓宽了对源材料的获取途径,但并不能替代原本以印度语言撰写的文本,也不能保证覆盖本地知识和文化。我们建议将此语料与来源适当的自然印度语言文本结合,并针对预期用例评估所得的混合数据。
质量评估主要是自动化的,辅以抽样人工审核,其覆盖率因语言而异。对于十二语言工作流(图 2),翻译器同时充当评判者。保留的文本仍可能包含错误,而十语言工作流需要更广泛的母语者验证。源 ID 检查可去除处理重复项;它们不是对相似内容的语义去重。
除语料之外,IIT Madras 的 AI4Bharat 在 NVIDIA 的支持下正在构建 Indic-LLM-Eval-Suite,这是一个开放且不断发展的基准集合,用于评估印度语言模型能力。它帮助模型构建者评估任务性能和语言质量。参见配套博客 Better Models Need Better Benchmarks: Introducing Indic-LLM-Eval-Suite。
探索语言配置、测试训练混合数据,或将开放配方适配到新领域。分享各语言结果以及对生成工作流的改进,可以帮助社区在此基础上继续发展。
延伸阅读与致谢
配套报告 Scaling Synthetic Pre-training Data and Evaluation for Indic LLMs 和 Nemotron 3.5 Super VL and Lightning technical report 提供了语料核算、生成方法、实验和评估细节。评估是这项工作的另一半。关于基准方面,请参见 AI4Bharat 和 NVIDIA 的配套博客 Better Models Need Better Benchmarks: Introducing Indic-LLM-Eval-Suite。
这项工作汇集了 NVIDIA、IIT Madras、AI4Bharat 和 Bodhan AI。我们还感谢流水线中使用的模型和工具贡献:Google 的 Gemma、Bodhan AI 的 Indic Translate 和 NeMo Data Designer。更多 NVIDIA 数据资源可在 Nemotron Pre-Training Datasets collection 中获取。