NVIDIA 与 AI4Bharat 发布 2.8 万亿 token 的 Nemotron-pretraining-Indic-v1 语料及开源数据生成管线
Scaling Indic Pretraining: 2.8 Trillion Tokens and an Open Data Generation Pipeline
NVIDIA 与 IIT Madras 的 AI4Bharat 推出 Nemotron-pretraining-Indic-v1 预训练语料,约 2.8 万亿 token,覆盖印度宪法 22 种语言,含 2,601.0B 天然文字 token 和 224.6B 罗马化 token(Gemma-4 tokenizer 统计),即将随开源、GPU 加速的数据生成管线一同发布。
涵盖 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,包含约 22 种印度语言的 2.8 万亿个 token,并将很快连同用于创建它的开放、GPU 加速的数据生成流水线一起发布。这是印度宪法中列出的 22 种语言:97% 印度人的第一语言,按 2011 年人口普查计算接近 12 亿公民。该版本由 NVIDIA 与印度顶尖工程学院 IIT Madras 及其 AI4Bharat 实验室共同开发,为模型构建者提供了一个用于印度语系预训练的全新重要资源。该流水线完整记录了生成配方,包括提示词、LLM 工作流和质量检查,开发者可以将它适配到自己的源材料上,并按需生成更多数据。
AI4Bharat 是 IIT Madras 的印度语言研究实验室,致力于为印度语言构建开源数据集和模型。其资源,例如面向 22 种印度语言的开放预训练语料库 Sangraha,为开放的印度语系语言模型研究奠定了基础。我们此次联合开源发布,将大幅扩充社区可用的开放合成印度语系训练数据。它将涵盖数学、代码和问答内容的精选英文材料广泛引入印度语言,为团队提供更多训练素材,以构建能够解释技术概念、解答问题并用这些语言回答问题的模型。每条记录都可追溯到一份精选的源文档,且每个输出都会与其输入进行核对,从而确保合成文本扎根于真实信息。
AI4Bharat 负责人、2025 年 TIME100 AI 榜单入选者 Mitesh Khapra 曾点明核心问题:印度语言技术落后于英文,是因为“我们没有足够的印度语言数据”。我们正以更多数据,以及一套生成更多数据的开放配方来回应这一呼声。
该语料库还考虑了人们的书写方式。它包含全部 22 种语言的本地方言文字数据和 12 种语言的罗马化文本,共覆盖 34 种语言-文字组合。我们的工作流将文档级翻译、质量评估和针对性修复相结合,并通过检查来保留公式、表格和代码等内容。这些数据与自然撰写的印度语系文本相辅相成,后者对于本地知识和文化语境仍然不可或缺。
我们正在分享开放生成配方,让社区不仅能够复现这些数据,还能在此基础上更进一步。团队可以直接使用该语料库,调整提示词和质量检查,或将他们自己的源文档引入工作流。通过同时开放数据与流程,我们旨在让大规模印度语系数据生成更易上手,并使更多开发者能够为跨印度语言的更强模型贡献力量。
Nemotron 3.5 Super VL 的持续预训练新增了 100 亿个印度语系语言的 token,这些 token 取自该语料库的十二种语言子集以及自然的印度语系文本。我们关于该模型的技术报告涵盖了完整的细节。我们计划在未来的 Nemotron 模型中继续基于此语料库进行构建。
语料库中有什么?
图 1. 该语料库包含 2,601.0 亿个原生文字 token 和 2,246 亿个罗马化 token。计数使用 Gemma-4 分词器。文档记录包含共享来源的翻译和文字变体;这些数字并非唯一的英文文档数量。
该语料库包含两组语言配置:
- 原生文字与罗马化数据:孟加拉语、古吉拉特语、印地语、卡纳达语、马拉雅拉姆语、马拉地语、尼泊尔语、奥里亚语、旁遮普语、泰米尔语、泰卢固语和乌尔都语。
- 原生文字数据:阿萨姆语、博多语、多格拉语、克什米尔语、孔卡尼语、迈蒂利语、曼尼普尔语、梵语、桑塔利语和信德语。
这里,原生文字描述的是书写系统:文本仍然是从英文翻译而来的。罗马化是指用拉丁字母书写的印度语系语言文本,而不是英文翻译。对于十二种双文字语言中的每一种,罗马化仅覆盖已被接受的原生文字翻译的一个子集。
在构建训练混合数据时,这一区分非常重要。原生和罗马化记录提供了不同的文字接触形式,但可以表达相同的底层内容。token 计数描述的是保留的语料库(包括已接受的改写),而不是一次训练运行的 token 预算。计数还取决于所使用的分词器,因此语料库清单和训练 token 计数应分开解读。
从英文源文档到印度语系训练数据
为构建该语料库,我们从 15 个 Nemotron-CC-v2 子集中的文档开始,涵盖网页文本、问答材料、数学、代码以及其他专门内容。我们使用 NeMo Data Designer——NVIDIA 的开源合成数据生成框架——来执行翻译、质量检查和针对性修复。在整个工作流程中,我们保留每个来源标识符,以便开发者可以将输出追溯到其原始文档。这种清晰的来源追溯是让开放数据易于审计和构建的关键因素之一。图 2 展示了十二种语言的工作流程。
图 2. 面向十二种语言的四阶段印度语系合成数据流水线,使用 NeMo Data Designer 和 Gemma-4-31B-it 实现。我们翻译英文文档、评估翻译质量、修复低分输出,并将一部分已接受的翻译转换为拉丁字母。其他十种语言使用下文描述的独立的 Indic Translate 工作流程。
十二语言工作流程
对于这十二种语言,我们进行整篇文档的翻译,以便模型能够利用跨段落、表格和公式的上下文。我们通过在完整文档上比较模型、检查翻译质量和技术内容的保留情况,选定了 Gemma-4-31B-it。我们的提示词会区分需要翻译的散文内容和需要保留的内容,包括代码、公式、URL 和格式。
翻译完成后,我们使用同一模型将每个输出与其英文原文进行对比评估。评分标准借鉴了 Multidimensional Quality Metrics(MQM),这是一个按类型和严重程度对翻译错误进行分类的开放框架,涵盖意义、流畅度、术语、风格和格式。我们只保留得分不低于 75(满分 100)的输出(这是评分标准得分,而非准确率百分比)。对于得分较低的输出,我们利用评估反馈指导修复,然后按照相同阈值重新评估。这一过程共回收了 4384 亿 tokens,涵盖原文字和罗马化数据,已计入语料库总数。人工抽样复核以及刻意引入错误的测试帮助我们发现了遗漏和残留的英文内容,并据此改进了我们的提示词和检查流程。
被接受的原文字翻译也为罗马化数据提供了起点。我们将其中一部分转换为拉丁字母,并将每个结果与其原文字输入进行核对。这将翻译与文字转换分离开来。在我们最初的人工对比中,这种两步方法比直接从英文生成罗马化文本产生了更少的幻觉式添加内容和残留英文。
十种语言的工作流
对于另外十种语言,我们调整了工作流,以解决对比中观察到的长文档质量和文字稳定性问题。我们使用 Indic Translate 进行翻译,这是 Bodhan AI 推出的面向英语和 22 种印度语言的文档级翻译模型;Bodhan AI 是一个孵化于 IIT Madras 的教育 AI 非营利中心。Gemma-4-31B-it 随后将每个译文与其英文原文进行对比评估。对于其中八种语言,我们保留整篇文档的处理方式。对于较长的桑塔利语文档,我们采用重叠窗口翻译再重建文档的方式;对于曼尼普尔语,我们先翻译成孟加拉文字,再转换为其原生文字 Meitei Mayek。这些工作流只保留得分不低于 75(满分 100)的输出,且仅生成原文字数据,不包含基于反馈的重写。
Indic 持续预训练后有哪些变化?
Nemotron 3.5 Super VL 技术报告对比了 Indic 持续预训练(CPT)之前紧邻的检查点与该阶段之后的检查点。配置的预算为 1000 亿训练 tokens,其中 10%(100 亿 tokens)分配给合成与自然 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 排除了奥里亚语,因为评估超出了服务上下文限制。
这些提升支持了合成与自然 Indic 数据相结合的 CPT 配方,而针对其他模型和语言的混合数据选择则有待进一步研究。
配套的印度语言报告针对十二种语言的组合,使用首轮通过筛选的数据,考察了数据源配比、合成数据池规模和文字覆盖情况。对完整语料库(包括恢复的重写数据及其他十种语言)的评估,仍是这些受控研究的后续步骤。
Nemotron 3.5 Super VL 中更广泛的印度语言能力
除了 CPT 阶段的结果,发布版模型与上一代相比表现如何?图 4 对比了 Nemotron 3.5 Super VL 与 Nemotron 3 Super 在印度语言任务表现和语言质量方面的差异。这些结果反映的是发布版模型的完整训练流程,包括印度语言 CPT 和后训练。
Nemotron 3.5 Super VL 在所展示的六项任务基准中有五项得分更高,涵盖知识、推理、数学、代码和翻译。IFEval 1.5 上的指令遵循能力下降了 2.04 分。它还在 IndiVibe 的全部四个维度上都有提升:实用性、流畅性、语言与文字忠实度,以及恰当的详略程度。IndiVibe 是 Sarvam AI 推出的开放基准,包含印度语言的助手风格提示。这些评估共同考察了模型既能做什么,以及它用印度语言交流的能力。
图 4. Nemotron Super 各代模型在印度语言任务表现和语言质量上的对比。左:六项任务基准。右:初步的 IndiVibe 条件偏好得分,并非直接的面对面胜率。标签显示百分点变化,WMT24++ 除外,它使用 chrF 分数。基准和评估细节请参见配套的印度语言技术报告。
开始构建
加载语料库
从你的模型所需的语言和文字入手,查看一个样本,并在训练前审阅数据集卡片和许可证。配置使用语言、文字和区域标签:例如,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)中,翻译器同时担任评判者。保留的文本仍可能包含错误,而十种语言的工作流程需要更广泛的母语使用者验证。Source-ID 检查用于去除处理过程中产生的重复项;它们并非针对相似内容的语义去重。
除语料库之外,位于马德拉斯理工学院的 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、马德拉斯理工学院、AI4Bharat 和 Bodhan AI。我们还要感谢流水线中使用的模型和工具贡献:Google 的 Gemma、Bodhan AI 的 Indic Translate,以及 NeMo Data Designer。更多 NVIDIA 数据资源可在 Nemotron Pre-Training Datasets 集合中获取。
来源:Hugging Face Blog · huggingface.co