跳到正文
Hugging Face Blog·· 2 小時前精選AI 評分65

NVIDIA 宣佈 Nemotron-pretraining-Indic-v1 預訓練語料及開源生成流程即將推出,規模約 2.8 trillion tokens

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 trillion tokens 的預訓練語料及 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 list 的 Mitesh Khapra 指出了核心問題:印度語言技術落後於英語,因為「我們沒有足夠的印度語言數據。」我們以更多數據回應這項呼籲,並提供開放的生成方法,讓人能產生更多數據。

語料庫亦考慮到人們的書寫方式。它涵蓋全部 22 種語言的原生文字數據,以及 12 種語言的羅馬字文本,合共涵蓋 34 種語言與文字組合。我們的工作流程結合文件層級翻譯、品質評估和針對性修復,並透過檢查保留方程式、表格和程式碼等內容。這些數據可補足自然撰寫的印度語言文本;後者對本地知識和文化脈絡仍不可或缺。

我們公開生成方法,讓社羣不只能重現這些數據,還能進一步推展這項工作。團隊可直接使用語料庫、調整提示詞和品質檢查,或將自己的來源文件交由流程處理。透過開放數據和生成流程,我們希望讓大規模印度語言數據生成更普及,並讓更多開發者參與打造能力更強、支援各種印度語言的模型。

對 Nemotron 3.5 Super VL 進行持續預訓練時,加入了 100 億個印度語系詞元,這些詞元取自此語料庫中涵蓋 12 種語言的子集,以及自然生成的印度語系文本。我們關於該模型的技術報告詳述了完整內容。我們計劃在未來的 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子集中選取文件,涵蓋網頁文本、問答資料、數學、程式碼及其他專門內容。我們使用 NVIDIA 的開源合成資料生成框架 NeMo Data Designer,進行翻譯、品質檢查及針對性修復。在整個工作流程中,我們保留每個來源識別碼,讓開發者能追溯輸出內容所屬的原始文件。清晰的來源脈絡有助開放數據接受審核,並讓人以此為基礎繼續開發。圖 2 展示了十二種語言的工作流程。

Corpus composition by native-script and romanized token counts. 圖 2. 涵蓋十二種語言的四階段印度語系合成資料流程,使用 NeMo Data Designer 和 Gemma-4-31B-it 實作。我們翻譯英文文件、評估翻譯品質、修復評分偏低的輸出,並將部分已接受的譯文轉換為拉丁字母。其餘十種語言則採用下文所述的另一套 Indic Translate 工作流程。

十二種語言的工作流程

對於這十二種語言,我們會翻譯整份文件,讓模型能運用跨段落、表格及方程式的上下文。我們透過比較各模型處理完整文件的表現,並檢查翻譯品質及技術內容的保留情況,選出 Gemma-4-31B-it。提示詞會區分需要翻譯的正文和需要保留的內容,包括程式碼、方程式、網址及格式。

完成翻譯後,我們會使用同一模型,將每個輸出與其英文來源比較並進行評估。評分量規參考了 Multidimensional Quality Metrics (MQM),這是一個按類型和嚴重程度分類翻譯錯誤的開放框架,涵蓋意思、流暢度、術語、風格和格式。我們只保留量規分數至少達 75 分(滿分 100 分)的輸出;這是量規分數,並非準確率百分比。對於分數較低的輸出,我們會根據評估意見進行修正,再按同一門檻重新評估。這個流程從原生文字和羅馬字轉寫資料中挽回了 438.4 billion tokens,這些資料已計入語料庫總量。抽樣人手審閲及刻意引入錯誤的測試有助找出遺漏和殘留英文,並據此改進提示詞和檢查方式。

通過評估的原生文字譯文也為羅馬字轉寫資料提供了起點。我們將其中一部分轉換成拉丁字母,並逐一對照原生文字輸入進行檢查。這樣便可將翻譯與文字轉換分開。在最初的人手比較中,與直接從英文生成羅馬字文本相比,這種兩步做法產生的幻覺式增補較少,殘留英文也較少。

十種語言的工作流程

對於其餘十種語言,我們調整工作流程,以處理比較中觀察到的長篇文件質素和文字穩定性問題。我們使用 Indic Translate 進行翻譯。這是由 Bodhan AI 開發的文件層級翻譯模型,支援英文和 22 種印度語言;Bodhan AI 是一個由 IIT Madras 孵化、專注教育人工智能的非牟利中心。接着,Gemma-4-31B-it 會將每份譯文與其英文來源比較並進行評估。八種語言沿用整份文件的處理方式。對於較長的 Santali 文件,我們會翻譯彼此重疊的文本區段,再重組文件;對於 Manipuri,我們會先翻譯成孟加拉文字,再轉換成其原生文字 Meitei Mayek。這些工作流程只保留量規分數至少達 75 分(滿分 100 分)的輸出,只產生原生文字資料,不會根據評估意見進行改寫。

Indic 持續預訓練後有何變化?

Nemotron 3.5 Super VL 技術報告比較了 Indic 持續預訓練 (CPT) 階段前一刻和該階段完成後的檢查點。設定的訓練預算為 100 billion training tokens,其中 10%(10 billion tokens)分配給合成和自然 Indic 文本的混合資料。其餘 90% 則維持此前訓練混合資料的相對比例。

在報告列出的五項 Indic 知識和推理基準測試中,分數均有所提升:MILU、Indic MMLU-Pro、Indic ARC-Challenge、Indic ARC-Easy 和 Indic GSM8K。

figure3-cpt-before-after@2x 圖 3. Nemotron 3.5 Super VL 在 Indic CPT 階段前後的表現。提升幅度介乎 4.98 至 9.82 個百分點。這項比較呈現的是結合合成和自然 Indic 資料的訓練階段所帶來的變化,而非單獨衡量合成語料的貢獻。各基準測試涵蓋的語言有所不同;這些是訓練階段前後的檢查點,並非對比最終模型版本。

來源:Nemotron 3.5 Super VL 技術報告,表 2。由於評估超出服務上下文長度上限,GSM8K 不包括 Odia。

這些提升支持結合合成和自然 Indic 資料的 CPT 做法;至於其他模型和語言應採用哪種資料混合方式,則有待進一步研究。

配套的印度語言報告以首輪篩選後獲接納的數據,檢視來源混合組成、合成數據池規模,以及文字系統涵蓋範圍,涵蓋 12 種語言。至於評估完整語料庫(包括修復後的改寫數據及另外十種語言),則是這些受控研究的下一步。

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 推出的開放基準測試,採用印度語言中的助理式提示詞。這些評估合起來,既檢視模型能做甚麼,也檢視它以印度語言溝通的能力。

figure4-super-generations-HD 圖 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 數據集。若要建立針對印度的合成數據,可在 NeMo Data Designer 中使用 Nemotron-Personas-India 作為初始資料;這是一組以印度現實世界分佈為依據的英語和印地語合成人物設定。

調整生成方案

開源的 Nemotron Bharat translation plugin for NeMo Data Designer 提供翻譯和評估提示詞、可選的回饋式改寫、文件視窗化,以及文字系統重新映射支援。參閲其 設定參考,以選擇模型和語言、按所屬領域調整提示詞,以及設定改寫參數。隨附的 開發者説明介紹了工作流程及工程設計取捨。

先以少量自己的來源文件作測試。檢查翻譯質素,以及程式碼、數學內容和格式是否得以保留;然後在擴大規模前,與母語審閲者一同改進提示詞和檢查項目。生成和語料庫接納應分開處理:外掛會提供候選內容和評分,而哪些記錄會納入訓練語料庫,則由你的篩選政策決定。

範圍及限制

翻譯能讓更多人接觸來源材料,但不能取代原以印度語言撰寫的文本,也不能保證涵蓋當地知識和文化。我們建議將此語料庫與來源合適的自然印度語言文本結合,並按預定用途評估所得的混合資料。

質素評估主要以自動方式進行,並輔以抽樣人工審閲;不同語言的審閲覆蓋範圍各異。在十二種語言的工作流程(圖 2)中,翻譯器亦充當評審器。保留的文本仍可能含有錯誤,而十種語言的工作流程則需要更廣泛的母語者驗證。來源 ID 檢查會移除處理過程中產生的重複項,但不會對相似內容進行語義去重。

AI4Bharat at IIT Madras 在 NVIDIA 支持下,正建立 Indic-LLM-Eval-Suite。這是一套開放且持續發展的基準測試,用於評估印度語言模型的能力,協助模型建構者評估任務表現和語言質素。另請參閲配套網誌,更好的模型需要更好的基準測試:介紹 Indic-LLM-Eval-Suite。

探索不同語言的設定、測試訓練資料組合,或將這套開放方案調整至新的領域。分享各語言的結果及生成工作流程的改進成果,有助社羣在此工作的基礎上繼續發展。

延伸閲讀及鳴謝

配套報告包括[*擴展印度語言大型語言模型的合成預訓練資料與評估*](Scaling Synthetic Pre-training Data and Evaluation for Indic LLMs.pdf及Nemotron 3.5 Super VL and Lightning 技術報告,提供語料庫統計資料、生成方法、實驗及評估詳情。評估是這項工作的另一部分。關於基準測試,請參閲 AI4Bharat 和 NVIDIA 的配套網誌:更好的模型需要更好的基準測試:介紹 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 找到。

來源:Hugging Face Blog · huggingface.co