在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

使用PyTorch Lightning構建語音模型和解決方案

星星科技指導員 ? 來源:NVIDIA ? 作者:  因為您使用的 ? 2022-04-13 14:23 ? 次閱讀

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

在這篇文章中,我們將引導您在 GPU NVIDIA 供電的 AWS 實例上使用 PyTorch Lightning構建語音模型。

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

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

網格使您能夠將培訓從筆記本電腦擴展到云端,而無需修改代碼。 Grid 在 AWS 等云提供商上運行,支持 Lightning 以及 Sci 工具包、 TensorFlow 、 Keras 、 PyTorch 等所有經典機器學習框架。使用 Grid ,可以縮放 NGC 目錄中模型的訓練。

NGC : GPU 優化 AI 軟件的中心

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

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

圖 1 。人工智能模型訓練過程

通過網格課程培訓 NGC 模型, PyTorch Lightning 和 NVIDIA NeMo

ASR 是將口語轉錄成文本的任務,是語音 – 文本系統的關鍵組成部分。在訓練 ASR 模型時,您的目標是從給定的音頻輸入中生成文本,以最小化人類轉錄語音的單詞錯誤率( WER )度量。 NGC 目錄包含 ASR 最先進的預訓練模型。

在本文的其余部分中,我們將向您展示如何使用網格會話 NVIDIA NeMo 和 PyTorch Lightning 在AN4 數據集上對這些模型進行微調。

AN4 數據集,也稱為字母數字數據集,由卡內基梅隆大學收集和發布。它包括人們拼寫地址、姓名、電話號碼等的錄音,一次一個字母或號碼,以及相應的成績單。

步驟 1 :創建針對 Lightning 和預訓練 NGC 模型優化的網格會話

網格會話運行在需要擴展的相同硬件上,同時為您提供預配置的環境,以比以前更快地迭代機器學習過程的研究階段。會話鏈接到 GitHub ,使用 JupyterHub 加載,可以通過 SSH 和您選擇的 IDE 進行訪問,而無需自己進行任何設置。

對于會話,您只需支付使基線運行所需的計算費用,然后您就可以通過網格運行將工作擴展到云。網格會話針對托管在 NGC 目錄上的 PyTorch Lightning 和模型進行了優化。他們甚至提供專門的現貨定價。

圖 2 。創建網格會話的工作流

步驟 2 :克隆 ASR 演示報告并打開教程筆記本

現在您有了一個針對 PyTorch Lightning 優化的開發人員環境,下一步是克隆 NGC Lightning Grid Workshop repo 。

您可以使用以下命令直接從網格會話中的終端執行此操作:

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

克隆 repo 后,可以打開筆記本,使用 NeMo 和 PyTorch Lightning 對 NGC 托管模型進行微調。

步驟 3 :安裝 NeMo ASR 依賴項

首先,安裝所有會話依賴項。運行 PyTorch Lightning 和 NeMo 等工具,并處理 AN4 數據集以完成此操作。運行教程筆記本中的第一個單元格,該單元格運行以下 bash 命令來安裝依賴項。

## 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 :轉換并可視化 AN4 數據集

AN4 數據集以原始 Sof 音頻文件的形式提供,但大多數模型在mel p 頻譜圖上處理。請將 Sof 文件轉換為 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 顯示了與音頻中每個字母對應的波形中的活動,正如您的揚聲器在這里非常清楚地闡明的那樣!

圖 3 示例的音頻波形

每個口語字母都有不同的“形狀”。有趣的是,最后兩個字母看起來相對相似,這是因為它們都是字母 N 。

頻譜圖

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

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

圖 4 示例的音頻譜圖

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

Mel 頻譜圖

您仍然沒有完成,因為您可以通過使用 mel 頻譜圖可視化數據來進行一個更可能有用的調整。將頻率比例從線性(或對數)更改為 mel 比例,這樣可以更好地表示人耳可感知的音調。 Mel 頻譜圖直觀上對 ASR 有用。因為您正在處理和轉錄人類語音,所以 mel 頻譜圖可以減少可能影響模型的背景噪聲。

圖 5 示例的 Mel spe CTR 圖

步驟 5 :從 NGC 加載并推斷預訓練的 QuartzNet 模型

既然您已經加載并正確理解了 AN4 數據集,那么看看如何使用 NGC 加載一個 ASR 模型,以便使用 PyTorch Lightning 進行微調。 NeMo 的 ASR 集合包含許多構建塊,甚至完整的模型,您可以使用它們進行培訓和評估。此外,有幾種型號帶有預訓練重量。

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

圖 6 Jasper / QuartzNet 模型

QuartzNet 是 Jasper 的一個更好的變體,關鍵區別在于它使用時間通道可分離的一維卷積。這使得它能夠在保持類似精度的同時大幅減少權重的數量。

下面的命令從 NGC 目錄下載預訓練的 QuartzNet15x5 模型,并為您實例化它.

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

步驟 6 :使用 Lightning 微調模型

當您擁有一個模型時,您可以使用 PyTorch Lightning 對其進行微調,如下所示。

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)

因為您使用的是 Lightning Trainer ,所以您獲得了一些關鍵優勢,例如默認情況下的模型檢查點和日志記錄。您還可以使用 50 +種最佳實踐策略,而無需修改模型代碼,包括多 GPU 訓練、模型切分、深度速度、量化感知訓練、提前停止、混合精度、漸變剪裁和分析。

圖 7 微調策略

步驟 7 :推斷和部署

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

圖 9 運行推斷

步驟 8 :暫停會話

現在您已經訓練了模型,您可以暫停會話,并保存您需要的所有文件。

圖 9 監視網格會話

暫停的會話是免費的,可以根據需要恢復。

結論

現在,您應該對 PyTorch Lightning 、 NGC 和 Grid 有了更好的了解。您已經對第一個 NGC NeMo 模型進行了微調,并通過網格運行對其進行了優化。我們很高興看到您下一步如何使用 Grid 和 NGC。

關于作者

Ari Bornstein 是一名人工智能研究人員,他熱愛歷史、新技術和計算醫學。作為 Grid 。 ai 的開發人員宣傳負責人,他與機器學習社區合作,利用改變游戲規則的技術解決現實世界中的問題,這些技術隨后被記錄在案、開源并與世界其他地方共享。

Chintan Patel是NVIDIA的高級產品經理,致力于將GPU加速的解決方案引入HPC社區。 他負責NVIDIA GPU Cloud注冊表中HPC應用程序容器的管理和提供。 在加入NVIDIA之前,他曾在Micrel,Inc.擔任產品管理,市場營銷和工程職位。他擁有圣塔克拉拉大學的MBA學位以及UC Berkeley的電氣工程和計算機科學學士學位。

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

審核編輯:郭婷

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

    關注

    1792

    文章

    47497

    瀏覽量

    239214
  • 數據集
    +關注

    關注

    4

    文章

    1208

    瀏覽量

    24749
  • pytorch
    +關注

    關注

    2

    文章

    808

    瀏覽量

    13283
收藏 人收藏

    評論

    相關推薦

    PyTorch 數據加載與處理方法

    PyTorch 是一個流行的開源機器學習庫,它提供了強大的工具來構建和訓練深度學習模型。在構建模型之前,一個重要的步驟是加載和處理數據。 1. Py
    的頭像 發表于 11-05 17:37 ?465次閱讀

    如何在 PyTorch 中訓練模型

    PyTorch 是一個流行的開源機器學習庫,廣泛用于計算機視覺和自然語言處理等領域。它提供了強大的計算圖功能和動態圖特性,使得模型構建和調試變得更加靈活和直觀。 數據準備 在訓練模型
    的頭像 發表于 11-05 17:36 ?372次閱讀

    MCT8316A-設計挑戰和解決方案應用說明

    電子發燒友網站提供《MCT8316A-設計挑戰和解決方案應用說明.pdf》資料免費下載
    發表于 09-13 09:52 ?0次下載
    MCT8316A-設計挑戰<b class='flag-5'>和解決方案</b>應用說明

    MCF8316A-設計挑戰和解決方案應用說明

    電子發燒友網站提供《MCF8316A-設計挑戰和解決方案應用說明.pdf》資料免費下載
    發表于 09-13 09:51 ?1次下載
    MCF8316A-設計挑戰<b class='flag-5'>和解決方案</b>應用說明

    用于控制和保護的HVDC架構和解決方案簡介

    電子發燒友網站提供《用于控制和保護的HVDC架構和解決方案簡介.pdf》資料免費下載
    發表于 09-04 09:24 ?0次下載
    用于控制和保護的HVDC架構<b class='flag-5'>和解決方案</b>簡介

    字節跳動豆包大模型已支持實時語音通話

    字節跳動火山引擎今日隆重推出創新對話式AI實時交互解決方案,該方案以火山方舟大模型服務平臺為核心,全面升級語音交互體驗。該方案深度融合火山引
    的頭像 發表于 08-12 16:13 ?797次閱讀

    pytorch如何訓練自己的數據

    本文將詳細介紹如何使用PyTorch框架來訓練自己的數據。我們將從數據準備、模型構建、訓練過程、評估和測試等方面進行講解。 環境搭建 首先,我們需要安裝PyTorch。可以通過訪問
    的頭像 發表于 07-11 10:04 ?574次閱讀

    pytorch中有神經網絡模型

    處理、語音識別等領域取得了顯著的成果。PyTorch是一個開源的深度學習框架,由Facebook的AI研究團隊開發。它以其易用性、靈活性和高效性而受到廣泛歡迎。在PyTorch中,有許多預訓練的神經網絡
    的頭像 發表于 07-11 09:59 ?733次閱讀

    PyTorch神經網絡模型構建過程

    PyTorch,作為一個廣泛使用的開源深度學習庫,提供了豐富的工具和模塊,幫助開發者構建、訓練和部署神經網絡模型。在神經網絡模型中,輸出層是尤為關鍵的部分,它負責將
    的頭像 發表于 07-10 14:57 ?530次閱讀

    PyTorch的介紹與使用案例

    學習領域的一個重要工具。PyTorch底層由C++實現,提供了豐富的API接口,使得開發者能夠高效地構建和訓練神經網絡模型PyTorch不僅支持動態計算圖,還提供了強大的自動微分系統
    的頭像 發表于 07-10 14:19 ?431次閱讀

    解讀PyTorch模型訓練過程

    PyTorch作為一個開源的機器學習庫,以其動態計算圖、易于使用的API和強大的靈活性,在深度學習領域得到了廣泛的應用。本文將深入解讀PyTorch模型訓練的全過程,包括數據準備、模型
    的頭像 發表于 07-03 16:07 ?1121次閱讀

    如何使用PyTorch建立網絡模型

    PyTorch是一個基于Python的開源機器學習庫,因其易用性、靈活性和強大的動態圖特性,在深度學習領域得到了廣泛應用。本文將從PyTorch的基本概念、網絡模型構建、優化方法、實際
    的頭像 發表于 07-02 14:08 ?441次閱讀

    使用PyTorch搭建Transformer模型

    Transformer模型自其問世以來,在自然語言處理(NLP)領域取得了巨大的成功,并成為了許多先進模型(如BERT、GPT等)的基礎。本文將深入解讀如何使用PyTorch框架搭建Transformer
    的頭像 發表于 07-02 11:41 ?1715次閱讀

    使用PyTorch構建神經網絡

    PyTorch是一個流行的深度學習框架,它以其簡潔的API和強大的靈活性在學術界和工業界得到了廣泛應用。在本文中,我們將深入探討如何使用PyTorch構建神經網絡,包括從基礎概念到高級特性的全面解析。本文旨在為讀者提供一個完整的
    的頭像 發表于 07-02 11:31 ?743次閱讀

    請問電腦端Pytorch訓練的模型如何轉化為能在ESP32S3平臺運行的模型

    由題目, 電腦端Pytorch訓練的模型如何轉化為能在ESP32S3平臺運行的模型? 如何把這個Pytorch模型燒錄到ESP32S3上去?
    發表于 06-27 06:06
    主站蜘蛛池模板: 天天操狠狠操夜夜操| 五月天婷婷在线视频国产在线| 四虎成人免费影院网址| 性欧洲女人18| 四虎影院在线免费观看| 色婷婷丁香六月| 欧美h视频| 韩国三级视频| 91在线色| 日本人视频-jlzz jlzz jlzz| 狠狠干视频网| 免费啪视频在线观看| 殴美aⅴ| 中文字幕欧美日韩| 四虎国产精品免费视| 男人天堂网在线观看| 国产免费一区二区三区最新| 一级黄色片在线看| 激情www| 亚洲精品在线视频观看 | 国产美女免费观看| 夜夜爽天天狠狠九月婷婷| 日本一本一道久久香蕉免费| 88av在线看| 狠狠色噜噜狠狠狠狠97| 天堂网2014| 久青草免费视频| 1024视频在线观看国产成人| 欧美午夜视频一区二区三区| 在线观看黄色x视频| 美女被强插| 色咯咯| 国产女主播在线| 神马午夜嘿嘿嘿| 一级毛片日韩a欧美| 五月婷婷在线视频| 久久精品综合| 天天澡天天摸天天添视频| 网站国产| 午夜日| 国内在线观看精品免费视频|