RM新时代网站-首页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

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

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

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

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

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

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

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

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

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

JS Fake Chorales Dataset 有 500 首 J.S.巴赫風格的假合唱

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

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

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

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

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

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

pYYBAGNEx66AEXtkAAGkbp3xBJk628.png

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

在 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

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

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

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

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

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

poYBAGNEx6-AbrE_AAJZ5Khy28c319.png

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

對 MIDI 文件的數(shù)據(jù)集進行編碼將產(chǎn)生令牌文件的集合。這些標記文件的大小取決于 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 假合唱團上訓練只需要幾個小時。在 130 GB 的 MetaMIDI 數(shù)據(jù)集上進行訓練需要很多天。這些實驗的訓練持續(xù)了 10 至 15 天。

模型訓練

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

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

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

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

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

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

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ù)集是較早訓練的,而不是在 DGX-2 上。由于其體積非常小,因此不需要使用 multi- GPU 設置。它甚至可以在 MacBook Pro 上過夜訓練。

NVIDIA DGX-2

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

pYYBAGNEx7CAa8nBAAIODuG_kQU972.png

圖 3.DGX-2 站

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

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

pYYBAGNEx7GAInZpAABzhawqBIc067.png

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

軟件框架: NVIDIA Megatron LM

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

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

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

poYBAGNEx7OAZsHQAAMLEW8H8t0414.png

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

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

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

pYYBAGNEx7SAaOk-AACiKeIqm9Q736.png

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

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

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

poYBAGNEx7aAMRdoAAKMbpNNevg842.png

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

總結

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

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

關于作者

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

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

審核編輯:郭婷

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

    關注

    14

    文章

    4978

    瀏覽量

    102984
  • 人工智能
    +關注

    關注

    1791

    文章

    47183

    瀏覽量

    238237
  • 數(shù)據(jù)集

    關注

    4

    文章

    1208

    瀏覽量

    24689
收藏 人收藏

    評論

    相關推薦

    人工智能是什么?

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

    人工智能技術—AI

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

    人工智能傳感技術

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

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

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

    人工智能和機器學習的前世今生

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

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

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

    初學AI人工智能需要哪些技術?這幾本書為你解答

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

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

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

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

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

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

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

    什么是人工智能、機器學習、深度學習和自然語言處理?

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

    嵌入式人工智能學習路線

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

    《移動終端人工智能技術與應用開發(fā)》人工智能的發(fā)展與AI技術的進步

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

    人工智能音樂教育的碰撞

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

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

    人工智能音樂的融合,是AI技術音樂創(chuàng)作領域的新突破,這不再是音樂專業(yè)人士的固有權力,讓對音樂
    發(fā)表于 12-16 11:00 ?5306次閱讀
    RM新时代网站-首页