跳到正文
Hugging Face Blog·· 3 小时前精选AI 评分59

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,覆盖 22 种印度语言、约 2.8 万亿 token,并同步开源用于生成该语料的 GPU 加速数据流水线。

推荐理由

NVIDIA 与 AI4Bharat 公开了 2.8 万亿 token 的印度语言预训练语料及生成流水线,读者可据此了解多语言数据构建的完整配方。

正文 · 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,包含横跨 22 种印度语言的约 2.8 万亿个 token,并将很快与用于创建它的开放、GPU 加速的数据生成流水线一同发布。这 22 种语言是印度宪法所列的语言:它们是 97% 印度人的母语,按 2011 年人口普查计算,涉及近 12 亿公民。本次发布由 NVIDIA 与印度顶尖工程学院 IIT Madras 及其 AI4Bharat 实验室共同开发,为模型构建者提供了用于印度语言预训练的重要新资源。该流水线完整记录了生成配方,包括提示词、LLM 工作流和质量检查,因此开发者可以将其适配到自己的源材料上,并根据需要生成更多数据。

AI4Bharat 是 IIT Madras 的印度语言研究实验室,致力于为印度语言构建开源数据集和模型。其资源,例如 Sangraha——一个面向 22 种印度语言的开放预训练语料库——为开放的印度语言模型研究奠定了基础。我们联合开源的发布,代表着社区可用的开放合成印度语言训练数据的一次大幅扩展。它将精心筛选的英语材料(包括数学、代码和问答内容)广泛转化为印度语言,为团队提供更多训练材料,以构建能够用这些语言解释技术概念、推演问题并回答问题的模型。每条记录都可追溯到经过筛选的源文档,且每个输出都会与其输入进行核对,因此合成文本始终以真实信息为依据。

AI4Bharat 负责人 Mitesh Khapra 曾入选 2025 TIME100 AI 榜单,他指出了核心问题:印度语言技术落后于英语,是因为“我们没有足够的印度语言数据。”我们正以更多数据以及一套用于生成更多数据的开放配方来回应这一呼吁。

该语料库还考虑了人们的书写方式。它包含全部 22 种语言的本地文字数据,以及 12 种语言的罗马化文本,覆盖 34 种语言-文字配置。我们的工作流结合了文档级翻译、质量评估和针对性修复,并通过检查来保留公式、表格和代码等内容。这些数据补充了自然撰写的印度语言文本,后者对于本地知识和文化语境仍然至关重要。

我们分享开放生成配方,以便社区不仅能复现这些数据,还能将这项工作推进得更远。团队可以直接使用该语料库,调整提示词和质量检查,或将自有源文档引入该工作流。通过同时开放数据和流程,我们旨在让大规模印度语言数据生成更加可及,并让更多开发者能够为打造更强大的印度语言模型作出贡献。

对 Nemotron 3.5 Super VL 的持续预训练新增了 100 亿个印度语言 token,取自该语料库中涵盖十二种语言的子集以及自然印度语言文本。我们关于该模型的技术报告涵盖了完整过程。我们计划在未来的 Nemotron 模型中基于该语料库继续构建。

语料库中包含什么?

Corpus composition by native-script and romanized token counts. 图 1。该语料库包含 2,601.0 亿个原生文字 token 和 224.6 亿个罗马化 token。计数使用 Gemma-4 分词器。文档记录包含共享来源的翻译和文字变体;它们不是唯一英文文档的计数。

该语料库有两组语言配置:

  • 原生文字和罗马化数据:孟加拉语、古吉拉特语、印地语、卡纳达语、马拉雅拉姆语、马拉地语、尼泊尔语、奥里亚语、旁遮普语、泰米尔语、泰卢固语和乌尔都语。
  • 原生文字数据:阿萨姆语、博多语、多格拉语、克什米尔语、孔卡尼语、迈蒂利语、曼尼普尔语、梵语、桑塔利语和信德语。

在这里,原生文字描述的是书写系统:文本仍是从英文翻译而来。罗马化指用拉丁字母书写的印度语言文本,而非英文翻译。对于这十二种双文字语言中的每一种,罗马化都覆盖了已接受的原生文字翻译的一个子集。

在构建训练混合数据时,这一区别很重要。原生文字和罗马化记录提供了不同的文字暴露,但可以表达相同的底层内容。token 计数描述的是保留的语料库,包括已接受的改写,而非某次训练运行的 token 预算。计数还取决于所使用的分词器,因此语料库清单和训练 token 计数应分开解读。

从英文源文档到印度语言训练数据

为了构建该语料库,我们从 15 个 Nemotron-CC-v2 子集的文档开始,涵盖网络文本、问答材料、数学、代码和其他专业内容。我们使用 NeMo Data Designer——NVIDIA 用于生成合成数据的开源框架——来运行翻译、质量检查和针对性修复。在整个工作流程中,我们保留每个源标识符,以便开发者可以将输出追溯到其原始文档。像这样清晰的来源信息,正是开放数据便于审计和在此基础上构建的原因之一。图 2 展示了十二种语言的工作流程。

Corpus composition by native-script and romanized token counts. 图 2。针对十二种语言的四阶段印度语言合成数据流水线,使用 NeMo Data Designer 和 Gemma-4-31B-it 实现。我们翻译英文文档、评估翻译质量、修复低分输出,并将一部分已接受的翻译转换为拉丁字母。其他十种语言使用下文所述的单独 Indic Translate 工作流程。

十二种语言的工作流程

对于这十二种语言,我们完整翻译文档,以便模型能够利用跨段落、表格和公式的上下文。我们通过比较模型在完整文档上的表现、检查翻译质量和技术内容的保留情况,选择了 Gemma-4-31B-it。我们的提示词区分了需要翻译的散文和需要保留的内容,包括代码、公式、URL 和格式。

翻译完成后,我们使用同一模型将每个输出与其英文原文进行比对评估。评分标准参考了多维质量指标(MQM)——一个按错误类型和严重程度对翻译错误进行分类的开放框架,涵盖含义、流畅度、术语、风格和格式。我们只保留得分至少为 100 分中 75 分的输出(这是评分标准得分,不是准确率百分比)。对于得分较低的输出,我们利用评估反馈来指导修复,然后按同一阈值重新评估。这一流程在原生文字和罗马化数据中回收了 4384 亿 token,已计入语料库总量。抽样人工审核以及故意引入错误的测试帮助识别了遗漏和残留英文,为改进我们的提示词和检查提供了依据。

被接受的原生文字翻译也为罗马化数据提供了起点。我们将其中一部分转换为拉丁字母,并将每个结果与其原生文字输入进行核对。这样就把翻译与文字转换分离开来。在我们最初的人工对比中,这种两步法相比直接从英文生成罗马化文本,产生的幻觉性增补更少,残留英文也更少。

十语言工作流

对于另外十种语言,我们调整了工作流,以解决在对比中观察到的长文档质量和文字稳定性问题。我们使用 Indic Translate 进行翻译,这是来自 Bodhan AI 的文档级翻译模型,支持英文和 22 种印度语言;Bodhan AI 是一家非营利性 AI 教育中心,孵化于 IIT Madras。随后由 Gemma-4-31B-it 将每个译文与其英文原文进行比对评估。对于其中八种语言,我们保留整篇文档的处理方式。对于较长的 Santali 文档,我们翻译重叠窗口并重建文档;对于 Manipuri,我们先翻译成孟加拉文,再转换为其原生文字 Meitei Mayek。这些工作流保留得分至少为 100 分中 75 分的输出,并且只生成原生文字数据,不进行基于反馈的重写。

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。

figure3-cpt-before-after@2x 图 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 推出的印度语言助手风格提示词开放基准。这些评估共同考察了模型能做什么,以及它在印度语言中的沟通效果如何。

figure4-super-generations-HD 图 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 马德里的 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 马德里、AI4Bharat 和 Bodhan AI。我们还感谢流程中使用的模型和工具贡献:Google 的 Gemma、Bodhan AI 的 Indic Translate 和 NeMo Data Designer。更多 NVIDIA 数据资源可在 Nemotron Pre-Training Datasets collection 中获取。

来源:Hugging Face Blog · huggingface.co