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

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

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

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

開源NeMo:基于PyTorch,允許快速創(chuàng)建會話式人工智能模型

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-14 23:25 ? 次閱讀

會話式人工智能正在改變我們與計算機(jī)的交互方式。它包括三個令人興奮的人工智能研究領(lǐng)域:自動語言識別(Automatic Speech Recognition,ASR)、自然語言處理(Natural Language Processing,NLP)和語言合成(或文本到語音,Text-to-Speech,TTS)。NVIDIA 的目標(biāo)是通過讓研究人員和從業(yè)人員更容易地訪問、重用和建立這些領(lǐng)域的最新構(gòu)建模塊和預(yù)訓(xùn)練模型,使這些領(lǐng)域的進(jìn)展能夠?qū)崿F(xiàn)民主化并得到加速。

NVIDIA NeMo 是一個基于 PyTorch 的開源工具包,它允許開發(fā)者快速構(gòu)建、訓(xùn)練和微調(diào)會話式人工智能模型。NeMo 由 NeMo Core 和 NeMo Collection 組成,NeMo Core 為所有模型和模塊提供了一個通用的“外觀”,NeMo Collection 是特定領(lǐng)域模塊和模型的組合。在 NeMo 的 Speech Collection(nemo_asr)中,你可以找到用于語音識別、命令識別、說話人識別、說話人驗證和語音活動檢測的模型和各種構(gòu)建模塊。NeMo 的 NLP Collection(nemo_nlp)包含了諸如問題回答、標(biāo)點符號、命名實體識別等任務(wù)的模型。最后,在 NeMo 的 Speech Synthesis(nemo_tts)中,你會發(fā)現(xiàn)一些譜圖生成器和聲碼器,它們將讓你能夠生成合成語音。

語音交換示例

讓我們從一個簡單的原型開始介紹 NeMo。在 這個示例 中,我們將獲取一個音頻文件,并用 NeMo 模型生成的合成語音來替換其中的語音。點擊 此處 可以獲取此語音文件。

從概念上講,這個應(yīng)用程序演示了會話式人工智能系統(tǒng)的所有三個階段:(1)語音識別;(2)推導(dǎo)意義或理解所說的內(nèi)容;(3)生成合成語音作為響應(yīng)。如果你有支持 GPU 的 PyTorch 1.6 版或更高版本,NeMo 可以簡單地通過 PIP 安裝,如下所示:

pip install nemo_toolkit[all]==1.0.0b1

基于 NeMo 的應(yīng)用程序的第一步是導(dǎo)入必要的 Collection。在這個應(yīng)用程序中,我們將使用這三種 Collection。

import nemo
# Import Speech Recognition collection
import nemo.collections.asr as nemo_asr
# Import Natural Language Processing collection
import nemo.collections.nlp as nemo_nlp
# Import Speech Synthesis collection
import nemo.collections.tts as nemo_tts

Collection 使我們可以訪問 NeMo 模型,我們可以使用它們來執(zhí)行某些會話式人工智能任務(wù)。模型是 NeMo 的關(guān)鍵概念之一,我們將在下面更詳細(xì)地討論它們,但我們只使用現(xiàn)在需要的那些:

# Speech Recognition model - QuartzNet
quartznet =
nemo_asr.models.EncDecCTCModel.from_pretrained(model_nam)
# Punctuation and capitalization model
punctuation =
nemo_nlp.models.PunctuationCapitalizationModel.from_pretrained(model_name='Punctuation
_Capitalization_with_DistilBERT')
# Spectrogram generator which takes text as an input and produces spectrograms
spectrogram_generator =
nemo_tts.models.Tacotron2Model.from_pretrained(model_nam)
# Vocoder model which takes spectrograms and produces actual audio
vocoder = nemo_tts.models.WaveGlowModel.from_pretrained(model_nam)

大多數(shù) NeMo 模型可以使用from_pretrained()函數(shù)直接從 NVIDIA NGC 目錄 中直接實例化。通過調(diào)用list_available_models()函數(shù),你可以查看每個模型的可用預(yù)訓(xùn)練權(quán)重列表。

從上面的代碼片段中可以看到,我們將使用 QuartzNet 模型 進(jìn)行語音識別,一個基于 DistillBert 的標(biāo)點模型,以及 Tacotron2+WaveGlow 模型進(jìn)行語音合成、語音識別。注意,NeMo 的 NLP Collection 與出色的 Hugging Face 轉(zhuǎn)換器兼容,其語言模型通常被 NeMo 的 NLP 模型用作編碼器。一旦所有模型被實例化之后,它們就可以使用了。下面是一個使用 ASR 模型轉(zhuǎn)錄音頻文件和 NLP 模型在轉(zhuǎn)錄文本中添加標(biāo)點符號的例子:

transcription = quartznet.transcribe(paths2audio_files=files)
result = punctuation.add_punctuation_capitalization(queries=transcription)

有關(guān)完整的運行示例,請參考這個 交互式 Google Colab Notebook。請注意,標(biāo)點符號模型是如何在所生成的語音質(zhì)量 產(chǎn)生巨大影響 的。基于標(biāo)點符號模型的輸出生成的語音比直接從 ASR 模型的原始輸出生成的語音更容易理解,因為它會 在適當(dāng)?shù)奈恢冒nD和語調(diào)。

NeMo 模型、神經(jīng)模塊和神經(jīng)類型

在 NeMo 中,主要有三個概念:模型、神經(jīng)模塊和神經(jīng)類型。模型 包含了訓(xùn)練和優(yōu)化所需的所有信息。因此,它們封裝了如下內(nèi)容:

1、神經(jīng)網(wǎng)絡(luò)實現(xiàn):所有神經(jīng)模塊都連接在一起進(jìn)行訓(xùn)練和評估。

2、所有必要的預(yù)處理和后處理:標(biāo)記化、數(shù)據(jù)增強(qiáng)等。

3、可用于此模型的 Dataset 類。

4、優(yōu)化算法和學(xué)習(xí)率調(diào)度。

5、基礎(chǔ)設(shè)施細(xì)節(jié):例如,有多少 GPU、節(jié)點以及應(yīng)使用哪種訓(xùn)練精度。

正如我們在上面的演示中所看到的,大多數(shù)模型可以直接從 NVIDIA NGC 目錄 上的倉庫使用特定的預(yù)訓(xùn)練權(quán)重進(jìn)行實例化。

深度神經(jīng)網(wǎng)絡(luò)通常可以被認(rèn)為是由負(fù)責(zé)不同任務(wù)的概念構(gòu)建塊組成的。編碼器 - 解碼器架構(gòu)就是一個著名的例子。編碼器負(fù)責(zé)學(xué)習(xí)輸入表示,而解碼器則負(fù)責(zé)根據(jù)輸入表示生成輸出序列。在 NeMo 中,我們稱這些模塊為“神經(jīng)模塊”(順便說一句,這就是 NeMo 名字的由來)。神經(jīng)模塊(nemo.core.NeuralModule)表示神經(jīng)網(wǎng)絡(luò)的邏輯部分,如語言模型、編碼器、解碼器、數(shù)據(jù)增強(qiáng)算法、損失函數(shù)等。它們構(gòu)成了描述模型和訓(xùn)練該模型過程的基礎(chǔ)。NeuralModule 類是直接從torch.nn派生的。因此,你可以在 PyTorch 應(yīng)用程序中使用 NeMo Collection 中的模塊。Collection 中有數(shù)百個神經(jīng)模塊可供你在模型中重用。

神經(jīng)模塊的輸入和輸出按神經(jīng)類型輸入。神經(jīng)類型是一對包含有關(guān)張量軸布局(類似于 PyTorch 中的命名張量)及其元素語義的信息對。每個神經(jīng)模塊都有input_type和output_type屬性,這些屬性描述(并幫助強(qiáng)制執(zhí)行)這個模塊接受什么類型的輸入以及它返回什么類型的輸出。

讓我們考慮模型、神經(jīng)模塊和類型是如何相互作用的。如果我們仔細(xì)查看 QuartzNet 模型的forward()方法,就會看到:

@typecheck()
def forward(self, input_signal, input_signal_length):
processed_signal, processed_signal_len = self.preprocessor(
input_signal=input_signal, length=input_signal_length,
)
# Spec augment is not applied during evaluation/testing
if self.spec_augmentation is not None and self.training:
processed_signal = self.spec_augmentation(input_spec=processed_signal)
encoded, encoded_len = self.encoder(audio_signal=processed_signal,
length=processed_signal_len)
log_probs = self.decoder(encoder_output=encoded)
greedy_predictions = log_probs.argmax(dim=-1, keepdim=False)
return log_probs, encoded_len, greedy_predictions

QuartzNet 模型包含預(yù)處理器、(可選)譜圖增強(qiáng)、編碼器和解碼器神經(jīng)模塊。請注意,它們的使用方式與使用torch.nn.Module模塊完全相同,但增加了類型安全性。以下是這個模型的神經(jīng)模塊的一些輸入 / 輸出類型:

print(quartznet.preprocessor.input_types['input_signal'])
print(quartznet.preprocessor.output_types['processed_signal'])
print(quartznet.spec_augmentation.input_types['input_spec'])
axes: (batch, time); elements_type: AudioSignal
axes: (batch, dimension, time); elements_type: MelSpectrogramType
axes: (batch, dimension, time); elements_type: SpectrogramType

正如你所見到的,類型決定了其元素的張量布局和語義。預(yù)處理器不僅將檢查傳遞給它的張量是否為 2 維[batch,time]張量,而且還將強(qiáng)制張量內(nèi)的元素表示 AudioSignal。神經(jīng)類型支持繼承,這就是為什么MelSpectrogramType 輸出在任何地方都可以接受的原因。類型在@typecheck修飾器的幫助下被強(qiáng)制執(zhí)行,并且可以打開或關(guān)閉強(qiáng)制。這是一個實驗性的特性,但我們發(fā)現(xiàn),它有助于幫助模塊的用戶正確使用它們。

使用 NeMo 進(jìn)行訓(xùn)練和微調(diào)

NeMo 是為訓(xùn)練和微調(diào)會話式人工智能模型而構(gòu)建的。雖然可以使用“純”PyTorch 來處理 NeMo 的模型和模塊,但它們可有效地用于 PyTorch 生態(tài)系統(tǒng)中的其他兩個項目:PyTorch Lightning 和 Hydra。

NeMo 模型派生自 PyTorch Lightning 模塊,可用于 Lightning 的 Trainer 實例。這種與 Lightning 的集成使得使用 Tensor Core 可以非常輕松地以混合精度來訓(xùn)練模型,并且可以將訓(xùn)練擴(kuò)展到多個 GPU 和計算節(jié)點。例如,我們將一些 NeMo 模型的訓(xùn)練擴(kuò)展為使用 512 個 GPU。Lightning 還為用戶提供了許多其他方便的功能,如日志記錄、檢查點、過擬合檢查等等。

NeMo 的用戶可以使用 Facebook 的 Hydra 來參數(shù)化腳本。一個典型的深度學(xué)習(xí)實驗可以包含數(shù)百個甚至數(shù)千個參數(shù)。這就是為什么將它們保存在組織良好的配置文件中很方便。NeMo 模型和模塊使用 Hydra 進(jìn)行參數(shù)化,為用戶提供了 Hydra 的靈活性和錯誤檢查功能。

與 PyTorch Lighting 和 Hydra 的集成使得為用戶簡化任務(wù)成為可能。請考慮下面的示例。它是一個完整的 Python 腳本,能夠獲取 .yaml 配置文件并訓(xùn)練語音識別模型。NeMo + Lightning + Hydra 標(biāo)準(zhǔn)化了很多東西,只需修改兩行代碼,就可以將其轉(zhuǎn)換為一個腳本,用于訓(xùn)練基于 BERT 的問答模型。

import pytorch_lightning as pl
from nemo.core.config import hydra_runner
from nemo.collections.asr.models import EncDecCTCModel
#from nemo.collections.nlp.models.question_answering.qa_model import QAModel
@hydra_runner(config_pat, config_nam)
def main(cfg):
trainer = pl.Trainer(**cfg.trainer)
#model = QAModel(cfg.model, trainer=trainer)
model = EncDecCTCModel(cfg=cfg.model, trainer=trainer)
trainer.fit(asr_model)

結(jié)論

NeMo 是為對會話式人工智能——語音識別、自然語言處理和語音合成感到好奇的開發(fā)者而打造的。NVIDIA 還投入了大量精力和算力來創(chuàng)建對用戶有用的預(yù)訓(xùn)練模型的 Collection。

NVIDIA 鼓勵開發(fā)者嘗試 NeMo。請訪問 NVIDIA 的 GitHub,以使用 NeMo 的交互式教程。本文開頭討論的語音交換示例就是一個很好的起點。

最后,NeMo 是 GitHub 上的一個開源項目,NVIDIA 歡迎外部的貢獻(xiàn),人們可以通過許多方式做出貢獻(xiàn),從編寫代碼或文檔到使用新語言訓(xùn)練模型。

作者介紹:

Oleksii Kuchaiev,NVIDIA 高級應(yīng)用科學(xué)家;Poonam Chitale,NVIDIA 高級產(chǎn)品經(jīng)理。

本文轉(zhuǎn)自 公眾號:AI前線 ,作者Oleksii Kuchaiev

審核編輯 黃昊宇

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

    關(guān)注

    1794

    文章

    47639

    瀏覽量

    239610
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3398

    瀏覽量

    42643
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    808

    瀏覽量

    13324
收藏 人收藏

    評論

    相關(guān)推薦

    生成人工智能模型的安全可信評測

    受到關(guān)注。但當(dāng)前大模型仍然面臨可信瓶頸,無法開展大規(guī)模應(yīng)用。大模型的安全可信受到高度關(guān)注,國內(nèi)外已經(jīng)有多項法規(guī)與標(biāo)準(zhǔn)快速制定并落地。本文以層次化的結(jié)構(gòu),構(gòu)建了生成
    的頭像 發(fā)表于 01-22 13:55 ?183次閱讀
    生成<b class='flag-5'>式</b><b class='flag-5'>人工智能</b><b class='flag-5'>模型</b>的安全可信評測

    Lightricks與Shutterstock攜手,推動開源LTXV視頻人工智能生成視頻模型發(fā)展

    Shutterstock與Lightricks的合作是全新數(shù)據(jù)授權(quán)模式的首次實踐,旨在為人工智能模型的訓(xùn)練開辟全新路徑 耶路撒冷和紐約2024年12月15日?/美通社/ -- 全球領(lǐng)先的人工智能驅(qū)動
    的頭像 發(fā)表于 12-15 09:31 ?198次閱讀
    Lightricks與Shutterstock攜手,推動<b class='flag-5'>開源</b>LTXV視頻<b class='flag-5'>人工智能</b>生成<b class='flag-5'>式</b>視頻<b class='flag-5'>模型</b>發(fā)展

    嵌入人工智能究竟是什么關(guān)系?

    嵌入人工智能究竟是什么關(guān)系? 嵌入系統(tǒng)是一種特殊的系統(tǒng),它通常被嵌入到其他設(shè)備或機(jī)器中,以實現(xiàn)特定功能。嵌入系統(tǒng)具有非常強(qiáng)的適應(yīng)性和靈活性,能夠根據(jù)用戶需求進(jìn)行定制化設(shè)計。它
    發(fā)表于 11-14 16:39

    《AI for Science:人工智能驅(qū)動科學(xué)創(chuàng)新》第一章人工智能驅(qū)動的科學(xué)創(chuàng)新學(xué)習(xí)心得

    的效率,還為科學(xué)研究提供了前所未有的洞察力和精確度。例如,在生物學(xué)領(lǐng)域,AI能夠幫助科學(xué)家快速識別基因序列中的關(guān)鍵變異,加速新藥研發(fā)進(jìn)程。 2. 跨學(xué)科融合的新范式 書中強(qiáng)調(diào),人工智能的應(yīng)用促進(jìn)了多個
    發(fā)表于 10-14 09:12

    risc-v在人工智能圖像處理應(yīng)用前景分析

    RISC-V在人工智能圖像處理領(lǐng)域的應(yīng)用前景十分廣闊,這主要得益于其開源性、靈活性和低功耗等特點。以下是對RISC-V在人工智能圖像處理應(yīng)用前景的詳細(xì)分析: 一、RISC-V的基本特點 RISC-V
    發(fā)表于 09-28 11:00

    人工智能ai4s試讀申請

    目前人工智能在繪畫對話等大模型領(lǐng)域應(yīng)用廣闊,ai4s也是方興未艾。但是如何有效利用ai4s工具助力科研是個需要研究的課題,本書對ai4s基本原理和原則,方法進(jìn)行描訴,有利于總結(jié)經(jīng)驗,擬按照要求準(zhǔn)備相關(guān)體會材料。看能否有助于入門和提高ss
    發(fā)表于 09-09 15:36

    FPGA在人工智能中的應(yīng)用有哪些?

    FPGA(現(xiàn)場可編程門陣列)在人工智能領(lǐng)域的應(yīng)用非常廣泛,主要體現(xiàn)在以下幾個方面: 一、深度學(xué)習(xí)加速 訓(xùn)練和推理過程加速:FPGA可以用來加速深度學(xué)習(xí)的訓(xùn)練和推理過程。由于其高并行性和低延遲特性
    發(fā)表于 07-29 17:05

    人工智能模型有哪些

    人工智能(Artificial Intelligence, AI)作為21世紀(jì)最具影響力的技術(shù)之一,正以前所未有的速度改變著我們的生活、工作乃至整個社會結(jié)構(gòu)。AI模型作為AI技術(shù)的核心,是實現(xiàn)智能
    的頭像 發(fā)表于 07-04 17:28 ?1004次閱讀

    如何使用PyTorch建立網(wǎng)絡(luò)模型

    PyTorch是一個基于Python的開源機(jī)器學(xué)習(xí)庫,因其易用性、靈活性和強(qiáng)大的動態(tài)圖特性,在深度學(xué)習(xí)領(lǐng)域得到了廣泛應(yīng)用。本文將從PyTorch的基本概念、網(wǎng)絡(luò)模型構(gòu)建、優(yōu)化方法、實際
    的頭像 發(fā)表于 07-02 14:08 ?455次閱讀

    如何使用PyTorch構(gòu)建更高效的人工智能

    隨著人工智能技術(shù)的迅猛發(fā)展,深度學(xué)習(xí)作為其重要分支,已經(jīng)在各個領(lǐng)域展現(xiàn)出了強(qiáng)大的潛力和應(yīng)用價值。PyTorch作為由Facebook研發(fā)和維護(hù)的開源深度學(xué)習(xí)框架,因其易用性、靈活性和高效性,在學(xué)
    的頭像 發(fā)表于 07-02 13:12 ?425次閱讀

    Meta為營銷人員提供新的人工智能工具來創(chuàng)建廣告活動

    Meta Platforms,F(xiàn)acebook和Instagram的母公司,正積極探索生成人工智能在廣告營銷領(lǐng)域的新應(yīng)用。最新推出的工具允許廣告商通過簡單的提示,利用生成AI技術(shù)
    的頭像 發(fā)表于 05-09 09:29 ?328次閱讀

    嵌入人工智能的就業(yè)方向有哪些?

    嵌入人工智能的就業(yè)方向有哪些? 在新一輪科技革命與產(chǎn)業(yè)變革的時代背景下,嵌入人工智能成為國家新型基礎(chǔ)建設(shè)與傳統(tǒng)產(chǎn)業(yè)升級的核心驅(qū)動力。同時在此背景驅(qū)動下,眾多名企也紛紛在嵌入
    發(fā)表于 02-26 10:17

    谷歌發(fā)布輕量級開源人工智能模型Gemma

    谷歌近日宣布推出開源人工智能(AI)模型系列Gemma,旨在為開發(fā)人員和研究人員提供一個負(fù)責(zé)任的AI構(gòu)建平臺。這一舉措標(biāo)志著自2022年OpenAI的ChatGPT引領(lǐng)AI聊天機(jī)器人熱潮后,谷歌首次發(fā)布重要的
    的頭像 發(fā)表于 02-23 11:38 ?914次閱讀

    小白學(xué)大模型:什么是生成人工智能

    來源:Coggle數(shù)據(jù)科學(xué)什么是生成人工智能?在過去幾年中,機(jī)器學(xué)習(xí)領(lǐng)域取得了迅猛進(jìn)步,創(chuàng)造了人工智能的一個新的子領(lǐng)域:生成人工智能。這
    的頭像 發(fā)表于 02-22 08:27 ?1778次閱讀
    小白學(xué)大<b class='flag-5'>模型</b>:什么是生成<b class='flag-5'>式</b><b class='flag-5'>人工智能</b>?

    艾倫人工智能研究所發(fā)布全球首個100%開源模型

    艾倫人工智能研究所近日宣布,與多所大學(xué)合作,成功開發(fā)出全球首個100%開源模型OLMo,包括權(quán)重、代碼、數(shù)據(jù)集和訓(xùn)練全過程。這一創(chuàng)新性項目旨在推動人工智能領(lǐng)域的開放研究,為全球研究者
    的頭像 發(fā)表于 02-05 09:34 ?1009次閱讀
    主站蜘蛛池模板: 好色999| 黄色大片视频网站 | 亚洲精品一卡2卡3卡三卡四卡 | 欧美video free xxxxx| 国产经典三级在线 | 美女露出尿囗 | 井野雏田小樱天天被调教 | 天堂网www中文天堂在线 | 三级www| 欧美色图 亚洲 | 在线视频资源 | 在线观看一级毛片 | 国产色婷婷精品综合在线 | 久久免费99精品久久久久久 | 亚洲毛片网 | 免费看国产精品久久久久 | 视频一区视频二区在线观看 | 狠狠操天天 | 亚洲综合五月天欧美 | 亚洲国产欧美日韩一区二区三区 | 色香欲亚洲天天综合网 | 免费三级网站 | 色噜噜狠狠成人影院 | 天天做天天爱夜夜大爽完整 | 2022国产情侣真实露脸在线 | 97成人资源 | 欧美一级欧美一级高清 | 日韩毛片在线 | 黄网站在线播放 | 国产高清一区二区三区 | 免费在线观看你懂的 | 特级毛片aaa免费版 特级毛片a级毛免费播放 | 免费人成黄页在线观看1024 | 精品视频一区二区三区 | 国产精品激情综合久久 | 六月丁香中文字幕 | 小泽玛利亚在线观看123 | 婷婷亚洲五月琪琪综合 | 久久天天躁狠狠躁夜夜2020一 | 91在线视频观看 | 夜夜骚视频 |