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

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

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

3天內不再提示

使用遷移學習定制人工智能深度學習模型

星星科技指導員 ? 來源:星星科技指導員 ? 作者:星星科技指導員 ? 2022-04-01 09:14 ? 次閱讀

從頭開始創建一個新的人工智能深度學習模型是一個非常耗費時間和資源的過程。解決這個問題的一個常見方法是采用遷移學習。為了使這一過程更加簡單,NVIDIA TAO Toolkit,它可以將工程時間框架從 80 周縮短到 8 周。 TAO 工具包支持計算機視覺和對話 AI ( ASR 和 NLP )用例。

在本文中,我們將介紹以下主題:

  • 安裝 TAO 工具包并訪問預訓練模型
  • 微調預訓練語音轉錄模型
  • 將微調模型導出到 NVIDIA Riva

跟隨download the Jupyter notebook。

安裝 TAO 工具包并下載預訓練模型

在安裝 TAO 工具包之前,請確保您的系統上安裝了以下組件:

  • Python [3 . 6 . 9]
  • docker ce > 19 . 03 . 5
  • nvidia-DOCKR2 3 . 4 . 0-1

有關安裝 nvidia docker 和 docker 的更多信息,請參閱Prerequisites。您可以使用 pip 安裝 TAO 工具包。我們建議使用virtual environment以避免版本沖突。

pip3 install nvidia-pyindex pip3 install nvidia-tao

安裝完成后,下一步是獲得一些經過預訓練的模型。 NVIDIA 提供了許多人工智能或機器學習模型,不僅在對話人工智能領域,而且在 NGC 或 NVIDIA GPU 云上的廣泛領域。 NGC 目錄是一套精心策劃的 GPU 優化軟件,用于 AI 、 HPC 和可視化。

要從 NGC 下載資源,請使用NGC API key登錄注冊表。您可以免費創建和使用一個。

Screenshot of the API generation page.

圖 1 。獲取 NGCAPI 密鑰

CitriNet是由 NVIDIA 構建的最先進的自動語音識別( ASR )模型,可用于生成語音轉錄。您可以從Speech to Text English Citrinet型號卡下載此型號。

wget https://api.ngc.nvidia.com/v2/models/nvidia/tao/speechtotext_english_citrinet/versions/trainable_v1.7/files/speechtotext_english_citrinet_1024.tlt

為了提供流暢的體驗,工具包在后臺下載并運行 Docker 容器,使用前面提到的規范文件。所有細節都隱藏在 TAO 啟動器中。您可以通過定義 JSON 文件~/.tao_mounts.json來指定裝載 Docker 容器的首選位置。您可以在Jupyter notebook中找到裝載文件。

{ "Mounts":[ { "source": "~/tao/data", "destination": "/data" # The location in which to store the dataset }, { "source": "~/tao/specs", "destination": "/specs" # The location in which to store the specification files }, { "source": "~/tao/results", "destination": "/results" # The location in which to store the results }, { "source": "~/.cache", "destination": "/root/.cache" } ], "DockerOptions":{ "shm_size": "16G", "ulimits": { "memlock": -1, "stack": 67108864 } } }

這樣,您就安裝了 TAO 工具包,下載了一個經過預訓練的 ASR 模型,并指定了 TAO 工具包啟動器的安裝點。在下一節中,我們將討論如何使用 TAO 工具包在您選擇的數據集上微調此模型。

微調模型

使用 TAO 工具包微調模型包括三個步驟:

  1. 下載規范文件。
  2. 預處理數據集。
  3. 使用超參數進行微調。

圖 3 顯示了微調模型所需的步驟。

For the ASR use case, there are three key steps: download specs, run preprocessing, and then fine-tune. Download the AN4 dataset and a .tlt model from NGC.

圖 2 。 TAO 工具包工作流

步驟 1 :下載規范文件

NVIDIA TAO Toolkit 是一種低代碼或無代碼的解決方案,通過規范文件簡化模型的培訓或微調。通過這些文件,您可以自定義特定于模型的參數、培訓師參數、優化器和所用數據集的參數。可以將這些規范文件下載到先前裝載的文件夾:

tao speech_to_text_citrinet download_specs \ -r /speech_to_text_citrinet \ -o < path to specs dir>/speech_to_text_citrinet

以下是 TAO 工具包附帶的 YAML 文件。有關更多信息,請參閱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

這些規范文件可供自定義和使用。從預處理和模型評估到推理和導出模型,都有相應的功能。這使您能夠完成開發或定制模型的過程,而無需構建復雜的代碼庫。下載等級庫文件后,現在可以繼續預處理數據。

步驟 2 :預處理數據集

在本演練中,您將使用CMU’s AN4 Dataset,這是一個小型普查數據集,其中包含地址、數字和其他個人信息的記錄。這與客戶支持對話中對話的初始步驟所需的轉錄類型類似。具有類似內容的較大自定義數據集可用于實際應用程序。

您可以直接下載和解壓縮 AN4 數據集,或使用以下命令:

wget

http://www.speech.cs.cmu.edu/databases/an4/an4_sphere.tar.gz

tar -xvf an4_sphere.tar.gz

TAO 工具包培訓和微調模塊期望數據以特定格式呈現。可以使用 dataset _ convert 命令完成此預處理。我們將 AN4 和 Mozilla 的通用語音數據集的規范文件與 TAO 啟動器一起打包。您可以在步驟 1 中定義的目錄中找到這些規范文件。

這些清單文件(圖 3 )包含在后面的步驟中使用的以下信息:

  • 音頻文件的路徑
  • 每個文件的持續時間
  • 每個文件的文字內容
The manifest files specify three things, the path to the audio file, duration of the said file, and the exact transcription for the audio.

圖 3 。已處理清單文件的結構

tao speech_to_text_citrinet dataset_convert \ -e /speech_to_text_citrinet/dataset_convert_an4.yaml \ -r /citrinet/dataset_convert \ source_data_dir= /an4 \ target_data_dir=/an4_converted

此命令將音頻文件轉換為 WAV 文件,并生成訓練和測試清單文件。有關更多信息,請參閱Preparing the Dataset。

在大多數情況下,您都會進行預處理,但 CitriNet 模型是一個特例。它需要以子詞標記化的形式進行進一步處理,為文本創建子詞詞匯表。這與 Jasper 或 QuartzNet 不同,因為在它們的情況下,詞匯表中只有單個字符被視為元素。在 CitriNet 中,子字可以是一個或多個字符。這可以使用以下命令完成:

tao speech_to_text_citrinet create_tokenizer \ -e /speech_to_text_citrinet/create_tokenizer.yaml \ -r /citrinet/create_tokenizer \ manifests=/an4_converted/train_manifest.json \ output_root=/an4 \ vocab_size=32

到目前為止,您已經建立了一個工具,為諸如遷移學習之類的復雜問題提供低代碼或無代碼解決方案。您已經下載了一個預訓練的模型,將音頻文件處理為必要的格式,并執行了標記化。您使用的命令不到 10 個。現在,所有必要的細節都已散列出來,您可以繼續微調模型。

步驟 3 :使用超參數進行微調

正如在前面的步驟中所做的那樣,您正在與規范文件交互。有關更多信息,請參閱Creating an Experiment Spec File。如果要調整 FFT 窗口大小的大小,可以指定幾乎所有內容,從特定于訓練的參數(如優化器)到特定于數據集的參數,再到模型配置本身。

是否要更改學習速率和調度程序,或者在詞匯表中添加新字符?無需打開代碼庫并對其進行掃描以進行更改。所有這些定制都很容易獲得,并可在整個團隊中共享。這減少了在嘗試新想法和分享結果以及模型配置方面的摩擦,從而提高了準確性。

以下是如何微調培訓師:

trainer: max_epochs: 3 # This is low for demo purposes tlt_checkpoint_interval: 1 change_vocabulary: true

以下是如何微調標記器:

tokenizer: dir: /path/to/subword/vocabulary type: "bpe" # Can be either bpe or wpe

以下是如何微調優化器:

optim: name: novograd lr: 0.01 betas: [0.8, 0.5] weight_decay: 0.001 sched: name: CosineAnnealing warmup_steps: null warmup_ratio: null min_lr: 0.0 last_epoch: -1

以下是如何微調數據集:

# Fine-tuning settings: validation dataset validation_ds: manifest_filepath: /path/to/manifest/file/ sample_rate: 16000 labels: [" ", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "'"] batch_size: 32 shuffle: false finetuning_ds: manifest_filepath: ??? sample_rate: 160000 labels: [" ", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "'"] batch_size: 32 trim_silence: true max_duration: 16.7 shuffle: true is_tarred: false tarred_audio_filepaths: null

最后,要繼續,請根據需要修改規范文件并運行以下命令。此命令使用先前下載的數據集微調下載的模型。有關更多信息,請參閱Fine-Tuning the Model。

tao speech_to_text_citrinet finetune \ -e $SPECS_DIR/speech_to_text_citrinet/finetune.yaml \ -g 1 \ -k \ -m /speechtotext_english_citrinet_1024.tlt \ -r $RESULTS_DIR/citrinet/finetune \ finetuning_ds.manifest_filepath=$DATA_DIR/an4_converted/train_manifest.json \ validation_ds.manifest_filepath=$DATA_DIR/an4_converted/test_manifest.json \ trainer.max_epochs=1 \ finetuning_ds.num_workers=1 \ validation_ds.num_workers=1 \ trainer.gpus=1 \ tokenizer.dir=$DATA_DIR/an4/tokenizer_spe_unigram_v32

在對模型進行微調或培訓后,自然會評估模型并評估是否需要進一步微調。為此, NVIDIA 為evaluate your model和run inference提供了功能。

將微調模型導出到 Riva

在生產環境中部署模型會帶來一系列挑戰。為此,您可以使用NVIDIA Riva,一種 GPU 加速 AI 語音 SDK 來開發實時轉錄和虛擬助理等應用程序。

Riva 使用其他 NVIDIA 產品

  • NVIDIA Triton Inference Server用于簡化大規模生產中模型的部署。
  • NVIDIA TensorRT用于通過優化 NVIDIA GPU s 的模型來加速模型并提供更好的推理性能。

如果您對使用本演練中微調的模型感興趣,可以使用以下命令將其導出到 Riva 。有關更多信息,請參閱Model Export。

tao speech_to_text_citrinet export \ -e /speech_to_text_citrinet/export.yaml \ -g 1 \ -k \ -m /citrinet/train/checkpoints/trained-model.tlt \ -r /citrinet/riva \ export_format=RIVA \ export_to=asr-model.riva

在下一篇文章中,我們將介紹如何安裝 NVIDIA Riva 在生產環境中部署這些模型,以及如何使用NGC Catalog中的眾多模型之一。

關于作者

About Tanay Varshney
Tanay Varshney 是 NVIDIA 的一名深入學習的技術營銷工程師,負責廣泛的 DL 軟件產品。他擁有紐約大學計算機科學碩士學位,專注于計算機視覺、數據可視化和城市分析的橫斷面。

About Sirisha Rella
Sirisha Rella 是 NVIDIA 的技術產品營銷經理,專注于計算機視覺、語音和基于語言的深度學習應用。 Sirisha 獲得了密蘇里大學堪薩斯城分校的計算機科學碩士學位,是國家科學基金會大學習中心的研究生助理。

審核編輯:符乾江

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

    關注

    14

    文章

    5026

    瀏覽量

    103288
  • 人工智能
    +關注

    關注

    1792

    文章

    47445

    瀏覽量

    239058
收藏 人收藏

    評論

    相關推薦

    嵌入式和人工智能究竟是什么關系?

    、連接主義和深度學習等不同的階段。目前,人工智能已經廣泛應用于各種領域,如自然語言處理、計算機視覺、智能推薦等。 嵌入式系統和人工智能在許
    發表于 11-14 16:39

    人工智能、機器學習深度學習存在什么區別

    人工智能指的是在某種程度上顯示出類似人類智能的設備。AI有很多技術,但其中一個很大的子集是機器學習——讓算法從數據中學習
    發表于 10-24 17:22 ?2507次閱讀
    <b class='flag-5'>人工智能</b>、機器<b class='flag-5'>學習</b>和<b class='flag-5'>深度</b><b class='flag-5'>學習</b>存在什么區別

    AI大模型深度學習的關系

    AI大模型深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大
    的頭像 發表于 10-23 15:25 ?951次閱讀

    《AI for Science:人工智能驅動科學創新》第二章AI for Science的技術支撐學習心得

    人工智能在科學研究中的核心技術,包括機器學習深度學習、神經網絡等。這些技術構成了AI for Science的基石,使得AI能夠處理和分析復雜的數據集,從而發現隱藏在數據中的模式和規
    發表于 10-14 09:16

    《AI for Science:人工智能驅動科學創新》第一章人工智能驅動的科學創新學習心得

    人工智能:科學研究的加速器 第一章清晰地闡述了人工智能作為科學研究工具的強大功能。通過機器學習深度學習等先進技術,AI能夠處理和分析海量
    發表于 10-14 09:12

    FPGA在人工智能中的應用有哪些?

    定制化的硬件設計,提高了硬件的靈活性和適應性。 綜上所述,FPGA在人工智能領域的應用前景廣闊,不僅可以用于深度學習的加速和云計算的加速,還可以針對特定應用場景進行
    發表于 07-29 17:05

    深度學習模型有哪些應用場景

    深度學習模型作為人工智能領域的重要分支,已經在多個應用場景中展現出其巨大的潛力和價值。這些應用不僅改變了我們的日常生活,還推動了科技進步和產業升級。以下將詳細探討
    的頭像 發表于 07-16 18:25 ?2064次閱讀

    預訓練和遷移學習的區別和聯系

    預訓練和遷移學習深度學習和機器學習領域中的兩個重要概念,它們在提高模型性能、減少訓練時間和降低
    的頭像 發表于 07-11 10:12 ?1124次閱讀

    深度學習中的模型權重

    深度學習這一充滿無限可能性的領域中,模型權重(Weights)作為其核心組成部分,扮演著至關重要的角色。它們不僅是模型學習的基石,更是
    的頭像 發表于 07-04 11:49 ?1507次閱讀

    人工智能、機器學習深度學習是什么

    在科技日新月異的今天,人工智能(Artificial Intelligence, AI)、機器學習(Machine Learning, ML)和深度學習(Deep Learning,
    的頭像 發表于 07-03 18:22 ?1342次閱讀

    人工智能深度學習的五大模型及其應用領域

    隨著科技的飛速發展,人工智能(AI)技術特別是深度學習在各個領域展現出了強大的潛力和廣泛的應用價值。深度學習作為人工智能的一個核心分支,通過
    的頭像 發表于 07-03 18:20 ?4725次閱讀

    深度學習模型訓練過程詳解

    深度學習模型訓練是一個復雜且關鍵的過程,它涉及大量的數據、計算資源和精心設計的算法。訓練一個深度學習模型
    的頭像 發表于 07-01 16:13 ?1376次閱讀

    機器學習怎么進入人工智能

    人工智能已成為一個熱門領域,涉及到多個行業和領域,例如語音識別、機器翻譯、圖像識別等。 在編程中進行人工智能的關鍵是使用機器學習算法,這是一類基于樣本數據和模型訓練來進行預測和判斷的
    的頭像 發表于 04-04 08:41 ?349次閱讀

    FPGA在深度學習應用中或將取代GPU

    現場可編程門陣列 (FPGA) 解決了 GPU 在運行深度學習模型時面臨的許多問題 在過去的十年里,人工智能的再一次興起使顯卡行業受益匪淺。英偉達 (Nvidia) 和 AMD 等公
    發表于 03-21 15:19

    為什么深度學習的效果更好?

    導讀深度學習是機器學習的一個子集,已成為人工智能領域的一項變革性技術,在從計算機視覺、自然語言處理到自動駕駛汽車等廣泛的應用中取得了顯著的成功。深度
    的頭像 發表于 03-09 08:26 ?644次閱讀
    為什么<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的效果更好?
    主站蜘蛛池模板: 天天搞夜夜| 婷婷九月丁香| 日韩精品午夜| 色吧综合网| 欧美在线视频免费播放| 天天干天天夜| 日日拍拍| 亚洲福利午夜| 国产精品国产三级国快看| 欧美一级一一特黄| 亚洲第一区二区快射影院| 亚洲精品www| 日韩亚洲人成在线综合日本| 美女黄色一级片| 午夜在线观看福利| 都市激情综合网| 久久大尺度| 看全黄大片狐狸视频在线观看| 手机在线黄色| 午夜肉伦伦影院| 亚洲特黄大黄一级毛片| 欧美一卡二卡3卡4卡无卡六卡七卡科普| 国产精品1区2区3区在线播放| 欧美精品aaa久久久影院| 婷婷网五月天天综合天天爱| 888米奇色狠狠俺去啦| 丁香婷婷电影| 天天干在线影院| 大量国产后进翘臀视频| 深夜动态福利gif动态进| 亚洲国产成人成上人色| 拍拍拍拍拍拍拍无挡大全免费 | 一区二区三区视频| 六月激情丁香| 黄色在线观看视频网站| 久久99国产精品免费观看| 操白虎美女| 国产在线播放成人免费| 黄蓉吕文德欲乱系列小说| 天堂资源在线bt种子| 天堂中文在线www|