大數(shù)據(jù)、新算法和快速計算是使現(xiàn)代 AI 革命成為可能的三個主要因素。然而,數(shù)據(jù)給企業(yè)帶來了許多挑戰(zhàn):數(shù)據(jù)標(biāo)記困難、數(shù)據(jù)治理效率低下、數(shù)據(jù)可用性有限、數(shù)據(jù)隱私等。
綜合生成的數(shù)據(jù)是解決這些挑戰(zhàn)的潛在解決方案,因為它通過從模型中采樣來生成數(shù)據(jù)點(diǎn)。連續(xù)采樣可以生成無限多的數(shù)據(jù)點(diǎn),包括標(biāo)簽。這允許跨團(tuán)隊或外部共享數(shù)據(jù)。
生成合成數(shù)據(jù)還可以在不影響質(zhì)量或真實性的情況下提供一定程度的數(shù)據(jù)隱私。成功的合成數(shù)據(jù)生成涉及在保持隱私的同時捕獲分布,并有條件地生成新數(shù)據(jù),然后這些數(shù)據(jù)可用于建立更穩(wěn)健的模型或用于時間序列預(yù)測。
在這篇文章中,我們以 NVIDIA NeMo 為例,解釋如何用 transformer 模型人工生成合成數(shù)據(jù)。我們解釋了如何在 machine learning 算法中使用合成生成的數(shù)據(jù)作為真實數(shù)據(jù)的有效替代品,以保護(hù)用戶隱私,同時做出準(zhǔn)確的預(yù)測。
變壓器:更好的合成數(shù)據(jù)發(fā)生器
Deep learning 生成模型自然適合對復(fù)雜的現(xiàn)實世界數(shù)據(jù)建模。兩種流行的生成模型在過去取得了一些成功:可變自動編碼器( VAE )和生成對抗網(wǎng)絡(luò)( GAN )。
然而,合成數(shù)據(jù)生成的 VAE 和 GAN 模型存在已知問題:
GAN 模型中的 模式崩潰問題 會導(dǎo)致生成的數(shù)據(jù)錯過訓(xùn)練數(shù)據(jù)分布中的某些模式。
由于非自回歸損失, VAE 模型難以生成尖銳的數(shù)據(jù)點(diǎn)。
Transformer Models 最近在自然語言處理( NLP )領(lǐng)域取得了巨大的成功。 transformer 模型的自我注意編碼和解碼架構(gòu)已被證明在建模數(shù)據(jù)分布方面是準(zhǔn)確的,并且可擴(kuò)展到更大的數(shù)據(jù)集。例如, NVIDIA Megatron-Turing NLG 模型使用 530B 參數(shù)獲得了優(yōu)異的結(jié)果。
GPT
OpenAI’s GPT3 使用 transformer 模型的解碼器部分,具有 175B 參數(shù)。 GPT3 已廣泛應(yīng)用于多個行業(yè)和領(lǐng)域,從生產(chǎn)力和教育到創(chuàng)意和游戲。
GPT 模型被證明是一種優(yōu)越的生成模型。如你所知,任何聯(lián)合概率分布都可以根據(jù) 概率鏈規(guī)則 分解成一系列條件概率分布的乘積。 GPT 自回歸損失直接模擬圖 1 所示的數(shù)據(jù)聯(lián)合概率分布。
圖 1 GPT 模型訓(xùn)練
在圖 1 中, GPT 模型訓(xùn)練使用自回歸損失。它與概率鏈規(guī)則有一對一的映射。 GPT 直接建模數(shù)據(jù)的聯(lián)合概率分布。
由于表格數(shù)據(jù)由不同類型的數(shù)據(jù)(如行或列)組成, GPT 可以理解跨多個表格行和列的聯(lián)合數(shù)據(jù)分布,并生成合成數(shù)據(jù),就好像它是 NLP 文本數(shù)據(jù)一樣。我們的 experiments 表明, GPT 模型確實可以生成更高質(zhì)量的表格合成數(shù)據(jù)。
更高質(zhì)量的表格數(shù)據(jù)標(biāo)記器
盡管 GPT 具有優(yōu)越性,但使用 GPT 對表格數(shù)據(jù)建模仍存在許多挑戰(zhàn): GPT 模型的數(shù)據(jù)輸入是令牌 ID 序列。對于 NLP 數(shù)據(jù)集,可以使用 byte-pair encoding ( BPE )標(biāo)記器將文本數(shù)據(jù)轉(zhuǎn)換為標(biāo)記 ID 序列。
對于表格數(shù)據(jù)集,使用通用 GPT BPE 標(biāo)記器 是很自然的;然而,這種方法存在一些問題。
首先,當(dāng) GPT BPE 標(biāo)記器將表格數(shù)據(jù)拆分為標(biāo)記時,同一列不同行的標(biāo)記數(shù)通常不是固定的,因為標(biāo)記數(shù)是由單個子項的出現(xiàn)頻率決定的。這意味著,如果使用普通 NLP 標(biāo)記器,表中的列信息將丟失。
NLP 標(biāo)記器的另一個問題是,列中的長字符串將由大量標(biāo)記組成??紤]到 GPT 對令牌序列建模的能力有限,這是一種浪費(fèi)。例如,商戶名稱 三井工程造船公司 需要 7 個令牌來使用 BPE 令牌化器對其進(jìn)行編碼([448969019424122216656168941766])。
正如 TabFormer paper 中所討論的,一個可行的解決方案是為考慮表的結(jié)構(gòu)信息的表格數(shù)據(jù)構(gòu)建一個專門的標(biāo)記器。 TabFormer 標(biāo)記化器為每列使用一個標(biāo)記,如果該列的標(biāo)記數(shù)較小,則可能導(dǎo)致精度損失,如果標(biāo)記數(shù)過大,則可能導(dǎo)致泛化能力較弱。
我們通過使用多個標(biāo)記對列進(jìn)行編碼來改進(jìn)它。
圖 2 將浮點(diǎn)數(shù)轉(zhuǎn)換為令牌 ID 序列
圖 2 顯示了將浮點(diǎn)數(shù)轉(zhuǎn)換為令牌 ID 序列的步驟。首先,我們可逆地將浮點(diǎn)數(shù)轉(zhuǎn)換為正整數(shù)。然后,它被轉(zhuǎn)換成一個具有位置基 B 的數(shù)字,其中 B 是一個超參數(shù)。基 B 號越大,表示該數(shù)字所需的令牌就越少。
然而,更大的基數(shù) B 犧牲了新數(shù)字的通用性。在最后一步中,數(shù)字被映射到唯一的令牌 ID 。要將令牌 ID 轉(zhuǎn)換為浮點(diǎn)數(shù),請按相反順序運(yùn)行以下步驟。然后,浮點(diǎn)數(shù)解碼精度由令牌的數(shù)量和位置基的選擇決定 B 。
基于 NeMo 框架的伸縮模型訓(xùn)練
NeMo 是用于培訓(xùn) 對話人工智能 模型的框架。在 NeMo 存儲庫內(nèi)的 released code 中,我們的表格數(shù)據(jù)標(biāo)記器支持整數(shù)和分類數(shù)據(jù),處理 NaN 值,并支持不同的標(biāo)量轉(zhuǎn)換以最小化數(shù)字之間的差異。有關(guān)更多信息,請參閱我們的 源代碼實現(xiàn) 。
您可以使用特殊的表格數(shù)據(jù)標(biāo)記器來訓(xùn)練任何大小的表格合成數(shù)據(jù)生成 GPT 模型。由于內(nèi)存限制,大型模型可能難以訓(xùn)練。 NeMo megatron 是一個用于在 NeMo 中訓(xùn)練大型語言模型的工具包,并提供 張量模型并行和管道模型并行 和 張量模型并行和管道模型并行 。
這使得 transformer 模型的訓(xùn)練具有數(shù)十億個參數(shù)。除了模型并行性之外,您還可以在培訓(xùn)期間應(yīng)用數(shù)據(jù)并行性,以充分利用集群中的所有 GPU 。根據(jù) OpenAI 的 自然語言的尺度律 和 深度學(xué)習(xí)模型的過度參數(shù)化理論 ,考慮到訓(xùn)練數(shù)據(jù)的大小,建議訓(xùn)練大型模型以獲得合理的驗證損失。
將 GPT 模型應(yīng)用于實際應(yīng)用
在我們最近的 GTC 談話 ,我們表明,經(jīng)過訓(xùn)練的大型 GPT 模型可以生成高質(zhì)量的合成數(shù)據(jù)。如果我們繼續(xù)對經(jīng)過訓(xùn)練的表格 GPT 模型進(jìn)行采樣,它可以產(chǎn)生無限多個數(shù)據(jù)點(diǎn),這些數(shù)據(jù)點(diǎn)都像原始數(shù)據(jù)一樣遵循聯(lián)合分布。生成的合成數(shù)據(jù)提供了與原始數(shù)據(jù)相同的分析見解,但沒有透露個人的私人信息。這使得安全的數(shù)據(jù)共享成為可能。
此外,如果您根據(jù)過去的數(shù)據(jù)對生成模型進(jìn)行調(diào)整,以生成未來的合成數(shù)據(jù),那么該模型實際上是在預(yù)測未來。這對金融服務(wù)行業(yè)中處理金融時間序列數(shù)據(jù)的客戶很有吸引力。 與 Cohen & Steers 合作 ,我們實施了一個表格 GPT 模型,以預(yù)測經(jīng)濟(jì)和市場指標(biāo),包括通貨膨脹、波動性和股票市場,并獲得高質(zhì)量的結(jié)果。
彭博社在 2022 年 GTC 上介紹了他們?nèi)绾螒?yīng)用我們提出的合成數(shù)據(jù)方法來分析信用卡交易數(shù)據(jù)的模式,同時保護(hù)用戶數(shù)據(jù)隱私。
運(yùn)用你的知識
在本文中,我們介紹了使用 NeMo 生成合成表格數(shù)據(jù)的想法,并展示了如何將其用于解決實際問題。
關(guān)于作者
Yi Dong 是 NVIDIA 的深度學(xué)習(xí)解決方案架構(gòu)師,負(fù)責(zé)提供金融服務(wù)業(yè)人工智能解決方案。易建聯(lián)獲得了博士學(xué)位。來自約翰·霍普金斯大學(xué)醫(yī)學(xué)院,研究計算神經(jīng)科學(xué)。易在計算機(jī)軟件工程、機(jī)器學(xué)習(xí)和金融領(lǐng)域擁有 10 年的工作經(jīng)驗。易建聯(lián)喜歡閱讀深度學(xué)習(xí)的最新進(jìn)展,并將其應(yīng)用于解決財務(wù)問題。
Emanuel Scoullos 是 NVIDIA 金融服務(wù)和技術(shù)團(tuán)隊的數(shù)據(jù)科學(xué)家,他專注于 FSI 內(nèi)的 GPU 應(yīng)用。此前,他在反洗錢領(lǐng)域的一家初創(chuàng)公司擔(dān)任數(shù)據(jù)科學(xué)家,應(yīng)用數(shù)據(jù)科學(xué)、分析和工程技術(shù)構(gòu)建機(jī)器學(xué)習(xí)管道。他獲得了博士學(xué)位。普林斯頓大學(xué)化學(xué)工程碩士和羅格斯大學(xué)化學(xué)工程學(xué)士學(xué)位。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5063瀏覽量
103442 -
gpu
+關(guān)注
關(guān)注
28文章
4764瀏覽量
129172 -
人工智能
+關(guān)注
關(guān)注
1793文章
47539瀏覽量
239387
發(fā)布評論請先 登錄
相關(guān)推薦
評論