一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

使用PyTorch Lightning構(gòu)建語音模型和解決方案

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:  因?yàn)槟褂玫?/span> ? 2022-04-13 14:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

人工智能正在推動(dòng)第四次工業(yè)革命,其機(jī)器可以在超人的水平上聽到、看到、理解、分析,然后做出明智的決定。然而,人工智能的有效性取決于基礎(chǔ)模型的質(zhì)量。因此,無論您是學(xué)術(shù)研究人員還是數(shù)據(jù)科學(xué)家,您都希望使用各種參數(shù)快速構(gòu)建模型,并確定最有效的解決方案。

在這篇文章中,我們將引導(dǎo)您在 GPU NVIDIA 供電的 AWS 實(shí)例上使用 PyTorch Lightning構(gòu)建語音模型。

PyTorch Lightning + Grid.ai :以更快的速度按比例構(gòu)建模型

NGC 目錄 Lightning 是用于高性能 AI 研究的輕量級(jí) PyTorch 包裝。使用 Lightning 組織 PyTorch 代碼可以在多個(gè) GPU 和 TPU CPU 上進(jìn)行無縫培訓(xùn),并使用難以實(shí)施的最佳實(shí)踐,如檢查點(diǎn)、日志記錄、分片和混合精度。 PyTorch 上提供了 PyTorch Lightning 容器和開發(fā)人員環(huán)境。

網(wǎng)格使您能夠?qū)⑴嘤?xùn)從筆記本電腦擴(kuò)展到云端,而無需修改代碼。 Grid 在 AWS 等云提供商上運(yùn)行,支持 Lightning 以及 Sci 工具包、 TensorFlow 、 Keras 、 PyTorch 等所有經(jīng)典機(jī)器學(xué)習(xí)框架。使用 Grid ,可以縮放 NGC 目錄中模型的訓(xùn)練。

NGC : GPU 優(yōu)化 AI 軟件的中心

NGC 目錄是 GPU 優(yōu)化軟件(包括AI / ML 容器、預(yù)訓(xùn)練模型和 SDK )的中心,這些軟件可以輕松部署到內(nèi)部部署、云、邊緣和混合環(huán)境中。 NGC 提供 NVIDIA TAO 工具套件,可使用自定義數(shù)據(jù)和 NVIDIA Triton 推理服務(wù)器對(duì)模型進(jìn)行再培訓(xùn),以便在 CPU 和 GPU 供電系統(tǒng)上運(yùn)行預(yù)測。

本文的其余部分將指導(dǎo)您如何利用NGC 目錄中的模型和 NVIDIA NeMo 框架,在 PyTorch 教程的基礎(chǔ)上,使用以下tutorial使用帶 NeMo 的 ASR Lightning 訓(xùn)練自動(dòng)語音識(shí)別( ASR )模型。

圖 1 。人工智能模型訓(xùn)練過程

通過網(wǎng)格課程培訓(xùn) NGC 模型, PyTorch Lightning 和 NVIDIA NeMo

ASR 是將口語轉(zhuǎn)錄成文本的任務(wù),是語音 – 文本系統(tǒng)的關(guān)鍵組成部分。在訓(xùn)練 ASR 模型時(shí),您的目標(biāo)是從給定的音頻輸入中生成文本,以最小化人類轉(zhuǎn)錄語音的單詞錯(cuò)誤率( WER )度量。 NGC 目錄包含 ASR 最先進(jìn)的預(yù)訓(xùn)練模型。

在本文的其余部分中,我們將向您展示如何使用網(wǎng)格會(huì)話 NVIDIA NeMo 和 PyTorch Lightning 在AN4 數(shù)據(jù)集上對(duì)這些模型進(jìn)行微調(diào)。

AN4 數(shù)據(jù)集,也稱為字母數(shù)字?jǐn)?shù)據(jù)集,由卡內(nèi)基梅隆大學(xué)收集和發(fā)布。它包括人們拼寫地址、姓名、電話號(hào)碼等的錄音,一次一個(gè)字母或號(hào)碼,以及相應(yīng)的成績單。

步驟 1 :創(chuàng)建針對(duì) Lightning 和預(yù)訓(xùn)練 NGC 模型優(yōu)化的網(wǎng)格會(huì)話

網(wǎng)格會(huì)話運(yùn)行在需要擴(kuò)展的相同硬件上,同時(shí)為您提供預(yù)配置的環(huán)境,以比以前更快地迭代機(jī)器學(xué)習(xí)過程的研究階段。會(huì)話鏈接到 GitHub ,使用 JupyterHub 加載,可以通過 SSH 和您選擇的 IDE 進(jìn)行訪問,而無需自己進(jìn)行任何設(shè)置。

對(duì)于會(huì)話,您只需支付使基線運(yùn)行所需的計(jì)算費(fèi)用,然后您就可以通過網(wǎng)格運(yùn)行將工作擴(kuò)展到云。網(wǎng)格會(huì)話針對(duì)托管在 NGC 目錄上的 PyTorch Lightning 和模型進(jìn)行了優(yōu)化。他們甚至提供專門的現(xiàn)貨定價(jià)。

圖 2 。創(chuàng)建網(wǎng)格會(huì)話的工作流

步驟 2 :克隆 ASR 演示報(bào)告并打開教程筆記本

現(xiàn)在您有了一個(gè)針對(duì) PyTorch Lightning 優(yōu)化的開發(fā)人員環(huán)境,下一步是克隆 NGC Lightning Grid Workshop repo 。

您可以使用以下命令直接從網(wǎng)格會(huì)話中的終端執(zhí)行此操作:

git clone https://github.com/aribornstein/NGC-Lightning-Grid-Workshop.git

克隆 repo 后,可以打開筆記本,使用 NeMo 和 PyTorch Lightning 對(duì) NGC 托管模型進(jìn)行微調(diào)。

步驟 3 :安裝 NeMo ASR 依賴項(xiàng)

首先,安裝所有會(huì)話依賴項(xiàng)。運(yùn)行 PyTorch Lightning 和 NeMo 等工具,并處理 AN4 數(shù)據(jù)集以完成此操作。運(yùn)行教程筆記本中的第一個(gè)單元格,該單元格運(yùn)行以下 bash 命令來安裝依賴項(xiàng)。

## Install dependencies
!pip install wget
!sudo apt-get install sox libsndfile1 ffmpeg -y
!pip install unidecode
!pip install matplotlib>=3.3.2
## Install NeMo
BRANCH = 'main'
!python -m pip install --user git+https://github.com/NVIDIA/NeMo.git@$BRANCH#egg=nemo_toolkit[all]
## Grab the config we'll use in this example
!mkdir configs
!wget -P configs/ https://raw.githubusercontent.com/NVIDIA/NeMo/$BRANCH/examples/asr/conf/config.yaml

步驟 4 :轉(zhuǎn)換并可視化 AN4 數(shù)據(jù)集

AN4 數(shù)據(jù)集以原始 Sof 音頻文件的形式提供,但大多數(shù)模型在mel p 頻譜圖上處理。請(qǐng)將 Sof 文件轉(zhuǎn)換為 Wav 格式,以便使用 NeMo 音頻處理。

import librosa
import IPython.display as ipd
import glob
import os
import subprocess
import tarfile
import wget

# Download the dataset. This will take a few moments...
print("******")
if not os.path.exists(data_dir + '/an4_sphere.tar.gz'):
    an4_url = 'http://www.speech.cs.cmu.edu/databases/an4/an4_sphere.tar.gz'
    an4_path = wget.download(an4_url, data_dir)
    print(f"Dataset downloaded at: {an4_path}")
else:
    print("Tarfile already exists.")
    an4_path = data_dir + '/an4_sphere.tar.gz'

if not os.path.exists(data_dir + '/an4/'):
    # Untar and convert .sph to .wav (using sox)
    tar = tarfile.open(an4_path)
    tar.extractall(path=data_dir)

    print("Converting .sph to .wav...")
    sph_list = glob.glob(data_dir + '/an4/**/*.sph', recursive=True)
    for sph_path in sph_list:
        wav_path = sph_path[:-4] + '.wav'
        cmd = ["sox", sph_path, wav_path]
        subprocess.run(cmd)
print("Finished conversion.
******")
# Load and listen to the audio file
example_file = data_dir + '/an4/wav/an4_clstk/mgah/cen2-mgah-b.wav'
audio, sample_rate = librosa.load(example_file)
ipd.Audio(example_file, rate=sample_rate)

然后,您可以將音頻示例可視化為音頻波形的圖像。圖 3 顯示了與音頻中每個(gè)字母對(duì)應(yīng)的波形中的活動(dòng),正如您的揚(yáng)聲器在這里非常清楚地闡明的那樣!

圖 3 示例的音頻波形

每個(gè)口語字母都有不同的“形狀”。有趣的是,最后兩個(gè)字母看起來相對(duì)相似,這是因?yàn)樗鼈兌际亲帜?N 。

頻譜圖

在聲音頻率隨時(shí)間變化的情況下,音頻建模更容易。您可以得到比 57330 個(gè)值的原始序列更好的表示。 頻譜圖是一種很好的可視化音頻中各種頻率強(qiáng)度隨時(shí)間變化的方式。它是通過將信號(hào)分成更小的、通常重疊的塊,并對(duì)每個(gè)塊執(zhí)行短時(shí)傅立葉變換( STFT )來獲得的。

圖 4 顯示了樣本的頻譜圖 的外觀。

圖 4 示例的音頻譜圖

與前面的波形一樣,您可以看到每個(gè)字母的發(fā)音。你如何解釋這些形狀和顏色?與前面的波形圖一樣,您可以看到時(shí)間在 x 軸上流逝(所有 2 。 6 秒的音頻)。但是,現(xiàn)在 y 軸表示不同的頻率(對(duì)數(shù)刻度),并且圖上的顏色顯示特定時(shí)間點(diǎn)的頻率強(qiáng)度。

Mel 頻譜圖

您仍然沒有完成,因?yàn)槟梢酝ㄟ^使用 mel 頻譜圖可視化數(shù)據(jù)來進(jìn)行一個(gè)更可能有用的調(diào)整。將頻率比例從線性(或?qū)?shù))更改為 mel 比例,這樣可以更好地表示人耳可感知的音調(diào)。 Mel 頻譜圖直觀上對(duì) ASR 有用。因?yàn)槟谔幚砗娃D(zhuǎn)錄人類語音,所以 mel 頻譜圖可以減少可能影響模型的背景噪聲。

圖 5 示例的 Mel spe CTR 圖

步驟 5 :從 NGC 加載并推斷預(yù)訓(xùn)練的 QuartzNet 模型

既然您已經(jīng)加載并正確理解了 AN4 數(shù)據(jù)集,那么看看如何使用 NGC 加載一個(gè) ASR 模型,以便使用 PyTorch Lightning 進(jìn)行微調(diào)。 NeMo 的 ASR 集合包含許多構(gòu)建塊,甚至完整的模型,您可以使用它們進(jìn)行培訓(xùn)和評(píng)估。此外,有幾種型號(hào)帶有預(yù)訓(xùn)練重量。

要為這篇文章建模數(shù)據(jù),可以使用名為來自 NGC 模型中心的 QuartzNet的 Jasper 體系結(jié)構(gòu)。 Jasper 體系結(jié)構(gòu)由重復(fù)的塊結(jié)構(gòu)組成,這些塊結(jié)構(gòu)使用 1D 卷積對(duì) spe CTR 圖形數(shù)據(jù)建模(圖 6 )。

圖 6 Jasper / QuartzNet 模型

QuartzNet 是 Jasper 的一個(gè)更好的變體,關(guān)鍵區(qū)別在于它使用時(shí)間通道可分離的一維卷積。這使得它能夠在保持類似精度的同時(shí)大幅減少權(quán)重的數(shù)量。

下面的命令從 NGC 目錄下載預(yù)訓(xùn)練的 QuartzNet15x5 模型,并為您實(shí)例化它.

tgmuartznet = nemo_asr.models.EncDecCTCModel.from_pretrained(model_name="QuartzNet15x5Base-En")

步驟 6 :使用 Lightning 微調(diào)模型

當(dāng)您擁有一個(gè)模型時(shí),您可以使用 PyTorch Lightning 對(duì)其進(jìn)行微調(diào),如下所示。

import pytorch_lightning as pl
from omegaconf import DictConfig
trainer = pl.Trainer(gpus=1, max_epochs=10)
params['model']['train_ds']['manifest_filepath'] = train_manifest
params['model']['validation_ds']['manifest_filepath'] = test_manifest
first_asr_model = nemo_asr.models.EncDecCTCModel(cfg=DictConfig(params['model']), trainer=trainer)

# Start training!!!
trainer.fit(first_asr_model)

因?yàn)槟褂玫氖?Lightning Trainer ,所以您獲得了一些關(guān)鍵優(yōu)勢(shì),例如默認(rèn)情況下的模型檢查點(diǎn)和日志記錄。您還可以使用 50 +種最佳實(shí)踐策略,而無需修改模型代碼,包括多 GPU 訓(xùn)練、模型切分、深度速度、量化感知訓(xùn)練、提前停止、混合精度、漸變剪裁和分析。

圖 7 微調(diào)策略

步驟 7 :推斷和部署

既然您有了一個(gè)基線模型,那么就推斷它。

圖 9 運(yùn)行推斷

步驟 8 :暫停會(huì)話

現(xiàn)在您已經(jīng)訓(xùn)練了模型,您可以暫停會(huì)話,并保存您需要的所有文件。

圖 9 監(jiān)視網(wǎng)格會(huì)話

暫停的會(huì)話是免費(fèi)的,可以根據(jù)需要恢復(fù)。

結(jié)論

現(xiàn)在,您應(yīng)該對(duì) PyTorch Lightning 、 NGC 和 Grid 有了更好的了解。您已經(jīng)對(duì)第一個(gè) NGC NeMo 模型進(jìn)行了微調(diào),并通過網(wǎng)格運(yùn)行對(duì)其進(jìn)行了優(yōu)化。我們很高興看到您下一步如何使用 Grid 和 NGC。

關(guān)于作者

Ari Bornstein 是一名人工智能研究人員,他熱愛歷史、新技術(shù)和計(jì)算醫(yī)學(xué)。作為 Grid 。 ai 的開發(fā)人員宣傳負(fù)責(zé)人,他與機(jī)器學(xué)習(xí)社區(qū)合作,利用改變游戲規(guī)則的技術(shù)解決現(xiàn)實(shí)世界中的問題,這些技術(shù)隨后被記錄在案、開源并與世界其他地方共享。

Chintan Patel是NVIDIA的高級(jí)產(chǎn)品經(jīng)理,致力于將GPU加速的解決方案引入HPC社區(qū)。 他負(fù)責(zé)NVIDIA GPU Cloud注冊(cè)表中HPC應(yīng)用程序容器的管理和提供。 在加入NVIDIA之前,他曾在Micrel,Inc.擔(dān)任產(chǎn)品管理,市場營銷和工程職位。他擁有圣塔克拉拉大學(xué)的MBA學(xué)位以及UC Berkeley的電氣工程和計(jì)算機(jī)科學(xué)學(xué)士學(xué)位。

Shokoufeh Monejzi Kouchak 是 NVIDIA 的技術(shù)營銷工程師,專注于深度學(xué)習(xí)模型。肖庫菲從亞利桑那州國家大學(xué)獲得了計(jì)算機(jī)工程學(xué)博士學(xué)位,她把重點(diǎn)放在駕駛行為分析和駕駛員注意力檢測上,并用深度學(xué)習(xí)模型。

審核編輯:郭婷

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

    關(guān)注

    1807

    文章

    49029

    瀏覽量

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

    關(guān)注

    4

    文章

    1224

    瀏覽量

    25449
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    809

    瀏覽量

    13964
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用OpenVINO? 2021.4將經(jīng)過訓(xùn)練的自定義PyTorch模型加載為IR格式時(shí)遇到錯(cuò)誤怎么解決?

    使用 OpenVINO? 2021.4 將經(jīng)過訓(xùn)練的自定義 PyTorch 模型加載為 IR 格式時(shí)遇到錯(cuò)誤: RuntimeError: [ GENERAL_ERROR ] Failed
    發(fā)表于 03-05 08:40

    恒流源輸出漏電問題分析和解決方案

    這個(gè)問題是逛TI論壇時(shí)看到的一個(gè)恒流源輸出漏電的問題,原帖沒有給出合適的解決方案,并且這個(gè)問題比較經(jīng)典,所以與各位道友一同分享我的看法和解決思路。
    的頭像 發(fā)表于 03-03 09:47 ?1244次閱讀
    恒流源輸出漏電問題分析<b class='flag-5'>和解決方案</b>

    廣和通正式推出AI玩具大模型解決方案

    ,即可實(shí)現(xiàn)音視頻及圖像的實(shí)時(shí)傳輸、語音識(shí)別、自然語言處理以及機(jī)器學(xué)習(xí)等多種功能。這意味著玩具能夠與用戶進(jìn)行更加豐富的互動(dòng),通過擬人、擬動(dòng)物或擬IP的形式,以視、聽、觸等多維度的方式與用戶進(jìn)行交流。 廣和通的AI玩具大模型解決方案
    的頭像 發(fā)表于 01-24 10:36 ?1213次閱讀

    廣和通發(fā)布AI玩具大模型解決方案

    近日,廣和通推出了一項(xiàng)專為AI玩具設(shè)計(jì)的創(chuàng)新解決方案——AI玩具大模型解決方案。該方案深度融合了豆包等領(lǐng)先的AI大模型技術(shù),并內(nèi)置了廣和通先
    的頭像 發(fā)表于 01-21 14:45 ?1197次閱讀

    32位單片機(jī)相關(guān)資料和解決方案參考指南

    電子發(fā)燒友網(wǎng)站提供《32位單片機(jī)相關(guān)資料和解決方案參考指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-21 14:00 ?0次下載
    32位單片機(jī)相關(guān)資料<b class='flag-5'>和解決方案</b>參考指南

    廣和通AI解決方案內(nèi)置大模型,讓玩具成為你的智慧伙伴

    廣和通推出AI玩具大模型解決方案,該方案深度融合豆包等AI大模型、內(nèi)置廣和通Cat.1模組,助力智能玩具實(shí)現(xiàn)AI化升級(jí)。該解決方案無需外接M
    的頭像 發(fā)表于 01-21 11:03 ?598次閱讀
    廣和通AI<b class='flag-5'>解決方案</b>內(nèi)置大<b class='flag-5'>模型</b>,讓玩具成為你的智慧伙伴

    廣和通推出AI玩具大模型解決方案

    廣和通推出AI玩具大模型解決方案,該方案深度融合豆包等AI大模型、內(nèi)置廣和通Cat.1模組,助力智能玩具實(shí)現(xiàn)AI化升級(jí)。該解決方案無需外接M
    的頭像 發(fā)表于 01-21 10:27 ?793次閱讀

    PyTorch 數(shù)據(jù)加載與處理方法

    PyTorch 是一個(gè)流行的開源機(jī)器學(xué)習(xí)庫,它提供了強(qiáng)大的工具來構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型。在構(gòu)建模型之前,一個(gè)重要的步驟是加載和處理數(shù)據(jù)。 1. Py
    的頭像 發(fā)表于 11-05 17:37 ?937次閱讀

    如何在 PyTorch 中訓(xùn)練模型

    PyTorch 是一個(gè)流行的開源機(jī)器學(xué)習(xí)庫,廣泛用于計(jì)算機(jī)視覺和自然語言處理等領(lǐng)域。它提供了強(qiáng)大的計(jì)算圖功能和動(dòng)態(tài)圖特性,使得模型構(gòu)建和調(diào)試變得更加靈活和直觀。 數(shù)據(jù)準(zhǔn)備 在訓(xùn)練模型
    的頭像 發(fā)表于 11-05 17:36 ?931次閱讀

    使用PyTorch在英特爾獨(dú)立顯卡上訓(xùn)練模型

    PyTorch 2.5重磅更新:性能優(yōu)化+新特性》中的一個(gè)新特性就是:正式支持在英特爾獨(dú)立顯卡上訓(xùn)練模型!
    的頭像 發(fā)表于 11-01 14:21 ?2055次閱讀
    使用<b class='flag-5'>PyTorch</b>在英特爾獨(dú)立顯卡上訓(xùn)練<b class='flag-5'>模型</b>

    【實(shí)操文檔】在智能硬件的大模型語音交互流程中接入RAG知識(shí)庫

    本帖最后由 jf_40317719 于 2024-9-29 17:13 編輯 智能硬件的語音交互接入大模型后可以直接理解自然語言內(nèi)容,但大模型作為一個(gè)語言模型,對(duì)專業(yè)領(lǐng)域知識(shí)
    發(fā)表于 09-29 17:12

    MCT8316A-設(shè)計(jì)挑戰(zhàn)和解決方案應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《MCT8316A-設(shè)計(jì)挑戰(zhàn)和解決方案應(yīng)用說明.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:52 ?0次下載
    MCT8316A-設(shè)計(jì)挑戰(zhàn)<b class='flag-5'>和解決方案</b>應(yīng)用說明

    MCF8316A-設(shè)計(jì)挑戰(zhàn)和解決方案應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《MCF8316A-設(shè)計(jì)挑戰(zhàn)和解決方案應(yīng)用說明.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:51 ?9次下載
    MCF8316A-設(shè)計(jì)挑戰(zhàn)<b class='flag-5'>和解決方案</b>應(yīng)用說明

    用于控制和保護(hù)的HVDC架構(gòu)和解決方案簡介

    電子發(fā)燒友網(wǎng)站提供《用于控制和保護(hù)的HVDC架構(gòu)和解決方案簡介.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 09:24 ?1次下載
    用于控制和保護(hù)的HVDC架構(gòu)<b class='flag-5'>和解決方案</b>簡介

    字節(jié)跳動(dòng)豆包大模型已支持實(shí)時(shí)語音通話

    字節(jié)跳動(dòng)火山引擎今日隆重推出創(chuàng)新對(duì)話式AI實(shí)時(shí)交互解決方案,該方案以火山方舟大模型服務(wù)平臺(tái)為核心,全面升級(jí)語音交互體驗(yàn)。該方案深度融合火山引
    的頭像 發(fā)表于 08-12 16:13 ?1205次閱讀