91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-14 23:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

會(huì)話式人工智能正在改變我們與計(jì)算機(jī)的交互方式。它包括三個(gè)令人興奮的人工智能研究領(lǐng)域:自動(dòng)語(yǔ)言識(shí)別(Automatic Speech Recognition,ASR)、自然語(yǔ)言處理(Natural Language Processing,NLP)和語(yǔ)言合成(或文本到語(yǔ)音,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 是一個(gè)基于 PyTorch 的開源工具包,它允許開發(fā)者快速構(gòu)建、訓(xùn)練和微調(diào)會(huì)話式人工智能模型。NeMo 由 NeMo Core 和 NeMo Collection 組成,NeMo Core 為所有模型和模塊提供了一個(gè)通用的“外觀”,NeMo Collection 是特定領(lǐng)域模塊和模型的組合。在 NeMo 的 Speech Collection(nemo_asr)中,你可以找到用于語(yǔ)音識(shí)別、命令識(shí)別、說話人識(shí)別、說話人驗(yàn)證和語(yǔ)音活動(dòng)檢測(cè)的模型和各種構(gòu)建模塊。NeMo 的 NLP Collection(nemo_nlp)包含了諸如問題回答、標(biāo)點(diǎn)符號(hào)、命名實(shí)體識(shí)別等任務(wù)的模型。最后,在 NeMo 的 Speech Synthesis(nemo_tts)中,你會(huì)發(fā)現(xiàn)一些譜圖生成器和聲碼器,它們將讓你能夠生成合成語(yǔ)音。

語(yǔ)音交換示例

讓我們從一個(gè)簡(jiǎn)單的原型開始介紹 NeMo。在 這個(gè)示例 中,我們將獲取一個(gè)音頻文件,并用 NeMo 模型生成的合成語(yǔ)音來(lái)替換其中的語(yǔ)音。點(diǎn)擊 此處 可以獲取此語(yǔ)音文件。

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

pip install nemo_toolkit[all]==1.0.0b1

基于 NeMo 的應(yīng)用程序的第一步是導(dǎo)入必要的 Collection。在這個(gè)應(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 模型,我們可以使用它們來(lái)執(zhí)行某些會(huì)話式人工智能任務(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 目錄 中直接實(shí)例化。通過調(diào)用list_available_models()函數(shù),你可以查看每個(gè)模型的可用預(yù)訓(xùn)練權(quán)重列表。

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

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

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

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

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

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

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

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

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

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

正如我們?cè)谏厦娴难菔局兴吹降模蠖鄶?shù)模型可以直接從 NVIDIA NGC 目錄 上的倉(cāng)庫(kù)使用特定的預(yù)訓(xùn)練權(quán)重進(jìn)行實(shí)例化。

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

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

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

@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)模塊。請(qǐng)注意,它們的使用方式與使用torch.nn.Module模塊完全相同,但增加了類型安全性。以下是這個(gè)模型的神經(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ǔ)義。預(yù)處理器不僅將檢查傳遞給它的張量是否為 2 維[batch,time]張量,而且還將強(qiáng)制張量?jī)?nèi)的元素表示 AudioSignal。神經(jīng)類型支持繼承,這就是為什么MelSpectrogramType 輸出在任何地方都可以接受的原因。類型在@typecheck修飾器的幫助下被強(qiáng)制執(zhí)行,并且可以打開或關(guān)閉強(qiáng)制。這是一個(gè)實(shí)驗(yàn)性的特性,但我們發(fā)現(xiàn),它有助于幫助模塊的用戶正確使用它們。

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

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

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

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

與 PyTorch Lighting 和 Hydra 的集成使得為用戶簡(jiǎn)化任務(wù)成為可能。請(qǐng)考慮下面的示例。它是一個(gè)完整的 Python 腳本,能夠獲取 .yaml 配置文件并訓(xùn)練語(yǔ)音識(shí)別模型。NeMo + Lightning + Hydra 標(biāo)準(zhǔn)化了很多東西,只需修改兩行代碼,就可以將其轉(zhuǎn)換為一個(gè)腳本,用于訓(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 是為對(duì)會(huì)話式人工智能——語(yǔ)音識(shí)別、自然語(yǔ)言處理和語(yǔ)音合成感到好奇的開發(fā)者而打造的。NVIDIA 還投入了大量精力和算力來(lái)創(chuàng)建對(duì)用戶有用的預(yù)訓(xùn)練模型的 Collection。

NVIDIA 鼓勵(lì)開發(fā)者嘗試 NeMo。請(qǐng)?jiān)L問 NVIDIA 的 GitHub,以使用 NeMo 的交互式教程。本文開頭討論的語(yǔ)音交換示例就是一個(gè)很好的起點(diǎn)。

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

作者介紹:

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

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

審核編輯 黃昊宇

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

    關(guān)注

    1818

    文章

    50129

    瀏覽量

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

    關(guān)注

    3

    文章

    4227

    瀏覽量

    46218
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    813

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    PyTorch 中RuntimeError分析

    原生實(shí)現(xiàn)。這是一個(gè)已知的 PyTorch 限制,常見于 Stable Diffusion、ComfyUI 等使用 interpolate(..., mode=\'nearest\') 的模型
    發(fā)表于 03-06 06:02

    開發(fā)智能體配置-內(nèi)容合規(guī)

    智能體上架前,需完成“人工智能生成合成內(nèi)容標(biāo)識(shí)”和“大模型備案信息”填寫 ,以供平臺(tái)審核;可在智能體【配置】-【內(nèi)容合規(guī)】中填寫。 人工智能
    發(fā)表于 02-07 11:44

    人工智能應(yīng)用開發(fā)-中級(jí)(大模型)》認(rèn)證證書含金量如何?怎么考?

    在國(guó)家《新一代人工智能發(fā)展規(guī)劃》及“人工智能+”行動(dòng)的雙重推動(dòng)下,人工智能與大模型技術(shù)已成為驅(qū)動(dòng)產(chǎn)業(yè)智能化升級(jí)的核心力量。目前,大
    的頭像 發(fā)表于 01-28 15:11 ?775次閱讀
    《<b class='flag-5'>人工智能</b>應(yīng)用開發(fā)-中級(jí)(大<b class='flag-5'>模型</b>)》認(rèn)證證書含金量如何?怎么考?

    openDACS 2025 開源EDA與芯片賽項(xiàng) 賽題七:基于大模型的生成原理圖設(shè)計(jì)

    多個(gè)步驟,耗時(shí)長(zhǎng)、人力成本高,且容易因人為疏忽引入設(shè)計(jì)錯(cuò)誤。傳統(tǒng)的“手動(dòng)+工具輔助”的設(shè)計(jì)模式已難以滿足快速迭代和多樣化定制的需求。近年來(lái),生成人工智能(Generative AI)的興起為解決上述
    發(fā)表于 11-13 11:49

    新一代AtomGit平臺(tái)暨人工智能開源社區(qū)發(fā)布

    10月28日,“共建·共智·共享——AtomGit全新升級(jí)暨人工智能開源社區(qū)發(fā)布會(huì)”在北京國(guó)家會(huì)議中心隆重舉行。開放原子開源基金會(huì)攜手CSDN等生態(tài)伙伴,推動(dòng)平臺(tái)深度融合與能力升級(jí),聚合開源
    的頭像 發(fā)表于 10-30 09:46 ?654次閱讀

    思必馳一鳴智能客服大模型通過生成人工智能服務(wù)備案

    近日,江蘇網(wǎng)信發(fā)布新一批生成人工智能服務(wù)備案信息,其中,由思必馳控股子公司馳必準(zhǔn)自主研發(fā)的一鳴智能客服大模型通過《生成
    的頭像 發(fā)表于 09-16 18:08 ?1227次閱讀

    中車斫輪大模型通過國(guó)家生成人工智能服務(wù)備案

    9月14日,國(guó)家互聯(lián)網(wǎng)信息辦公室發(fā)布最新公告,“中車斫輪”大模型通過“生成人工智能服務(wù)”備案,標(biāo)志著其在數(shù)據(jù)安全治理、模型機(jī)制透明度、內(nèi)容生成合規(guī)性等核心維度已全面對(duì)標(biāo)國(guó)家監(jiān)管要求,
    的頭像 發(fā)表于 09-16 09:16 ?816次閱讀

    華盛昌DeepSense深度感測(cè)大模型通過生成人工智能服務(wù)備案

    近日,深圳市華盛昌科技實(shí)業(yè)股份有限公司(以下簡(jiǎn)稱“華盛昌”)的“DeepSense深度感測(cè)大模型”在歷經(jīng)屬地網(wǎng)信辦初審、中央網(wǎng)信辦終審及六大部委意見征詢后,通過廣東省生成人工智能服務(wù)備案(備案號(hào)
    的頭像 發(fā)表于 09-08 14:49 ?1839次閱讀

    利用超微型 Neuton ML 模型解鎖 SoC 邊緣人工智能

    應(yīng)用。 為什么選擇 Neuton 作為開發(fā)人員,在產(chǎn)品中使用邊緣人工智能的兩個(gè)最大障礙是: ML 模型對(duì)于您所選微控制器的內(nèi)存來(lái)說太大。 創(chuàng)建自定義 ML 模型本質(zhì)上是一個(gè)手動(dòng)過程,需
    發(fā)表于 08-31 20:54

    挖到寶了!人工智能綜合實(shí)驗(yàn)箱,高校新工科的寶藏神器

    和生態(tài)體系帶到使用者身邊 ,讓我們?cè)诩夹g(shù)學(xué)習(xí)和使用上不再受制于人。 三、多模態(tài)實(shí)驗(yàn),解鎖AI全流程 它嵌入了2D視覺、深度視覺、機(jī)械手臂、語(yǔ)音識(shí)別、嵌入傳感器等多種類AI模塊,涵蓋人工智能領(lǐng)域主要
    發(fā)表于 08-07 14:30

    挖到寶了!比鄰星人工智能綜合實(shí)驗(yàn)箱,高校新工科的寶藏神器!

    和生態(tài)體系帶到使用者身邊 ,讓我們?cè)诩夹g(shù)學(xué)習(xí)和使用上不再受制于人。 三、多模態(tài)實(shí)驗(yàn),解鎖AI全流程 它嵌入了2D視覺、深度視覺、機(jī)械手臂、語(yǔ)音識(shí)別、嵌入傳感器等多種類AI模塊,涵蓋人工智能領(lǐng)域主要
    發(fā)表于 08-07 14:23

    超小型Neuton機(jī)器學(xué)習(xí)模型, 在任何系統(tǒng)級(jí)芯片(SoC)上解鎖邊緣人工智能應(yīng)用.

    Neuton 是一家邊緣AI 公司,致力于讓機(jī)器 學(xué)習(xí)模型更易于使用。它創(chuàng)建模型比競(jìng)爭(zhēng)對(duì)手的框架小10 倍,速度也快10 倍,甚至可以在最先進(jìn)的邊緣設(shè)備上進(jìn)行人工智能處理。在這篇博文
    發(fā)表于 07-31 11:38

    開放原子開源基金會(huì)亮相2025世界人工智能大會(huì)

    7月26-29日,2025世界人工智能大會(huì)暨人工智能全球治理高級(jí)別會(huì)議(簡(jiǎn)稱“WAIC 2025”)在上海成功舉辦。開放原子開源基金會(huì)等多家單位共同發(fā)布《國(guó)際人工智能開源合作倡議》,共
    的頭像 發(fā)表于 07-30 17:46 ?1268次閱讀

    最新人工智能硬件培訓(xùn)AI 基礎(chǔ)入門學(xué)習(xí)課程參考2025版(大模型篇)

    人工智能模型重塑教育與社會(huì)發(fā)展的當(dāng)下,無(wú)論是探索未來(lái)職業(yè)方向,還是更新技術(shù)儲(chǔ)備,掌握大模型知識(shí)都已成為新時(shí)代的必修課。從職場(chǎng)上輔助工作的智能助手,到課堂用于學(xué)術(shù)研究的
    發(fā)表于 07-04 11:10

    企業(yè)使用NVIDIA NeMo微服務(wù)構(gòu)建AI智能體平臺(tái)

    已發(fā)布的 NeMo 微服務(wù)可與合作伙伴平臺(tái)集成,作為創(chuàng)建 AI 智能體的構(gòu)建模塊,使用商業(yè)智能與強(qiáng)大的邏輯推理模型 (包括 NVIDIA L
    的頭像 發(fā)表于 04-27 15:05 ?1313次閱讀