0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用語言模型技術(shù)創(chuàng)作人工智能音樂

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-10-11 09:32 ? 次閱讀

諸如 NVIDIA Megatron LM 和 OpenAI GPT-2 和 GPT-3 等語言模型已被用于提高人類生產(chǎn)力和創(chuàng)造力。具體而言,這些模型已被用作編寫、編程和繪制的強(qiáng)大工具。相同的架構(gòu)可以用于音樂創(chuàng)作。

在這些領(lǐng)域中使用語言模型需要大型數(shù)據(jù)集。從 50GB 的未壓縮文本文件開始生成語言并不奇怪。這意味著需要 GPU 計算日志來有效地訓(xùn)練模型,以進(jìn)行快速開發(fā)、原型制作和迭代。

這篇文章介紹了在人工智能音樂領(lǐng)域使用 NVIDIA DGX-2 站臺 DGX-2 極大地促進(jìn)了數(shù)據(jù)預(yù)處理和訓(xùn)練語言模型的進(jìn)步。

人工智能音樂數(shù)據(jù)集

計算音樂數(shù)據(jù)集有兩大類。一種方法涉及對表示為純音頻( WAV 文件或 MP3 )的音樂進(jìn)行訓(xùn)練。第二種方法不適用于純音頻。相反,您可以將任何類似于樂譜的內(nèi)容映射到標(biāo)記表示。

通常,這需要標(biāo)記哪個音符開始( C 、 D 、 E 、 F 、 G ),經(jīng)過多少時間(例如四分之一音符或八分之一音符),以及哪個音符結(jié)束。在研究和應(yīng)用中, MIDI 文件已被證明是豐富的音樂素材來源。 MIDI 標(biāo)準(zhǔn)被設(shè)計用于電子存儲音樂信息。

這些實驗使用了幾組 MIDI 文件,包括:

JS Fake Chorales Dataset 有 500 首 J.S.巴赫風(fēng)格的假合唱

運(yùn)行 MIDI 數(shù)據(jù)庫 以及其干凈的子集(分別為 176K 和 15K MIDI 文件),混合了各種類型和風(fēng)格

MetaMIDI 數(shù)據(jù)集 具有 463K MIDI 文件,同樣具有不同的類型和風(fēng)格

MIDI 格式是非人類可讀的音樂表示,為了訓(xùn)練因果語言模型,必須將其映射到可讀的標(biāo)記表示。對于此表示,我們從 mmmtrack 編碼 。

這種編碼將音樂片段表示為層次結(jié)構(gòu)。一段音樂由不同樂器的不同曲目組成:例如鼓、吉他、貝司和鋼琴。每個軌道由幾個條組成( 4 、 8 或 16 條,取決于使用情況)。每個條都包含一系列音符開啟、時間增量和音符關(guān)閉事件。盡管這種層次結(jié)構(gòu)可以被視為一棵樹,但可以將所有內(nèi)容編碼為一個線性序列,使其成為僅用于解碼器的語言模型的理想表示。

下面的例子是一首四部分的合唱,以鋼琴卷的形式呈現(xiàn)。合唱團(tuán)有四種聲音:女高音、中音、男高音和低音。女高音和女低音是女聲,男高音和男低音是男聲。通常,四種聲音同時演唱,但音調(diào)不同。

圖 1 顯示了帶有音調(diào)顏色編碼的語音。女高音為綠色,中音為橙色,男高音為藍(lán)色,低音為紅色。您可以將這些具有時間和音調(diào)維度的音樂事件編碼為一系列符號。

pYYBAGNEx66AEXtkAAGkbp3xBJk628.png

圖 1.使用音高顏色編碼可視化生成的音樂標(biāo)記示例

在 mmmtrack 編碼之后,低音部分將映射到以下令牌表示:

PIECE_START TRACK_START INST=BASS BAR_START NOTE_ON=61 TIME_DELTA=4 NOTE_OFF=61 NOTE_ON=59 TIME_DELTA=2 NOTE_OFF=59 NOTE_ON=58 TIME_DELTA=2 NOTE_OFF=58 NOTE_ON=56 TIME_DELTA=4 NOTE_OFF=56 NOTE_ON=54 TIME_DELTA=4 NOTE_OFF=54 BAR_END BAR_START NOTE_ON=59 TIME_DELTA=2 NOTE_OFF=59 NOTE_ON=58 TIME_DELTA=2 NOTE_OFF=58 NOTE_ON=56 TIME_DELTA=4 NOTE_OFF=56 NOTE_ON=58 TIME_DELTA=4 NOTE_OFF=58 NOTE_ON=59 TIME_DELTA=4 NOTE_OFF=59 BAR_END BAR_START NOTE_ON=58 TIME_DELTA=4 NOTE_OFF=58 NOTE_ON=59 TIME_DELTA=2 NOTE_OFF=59 NOTE_ON=61 TIME_DELTA=2 NOTE_OFF=61 NOTE_ON=63 TIME_DELTA=2 NOTE_OFF=63 NOTE_ON=52 TIME_DELTA=2 NOTE_OFF=52 NOTE_ON=54 TIME_DELTA=4 NOTE_OFF=54 BAR_END BAR_START NOTE_ON=47 TIME_DELTA=4 NOTE_OFF=47 NOTE_ON=49 TIME_DELTA=2 NOTE_OFF=49 NOTE_ON=51 TIME_DELTA=2 NOTE_OFF=51 NOTE_ON=52 TIME_DELTA=2 NOTE_OFF=52 NOTE_ON=54 TIME_DELTA=2 NOTE_OFF=54 NOTE_ON=56 TIME_DELTA=4 NOTE_OFF=56 BAR_END TRACK_END TRACK_START INST=TENOR

只要稍加練習(xí),人類就能閱讀和理解這種表示。表示以PIECE_START開始,表示一段音樂的開始。TRACK_START表示音軌(或樂器或語音)的開始,而TRACK_END表示音尾。INST=BASS標(biāo)記表示此曲目包含低音。其他聲音以相同的方式表示。BAR_START和BAR_END分別表示條形圖的開始和結(jié)束。NOTE_ON=61是音調(diào)為 61 的音符的開頭。

在鋼琴上,這將是音符 C # 5 。TIME_DELTA=4意味著將經(jīng)過四個十六分音符的持續(xù)時間。那將是一張四分之一的鈔票。之后,音符將結(jié)束,由NOTE_OFF=61表示。等等等等。在這一點上,這種記法也允許復(fù)調(diào)。幾個音軌將同時發(fā)出音符,每個音軌可以有平行的音符。這使得編碼具有通用性。

每段音樂的小節(jié)數(shù)不同。很可能對整個歌曲進(jìn)行編碼將需要較長的序列長度,從而使相應(yīng) transformer 的訓(xùn)練在計算上非常昂貴。這些實驗將大多數(shù)數(shù)據(jù)集編碼為四條,少數(shù)編碼為八條。 16 巴的實驗正在進(jìn)行中。此外,僅使用 4 / 4 計時表中的音樂。這涵蓋了西方音樂的大部分。其他節(jié)拍,如 3 / 4 (華爾茲)可以作為未來工作的主題。

這一系列不同的實驗將許多 MIDI 數(shù)據(jù)集映射到所描述的令牌格式。整個過程中使用了相同的預(yù)處理器。一旦預(yù)處理器處理小數(shù)據(jù)集,它立即處理大數(shù)據(jù)集。

處理時間取決于要編碼的 MIDI 文件的數(shù)量,從幾分鐘到幾小時不等。 DGX-2 在所有 96 CPU 上并行運(yùn)行,最長的預(yù)處理時間為 30 小時。據(jù)估計,這將需要在最先進(jìn)的 MacBook Pro 上進(jìn)行大約 10-14 天的處理。

poYBAGNEx6-AbrE_AAJZ5Khy28c319.png

圖 2.用于訓(xùn)練 GPT 模型的音樂數(shù)據(jù)集

對 MIDI 文件的數(shù)據(jù)集進(jìn)行編碼將產(chǎn)生令牌文件的集合。這些標(biāo)記文件的大小取決于 MIDI 文件的數(shù)量和條形圖的數(shù)量??紤]一些實驗數(shù)據(jù)集及其編碼數(shù)據(jù)集大?。?/p>

JS Fake Chorales 數(shù)據(jù)集: 14 MB ,每個樣本有四個條

Lakh MIDI 數(shù)據(jù)集: 72 GB ,其干凈子集為 19 GB ,每個樣本有四個小節(jié)

MetaMIDI 數(shù)據(jù)集:每個樣本 130 GB , 4 個小節(jié), 230 GB , 8 個小節(jié)

你可以想象,在 14 MB 的 JS 假合唱團(tuán)上訓(xùn)練只需要幾個小時。在 130 GB 的 MetaMIDI 數(shù)據(jù)集上進(jìn)行訓(xùn)練需要很多天。這些實驗的訓(xùn)練持續(xù)了 10 至 15 天。

模型訓(xùn)練

許多模型使用 HuggingFace GPT-2 實現(xiàn)進(jìn)行了訓(xùn)練。一些模型在 GPT-2 模式下使用 NVIDIA Megatron LM 進(jìn)行了訓(xùn)練。

使用 HuggingFace 進(jìn)行的訓(xùn)練歸結(jié)為將數(shù)據(jù)集上傳到 DGX-2 ,然后運(yùn)行包含所有功能的訓(xùn)練腳本,包括模型和訓(xùn)練參數(shù)。使用了相同的腳本,只是對所有數(shù)據(jù)集進(jìn)行了一些更改。這只是規(guī)模問題。

對于Megatron LM 來說,環(huán)境設(shè)置就像拉動和運(yùn)行 NGC 一樣簡單 PyTorch Docker 容器 ,然后通過 ssh 隧道進(jìn)入 DGX-2 機(jī)器,立即在瀏覽器中使用 Jupyter 筆記本。

大多數(shù)實驗使用相同的 GPT-2 架構(gòu):六個解碼器塊和八個注意頭;嵌入大小為 512 ,序列長度為 2048 。雖然這絕對不是一個大語言模型( LLM ),它可以有大約 100 個解碼器塊,但主觀評估表明,對于人工智能音樂來說,這種架構(gòu)工作起來很有魅力。

使用 NVIDIA DGX-2 在快速迭代中確實起到了作用。在單個 GPU 上訓(xùn)練多天的數(shù)據(jù)集,在 DGX-2 上只訓(xùn)練幾個小時。在單個 GPP 上訓(xùn)練數(shù)月的數(shù)據(jù)集在 DGX-2 中最多兩周后完成訓(xùn)練。特別是對于數(shù)據(jù)集< 25 GB 的實驗,模型收斂非???。

一些數(shù)據(jù)集的培訓(xùn)時間如下:

10 個時代和大約 1.5 萬首歌曲的 10 萬首 MIDI Clean 數(shù)據(jù)集耗時 15 小時

10 個時代和大約 175K 首歌曲的 Lakh MIDI 數(shù)據(jù)集耗時 130 小時

MetaMIDI 數(shù)據(jù)集歷時 290 小時,涵蓋了 9 個時代和大約 40 萬首歌曲

請注意, JS Fake Chorales 數(shù)據(jù)集是較早訓(xùn)練的,而不是在 DGX-2 上。由于其體積非常小,因此不需要使用 multi- GPU 設(shè)置。它甚至可以在 MacBook Pro 上過夜訓(xùn)練。

NVIDIA DGX-2

本節(jié)詳細(xì)介紹了 NVIDIA DGX-2 規(guī)范。如上所述,該平臺在加速數(shù)據(jù)集預(yù)處理和訓(xùn)練語言模型方面都非常有效。這一部分將是一個令人愉快的技術(shù)部分。

pYYBAGNEx7CAa8nBAAIODuG_kQU972.png

圖 3.DGX-2 站

NVIDIA DGX-2 是一個功能強(qiáng)大的系統(tǒng),具有 16 個完全連接的 Tesla V100 32 GB GPU ,使用 NVSwitch 。它能夠提供 2.4 TB /秒的二等分帶寬。 DGX-2 專為需要性能和可擴(kuò)展性的人工智能研究人員和數(shù)據(jù)科學(xué)家設(shè)計。

對于 transformer 型號, NVIDIA DGX-2 能夠以混合精度提供敢達(dá) 517227 個令牌/秒的吞吐量,這使其特別強(qiáng)大。

pYYBAGNEx7GAInZpAABzhawqBIc067.png

表 1.多 – GPU 性能表e對于 DGX-2

軟件框架: NVIDIA Megatron LM

要充分利用強(qiáng)大的計算功能,您需要穩(wěn)定和優(yōu)化的軟件。使用 NVIDIA Megatron LM 等性能優(yōu)化框架,隨著 GPT 模型尺寸的縮放,性能幾乎呈線性縮放。有關(guān)相關(guān)信息,請參見 Megatron LM :使用模型并行性訓(xùn)練數(shù)十億參數(shù)語言模型 。

通過在單個 NVIDIA V100 32 GB GPU 上訓(xùn)練 12 億個參數(shù)的模型來實現(xiàn)基線,該 GPU 支持 39 萬億次浮點運(yùn)算。這是 DGX-2H 服務(wù)器中配置的單個 GPU 的理論峰值觸發(fā)器的 30% ,因此是一個強(qiáng)基線。

將模型擴(kuò)展到 512 GPU 上的 83 億個參數(shù),在整個應(yīng)用程序中, 8 路模型并行度達(dá)到每秒 15.1 萬億次。與單一 GPU 情況相比,這是 76% 的縮放效率。

poYBAGNEx7OAZsHQAAMLEW8H8t0414.png

圖 4.使用 NVIDIA Megatron LM 擴(kuò)展到數(shù)千個 GPU ,而不損失性能

通過修正seq_len,短指針,等于 4096 ,并修改訓(xùn)練配置,只需幾次迭代即可啟動訓(xùn)練運(yùn)行,可以計算實際應(yīng)用程序作業(yè)運(yùn)行中實現(xiàn)的萬億次浮點百分比。

在本機(jī)運(yùn)行后,分析了nvidia-smi和輸出 Nsight 配置文件。測試了不同的配置以獲得最高可能的 teraflop ,如下表所示:

pYYBAGNEx7SAaOk-AACiKeIqm9Q736.png

表 2.使用中給出的第三個方程計算萬億次浮點 使用Megatron LM 在 GPU 集群上進(jìn)行高效大規(guī)模語言模型訓(xùn)練

該表最后一行中顯示的訓(xùn)練配置提供了 45.45% 的最高 teraflop 。

請注意,使用了 8 個 V100 32 GB GPU 而不是 16 GPU ,以縮短運(yùn)行每個評測作業(yè)所需的時間。nvidia-smi 命令用于驗證訓(xùn)練配置實現(xiàn)了 45.45% 的 teraflops 利用率,如下所示。

poYBAGNEx7aAMRdoAAKMbpNNevg842.png

圖 5.通過使用 NVIDIA smi 命令以交互方式監(jiān)控培訓(xùn)性能

總結(jié)

這里介紹的人工智能音樂實驗是使用 NVIDIA DGX-2 進(jìn)行的。我們使用大小從幾兆字節(jié)到 230 GB 的數(shù)據(jù)集訓(xùn)練語言模型。我們使用了 HuggingFace GPT-2 實現(xiàn),并表明 NVIDIA Megatron LM 也是一個很好的實驗替代品。

NVIDIA DGX-2 在加速數(shù)據(jù)集預(yù)處理(將 MIDI 文件映射到令牌表示和訓(xùn)練模型)方面做出了重大貢獻(xiàn)。這允許快速實驗。 DGX-2 在訓(xùn)練可用的最大 MIDI 數(shù)據(jù)集(具有 400K 文件的 MetaMIDI )時發(fā)揮了巨大的作用。

關(guān)于作者

Tristan Behrens 博士是人工智能專家、人工智能作曲家和人工智能教育家。他在成功的深度學(xué)習(xí)項目中有著廣泛的記錄。他最大的關(guān)注點是合成的深度神經(jīng)網(wǎng)絡(luò)。他出版了幾張用電腦創(chuàng)作的音樂專輯。

Zenodia Charpy 是高級深度學(xué)習(xí)解決方案架構(gòu)師,專注于應(yīng)用自然語言處理和深度學(xué)習(xí)技術(shù)來應(yīng)對非英語和低資源語言的挑戰(zhàn),例如瑞典語、丹麥語和挪威語。作為一名數(shù)據(jù)科學(xué)家,她在解決現(xiàn)實世界問題、構(gòu)建端到端解決方案方面擁有八年的豐富經(jīng)驗,她既是一名內(nèi)部數(shù)據(jù)科學(xué)家,也是一名數(shù)據(jù)科學(xué)顧問。在空閑時間,她喜歡在森林里散步或跑步,做瑜伽。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4986

    瀏覽量

    103055
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47279

    瀏覽量

    238495
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1208

    瀏覽量

    24701
收藏 人收藏

    評論

    相關(guān)推薦

    人工智能是什么?

    器人團(tuán)隊已在人工智能自然語言處理領(lǐng)域長達(dá)十?dāng)?shù)年的研究。 個人認(rèn)為,隨著人工智能的不斷發(fā)展和技術(shù)積累沉淀,機(jī)器人一定會呈井噴式爆發(fā),到時會出現(xiàn)各種各樣的機(jī)器人,機(jī)器人也會變得越來越聰
    發(fā)表于 09-16 15:40

    人工智能技術(shù)—AI

      人工智能技術(shù)的概念從出來到現(xiàn)在已經(jīng)有很多年的歷史了,其實所謂的人工智能技術(shù)本身就是一種模擬人類大腦的思考方式的一種技術(shù),它的英文簡稱是AI技術(shù),在西方國家,
    發(fā)表于 10-21 12:03

    人工智能傳感技術(shù)

    人工智能傳感技術(shù),希望有興趣的人共享
    發(fā)表于 06-03 09:03

    百度人工智能大神離職,人工智能的出路在哪?

    `今天,吳恩達(dá)確認(rèn)離職百度的消息迅速在業(yè)界刷屏。吳恩達(dá)曾不止一次感慨,現(xiàn)在人工智能最大的問題就是“機(jī)會太多,但人才太少”。AI,人工智能,該領(lǐng)域的研究包括機(jī)器人、語言識別、圖像識別、自然語言
    發(fā)表于 03-23 17:00

    人工智能和機(jī)器學(xué)習(xí)的前世今生

    語言在機(jī)器學(xué)習(xí)和人工智能的圈子里是最強(qiáng)大的。還有其他語言如java、C++、Julia、SAS、MATLAB、Scala,還有很多。然而,我們討論的僅限于Python和R這兩個語言.P
    發(fā)表于 08-27 10:16

    適合人工智能開發(fā)的5種最佳編程語言優(yōu)缺點對比

    熟悉Lisp編程。作為一種較古老的編程語言,Lisp需要配置新的軟件和硬件來適應(yīng)它的使用。PrologProlog也是古老的編程語言之一,與Lisp一樣,它也是人工智能項目開發(fā)的常用語言
    發(fā)表于 09-29 10:27

    初學(xué)AI人工智能需要哪些技術(shù)?這幾本書為你解答

    新的能以人類智能相似的方式做出反應(yīng)的智能機(jī)器,該領(lǐng)域的研究包括機(jī)器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。人工智能從誕生以來,理論
    發(fā)表于 01-21 14:26

    路徑規(guī)劃用到的人工智能技術(shù)

    路徑規(guī)劃用到的人工智能技術(shù)人工智能編程語言/數(shù)據(jù)結(jié)構(gòu)與算法三 人工智能基礎(chǔ)原理四 智能信息獲取(簡稱爬蟲) 與數(shù)據(jù)分析1、發(fā)起請求3、解
    發(fā)表于 07-20 06:53

    人工智能芯片是人工智能發(fā)展的

    ......無形之中,人工智能正以前所未有的發(fā)展速度滲透我們的日常生活。而作為人工智能的核心技術(shù)之一,人工智能芯片也向來備受關(guān)注。近幾年,谷歌、蘋果、微軟、Facebook、英特爾、高
    發(fā)表于 07-27 07:02

    物聯(lián)網(wǎng)人工智能是什么?

    2.概率推理3.機(jī)器人技術(shù)4.計算機(jī)視覺5.自然語言處理等常見人工智能產(chǎn)品:語音識別,指紋識別,人臉識別,視網(wǎng)膜識別,智能搜索,無人駕駛,機(jī)器翻譯,
    發(fā)表于 09-09 14:12

    什么是人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和自然語言處理?

    垂直領(lǐng)域得到廣泛應(yīng)用。根據(jù)2020年的一項估計,37% 的組織已經(jīng)在使用這種或那種形式的人工智能。大多數(shù)人工智能的應(yīng)用是特定的技術(shù),如計算機(jī)視覺、自然語言處理、語音識別、機(jī)器學(xué)習(xí)和專家
    發(fā)表于 03-22 11:19

    嵌入式人工智能學(xué)習(xí)路線

    嵌入式人工智能,一個不算陌生的新技術(shù)名詞。它曾經(jīng)被云端和現(xiàn)實技術(shù)所束縛,只能在很小范圍進(jìn)行實驗、運(yùn)用,但是隨著5G時代的漸漸臨近,我們再一次聽到了它的聲音,而這一次,它開始腳踏實地地走入市場,走入
    發(fā)表于 09-16 17:07

    《移動終端人工智能技術(shù)與應(yīng)用開發(fā)》人工智能的發(fā)展與AI技術(shù)的進(jìn)步

    人工智能的發(fā)展是隨著人類生活需要,產(chǎn)業(yè)需求不斷提升的,其中人工智能的發(fā)展很大程度上受到了計算機(jī)算力的影響,隨著數(shù)據(jù)處理量的增大,人工智能算法對算力的要求逐年增加,而且沒過兩年算力上升一倍,因此往往
    發(fā)表于 02-17 11:00

    人工智能音樂教育的碰撞

    人工智能技術(shù)能夠重新塑造音樂教育并讓音樂教育變得更有支持和創(chuàng)意,另外,人工智能技術(shù)也讓全世界的音樂家在創(chuàng)
    發(fā)表于 06-27 15:55 ?3782次閱讀

    人工智能音樂的融合 是AI技術(shù)音樂創(chuàng)作領(lǐng)域的新突破

    人工智能音樂的融合,是AI技術(shù)音樂創(chuàng)作領(lǐng)域的新突破,這不再是音樂專業(yè)人士的固有權(quán)力,讓對音樂
    發(fā)表于 12-16 11:00 ?5323次閱讀