從頭開始創(chuàng)建一個新的人工智能深度學(xué)習(xí)模型是一個非常耗費時間和資源的過程。解決這個問題的一個常見方法是采用遷移學(xué)習(xí)。為了使這一過程更加簡單,NVIDIA TAO Toolkit,它可以將工程時間框架從 80 周縮短到 8 周。 TAO 工具包支持計算機視覺和對話 AI ( ASR 和 NLP )用例。
在本文中,我們將介紹以下主題:
安裝 TAO 工具包并訪問預(yù)訓(xùn)練模型
微調(diào)預(yù)訓(xùn)練語音轉(zhuǎn)錄模型
將微調(diào)模型導(dǎo)出到 NVIDIA Riva
跟隨 download the Jupyter notebook。
安裝 TAO 工具包并下載預(yù)訓(xùn)練模型
在安裝 TAO 工具包之前,請確保您的系統(tǒng)上安裝了以下組件:
Python [3 。 6 。 9]
docker ce 》 19 。 03 。 5
nvidia-DOCKR2 3 。 4 。 0-1
有關(guān)安裝 nvidia docker 和 docker 的更多信息,請參閱Prerequisites。您可以使用 pip 安裝 TAO 工具包。我們建議使用virtual environment以避免版本沖突。
安裝完成后,下一步是獲得一些經(jīng)過預(yù)訓(xùn)練的模型。 NVIDIA 提供了許多人工智能或機器學(xué)習(xí)模型,不僅在對話人工智能領(lǐng)域,而且在 NGC 或 NVIDIA GPU 云上的廣泛領(lǐng)域。 NGC 目錄是一套精心策劃的 GPU 優(yōu)化軟件,用于 AI 、 HPC 和可視化。
要從 NGC 下載資源,請使用NGC API key登錄注冊表。您可以免費創(chuàng)建和使用一個。
圖 1 。獲取 NGCAPI 密鑰
CitriNet是由 NVIDIA 構(gòu)建的最先進的自動語音識別( ASR )模型,可用于生成語音轉(zhuǎn)錄。您可以從Speech to Text English Citrinet型號卡下載此型號。
為了提供流暢的體驗,工具包在后臺下載并運行 Docker 容器,使用前面提到的規(guī)范文件。所有細節(jié)都隱藏在 TAO 啟動器中。您可以通過定義 JSON 文件~/.tao_mounts.json來指定裝載 Docker 容器的首選位置。您可以在Jupyter notebook中找到裝載文件。
這樣,您就安裝了 TAO 工具包,下載了一個經(jīng)過預(yù)訓(xùn)練的 ASR 模型,并指定了 TAO 工具包啟動器的安裝點。在下一節(jié)中,我們將討論如何使用 TAO 工具包在您選擇的數(shù)據(jù)集上微調(diào)此模型。
微調(diào)模型
使用 TAO 工具包微調(diào)模型包括三個步驟:
下載規(guī)范文件。
預(yù)處理數(shù)據(jù)集。
使用超參數(shù)進行微調(diào)。
圖 3 顯示了微調(diào)模型所需的步驟。
圖 2 。 TAO 工具包工作流
步驟 1 :下載規(guī)范文件
NVIDIA TAO Toolkit 是一種低代碼或無代碼的解決方案,通過規(guī)范文件簡化模型的培訓(xùn)或微調(diào)。通過這些文件,您可以自定義特定于模型的參數(shù)、培訓(xùn)師參數(shù)、優(yōu)化器和所用數(shù)據(jù)集的參數(shù)??梢詫⑦@些規(guī)范文件下載到先前裝載的文件夾:
以下是 TAO 工具包附帶的 YAML 文件。有關(guān)更多信息,請參閱Downloading Sample Spec Files。
create_tokenizer.yaml
dataset_convert_an4.yaml
dataset_convert_en.yaml
dataset_convert_ru.yaml
evaluate.yaml
export.yaml
finetune.yaml
infer_onnx.yaml
infer.yaml
train_citrinet_256.yaml
train_citrinet_bpe.yaml
這些規(guī)范文件可供自定義和使用。從預(yù)處理和模型評估到推理和導(dǎo)出模型,都有相應(yīng)的功能。這使您能夠完成開發(fā)或定制模型的過程,而無需構(gòu)建復(fù)雜的代碼庫。下載等級庫文件后,現(xiàn)在可以繼續(xù)預(yù)處理數(shù)據(jù)。
步驟 2 :預(yù)處理數(shù)據(jù)集
在本演練中,您將使用CMU’s AN4 Dataset,這是一個小型普查數(shù)據(jù)集,其中包含地址、數(shù)字和其他個人信息的記錄。這與客戶支持對話中對話的初始步驟所需的轉(zhuǎn)錄類型類似。具有類似內(nèi)容的較大自定義數(shù)據(jù)集可用于實際應(yīng)用程序。
您可以直接下載和解壓縮 AN4 數(shù)據(jù)集,或使用以下命令:
TAO 工具包培訓(xùn)和微調(diào)模塊期望數(shù)據(jù)以特定格式呈現(xiàn)??梢允褂?dataset _ convert 命令完成此預(yù)處理。我們將 AN4 和 Mozilla 的通用語音數(shù)據(jù)集的規(guī)范文件與 TAO 啟動器一起打包。您可以在步驟 1 中定義的目錄中找到這些規(guī)范文件。
這些清單文件(圖 3 )包含在后面的步驟中使用的以下信息:
音頻文件的路徑
每個文件的持續(xù)時間
每個文件的文字內(nèi)容
圖 3 。已處理清單文件的結(jié)構(gòu)
此命令將音頻文件轉(zhuǎn)換為 WAV 文件,并生成訓(xùn)練和測試清單文件。
在大多數(shù)情況下,您都會進行預(yù)處理,但 CitriNet 模型是一個特例。它需要以子詞標記化的形式進行進一步處理,為文本創(chuàng)建子詞詞匯表。這與 Jasper 或 QuartzNet 不同,因為在它們的情況下,詞匯表中只有單個字符被視為元素。在 CitriNet 中,子字可以是一個或多個字符。這可以使用以下命令完成:
到目前為止,您已經(jīng)建立了一個工具,為諸如遷移學(xué)習(xí)之類的復(fù)雜問題提供低代碼或無代碼解決方案。您已經(jīng)下載了一個預(yù)訓(xùn)練的模型,將音頻文件處理為必要的格式,并執(zhí)行了標記化。您使用的命令不到 10 個?,F(xiàn)在,所有必要的細節(jié)都已散列出來,您可以繼續(xù)微調(diào)模型。
步驟 3 :使用超參數(shù)進行微調(diào)
正如在前面的步驟中所做的那樣,您正在與規(guī)范文件交互。有關(guān)更多信息,請參閱Creating an Experiment Spec File。如果要調(diào)整 FFT 窗口大小的大小,可以指定幾乎所有內(nèi)容,從特定于訓(xùn)練的參數(shù)(如優(yōu)化器)到特定于數(shù)據(jù)集的參數(shù),再到模型配置本身。
是否要更改學(xué)習(xí)速率和調(diào)度程序,或者在詞匯表中添加新字符?無需打開代碼庫并對其進行掃描以進行更改。所有這些定制都很容易獲得,并可在整個團隊中共享。這減少了在嘗試新想法和分享結(jié)果以及模型配置方面的摩擦,從而提高了準確性。
以下是如何微調(diào)數(shù)據(jù)集:
最后,要繼續(xù),請根據(jù)需要修改規(guī)范文件并運行以下命令。此命令使用先前下載的數(shù)據(jù)集微調(diào)下載的模型。有關(guān)更多信息,請參閱Fine-Tuning the Model。
在對模型進行微調(diào)或培訓(xùn)后,自然會評估模型并評估是否需要進一步微調(diào)。為此, NVIDIA 為evaluate your model和run inference提供了功能。
將微調(diào)模型導(dǎo)出到 Riva
在生產(chǎn)環(huán)境中部署模型會帶來一系列挑戰(zhàn)。為此,您可以使用NVIDIA Riva,一種 GPU 加速 AI 語音 SDK 來開發(fā)實時轉(zhuǎn)錄和虛擬助理等應(yīng)用程序。
Riva 使用其他 NVIDIA 產(chǎn)品:
NVIDIA Triton Inference Server用于簡化大規(guī)模生產(chǎn)中模型的部署。
NVIDIA TensorRT用于通過優(yōu)化 NVIDIA GPU s 的模型來加速模型并提供更好的推理性能。
如果您對使用本演練中微調(diào)的模型感興趣,可以使用以下命令將其導(dǎo)出到 Riva 。
在下一篇文章中,我們將介紹如何安裝 NVIDIA Riva 在生產(chǎn)環(huán)境中部署這些模型,以及如何使用NGC Catalog中的眾多模型之一。
關(guān)于作者
About Tanay Varshney
Tanay Varshney 是 NVIDIA 的一名深入學(xué)習(xí)的技術(shù)營銷工程師,負責(zé)廣泛的 DL 軟件產(chǎn)品。他擁有紐約大學(xué)計算機科學(xué)碩士學(xué)位,專注于計算機視覺、數(shù)據(jù)可視化和城市分析的橫斷面。
About Sirisha Rella
Sirisha Rella 是 NVIDIA 的技術(shù)產(chǎn)品營銷經(jīng)理,專注于計算機視覺、語音和基于語言的深度學(xué)習(xí)應(yīng)用。 Sirisha 獲得了密蘇里大學(xué)堪薩斯城分校的計算機科學(xué)碩士學(xué)位,是國家科學(xué)基金會大學(xué)習(xí)中心的研究生助理。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5026瀏覽量
103280 -
人工智能
+關(guān)注
關(guān)注
1792文章
47445瀏覽量
239044
發(fā)布評論請先 登錄
相關(guān)推薦
評論