Synthetic Data Generation for Financial AI Research with NVIDIA NeMo
https://developer.nvidia.com/blog/synthetic-data-generation-for-financial-ai-research-with-nvidia-nemo/📌 【NVIDIA 技術分享】解決金融資料不均:用 NeMo 打造 50 萬筆高品質合成資料集
TL;DR:利用 NeMo 系列工具透過「生成-去重」迭代迴圈,產出 50 萬筆高多樣性的金融新聞標題集 FinHeadlineMix。
在金融 NLP 的模型微調(fine-tuning)中,工程師常面臨資料不平衡的困境:現實世界的金融新聞大多集中在財報或股價波動,而信用評級變動、產品核准或勞工議題等「稀有事件」的資料量極少,導致模型難以捕捉這些關鍵訊號。
🤔 金融資料的長尾分佈問題
現實中的金融資料分佈極不均勻,導致模型在面對稀有事件時表現不佳。為了填補這些缺口,合成資料(Synthetic Data)成為交易研究、風險建模與監控系統的重要手段,但挑戰在於如何在大規模生成時,仍能維持資料的多樣性並避免重複。
🧩 「生成-去重」的迭代管線設計
NVIDIA 提出一套基於 NeMo 的迭代管線,透過以下三個核心工具協作,在單臺 8-way NVIDIA B200 節點上執行 82 次迭代:
- NVIDIA NeMo Data Designer:負責根據類別權重合成新聞標題,確保不同類別的覆蓋率。
- NVIDIA Nemotron-3-Nano-30B-A3B:作為生成模型,透過 vLLM 部署並使用 4-way tensor parallelism 提升效能。
- NVIDIA NeMo Curator:執行大規模的語義去重(Semantic Deduplication),使用 500 個 K-means 聚類與 90% 的餘弦相似度(cosine similarity)閾值來過濾重複內容。
💡 確保資料多樣性的三大核心機制
為了防止模型陷入重複生成相同模式的陷阱,該工作匯入了三項關鍵機制:
- 全域性語義去重:防止不同批次之間出現重複內容。
- 演進式遠心少樣本選擇:選擇與質心(centroid)最遠的 few-shot 範例,並配合跨迭代的語義過濾,強迫模型探索更多樣的生成方向。
- 動態類別分佈修正:即時調整類別權重,減少常見事件的過度代表,增加稀有事件的比例。
📊 50 萬筆 FinHeadlineMix 的生成結果
經過 82 次迭代,該管線最終產出名為 FinHeadlineMix 的資料集,具體成效如下:
- 規模與多樣性:生成 502,536 筆唯一的新聞標題,涵蓋 13 個不同類別。
- 去重效率:累計去重率約 82%。
- 下游效能:該資料集可用於模型蒸餾(distillation)與分類任務,使精簡的學生模型(student models)在金融 NLP 基準測試中,其 F1 分數能接近教師模型(teacher-level)的表現。
🎯 實務啟示
對於開發垂直領域 LLM 的工程師,這套流程提供了一個可複製的模式:不要一次性大量生成,而應採取「生成 $\rightarrow$ 語義去重 $\rightarrow$ 修正分佈 $\rightarrow$ 再生成」的迭代迴圈。特別是利用「遠心範例選擇」來強迫模型生成邊緣案例(edge cases),是提升模型對稀有事件識別能力的有效手段。
🔗 來源
- 標題:Synthetic Data Generation for Financial AI Research with NVIDIA NeMo
- 作者/機構:Elizabeth Goodman / NVIDIA Developer
- 連結:https://developer.nvidia.com/blog/synthetic-data-generation-for-financial-ai-research-with-nvidia-nemo/
#NVIDIA #NeMo #SyntheticData #FinancialAI #LLM #NLP #DataCurator #ModelDistillation #FinHeadlineMix #MachineLearning
由 google/gemma-4-31b-it:free 自動生成