Skip to main content

ASR ガイド

Automatic Speech Recognition(ASR)は、音声を自動で文字起こしする、いわゆる音声からテキストへの変換を指します。本記事では、NVIDIA の Neural Modules(NeMo)ツールキットを使ってエンドツーエンドの ASR システムを学習する方法と、実験や性能指標の追跡に Weights & Biases を使用する方法を説明します。
Created on August 25|Last edited on August 25

環境のセットアップ

ここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行できる環境を整えることから始めます。
まず最初にインスタンスを起動します。AWSそして、NeMo を実行するために必要な依存関係をマシンにインストールします。これから使用するのは NVIDIA NGC および Jupyter Notebook はこちら。
環境を整える手順は以下の通りです。 NVIDIA NeMoここまでで自��音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行できる環境を整えます。 まず最初にインスタンスを起動します。AWS にて NVIDIA GPU 最適化 AMI を使った p2.xlarge インスタンスを立ち上げ、Jupyter 用にポート 8888 をフォワードして SSH で接続します。次に NVIDIA NGC から配布されている Jupyter Notebook パッケージをダウンロードします。 その後、NVIDIA NGC から NVIDIA NeMo の Docker コンテナを取得して起動し、コンテナ内で Jupyter Notebook を起動します。ブラウザでフォワードしたポートにアクセスし、ダウンロードしたノートブックのパッケージをアップロードして解凍し、ASR と Weights & Biases(W&B)用のノートブックを開きます。 以上の6つの手順を実行することで、NeMo を使った ASR の学習と W&B による実験トラッキングが行える AWS 環境が整います。
  1. AWS インスタンスを起動するここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行できる環境を整えます。 まず最初にインスタンスを起動します。AWS にて NVIDIA GPU 最適化 AMI を使った p2.xlarge インスタンスを立ち上げ、Jupyter 用にポート 8888 をフォワードして SSH で接続します。次に NVIDIA NGC から配布されている Jupyter Notebook パッケージをダウンロードします。 その後、NVIDIA NGC から NVIDIA NeMo の Docker コンテナを取得して起動し、コンテナ内で Jupyter Notebook を起動します。ブラウザでフォワードしたポートにアクセスし、ダウンロードしたノートブックのパッケージをアップロードして解凍し、ASR と Weights & Biases(W&B)用のノートブックを開きます。 以上の6つの手順を実行することで、NeMo を使った ASR の学習と W&B による実験トラッキングが行える AWS 環境が整います。 AWS インスタンスを起動するp2.xlargeおよび使用する NVIDIA GPU 最適化 AMIここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行するための環境を整えます。 1. NVIDIA GPU 最適化 AMI を使って p2.xlarge インスタンスを起動する 2. SSH でインスタンスに接続し、Jupyter 用にポート 8888 をフォワードする 3. NVIDIA NGC から配布されている Jupyter Notebook パッケージをダウンロードする 4. NVIDIA NGC から NVIDIA NeMo の Docker コンテナをプルして起動する 5. コンテナ内で Jupyter Notebook を起動し、ブラウザからフォワードしたポートにアクセスできるようにする 6. ダウンロードしたノートブックパッケージをアップロードして解凍し、ASR と Weights & Biases 用のノートブックを開く 以上の6つの手順を実行すれば、NeMo を使った ASR の学習と Weights & Biases による実験トラッキングが行える AWS 環境が整います。 Docker コンテナを起動する コマンドを使ってコンテナを起動します。 コンテナ内に入ったら、Jupyter Notebook を起動する に移動する へ Jupyter Notebook にアクセスする
  2. AWS インスタンスに SSH で接続するおよびポート8888をフォワードします。
  3. Jupyter Notebook をダウンロードする ここ(NGC)これをダウンロードします。 files.zip
  4. NGC から NVIDIA NeMo の Docker コンテナをプルする ここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行するための環境を整えます。 1. NVIDIA GPU 最適化 AMI を使って p2.xlarge インスタンスを起動する 2. SSH でインスタンスに接続し、Jupyter 用にポート 8888 をフォワードする 3. NVIDIANGC から配布されている Jupyter Notebook パッケージをダウンロードする 4. NVIDIANGC から NVIDIANeMo の Docker コンテナをプルして起動する 5. コンテナ内で Jupyter Notebook を起動し、ブラウザからフォワードしたポートにアクセスできるようにする 6. ダウンロードしたノートブックパッケージをアップロードして解凍し、ASR と Weights&Biases 用のノートブックを開く 以上の6つの手順を実行すれば、NeMo を使った ASR の学習と Weights&Biases による実験トラッキングが行える AWS 環境が整います。 docker pull nvcr.io/nvidia/nemo:1.6.1ここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行するための環境を整えます。 1. NVIDIA GPU 最適化 AMI を使って p2.xlarge インスタンスを起動する 2. SSH でインスタンスに接続し、Jupyter 用にポート 8888 をフォワードする 3. NVIDIA NGC から配布されている Jupyter Notebook パッケージをダウンロードする 4. NVIDIA NGC から NVIDIA NeMo の Docker コンテナをプルして起動する 5. コンテナ内で Jupyter Notebook を起動し、ブラウザからフォワードしたポートにアクセスできるようにする 6. ダウンロードしたノートブックパッケージをアップロードして解凍し、ASR と Weights & Biases 用のノートブックを開く 以上の6つの手順を実行すれば、NeMo を使った ASR の学習と Weights & Biases による実験トラッキングが行える AWS 環境が整います。 Docker コンテナを起動する コマンドを使ってコンテナを起動します。 コンテナ内に入ったら、Jupyter Notebook を起動する に移動する へ Jupyter Notebook にアクセスする
  5. Docker コンテナを起動する コマンドを使って docker run --runtime=nvidia -it --rm --shm-size=16g -p 8888:8888 --ulimit memlock=-1 --ulimit stack=67108864 -v $(pwd):/notebooks nvcr.io/nvidia/nemo:1.6.1ここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行するための環境を整えます。 1. NVIDIA GPU 最適化 AMI を使って p2.xlarge インスタンスを起動する 2. SSH でインスタンスに接続し、Jupyter 用にポート 8888 をフォワードする 3. NVIDIA NGC から配布されている Jupyter Notebook パッケージをダウンロードする 4. NVIDIA NGC から NVIDIA NeMo の Docker コンテナをプルして起動する 5. コンテナ内で Jupyter Notebook を起動し、ブラウザからフォワードしたポートにアクセスできるようにする 6. ダウンロードしたノートブックパッケージをアップロードして解凍し、ASR と Weights & Biases 用のノートブックを開く 以上の6つの手順を実行すれば、NeMo を使った ASR の学習と Weights & Biases による実験トラッキングが行える AWS 環境が整います。 Docker コンテナを起動する コマンドを使ってコンテナを起動します。 コンテナ内に入ったら、Jupyter Notebook を起動する に移動する へ Jupyter Notebook にアクセスする
  6. コンテナ内に入ったら、Jupyter Notebook を起動する NGC から NVIDIA NeMo の Docker コンテナをプルする ここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行する環境を整えます。 1. NVIDIA GPU 最適化 AMI を使って p2.xlarge インスタンスを起動する 2. SSH でインスタンスに接続し、Jupyter 用にポート 8888 をフォワードする 3. NVIDIA NGC から配布されている Jupyter Notebook パッケージをダウンロードする 4. NVIDIA NGC から NVIDIA NeMo の Docker コンテナをプルして起動する 5. コンテナ内で Jupyter Notebook を起動し、ブラウザからフォワードしたポートにアクセスできるようにする 6. ダウンロードしたノートブックパッケージをアップロードして解凍し、ASR と Weights & Biases 用のノートブックを開く 以上の6つの手順を実行すれば、NeMo を使った ASR の学習と Weights & Biases による実験トラッキングが行える AWS 環境が整います。 Docker コンテナを起動する コマンドを使って コンテナ内に入ったら、Jupyter Notebook を起動する jupyter notebook --port 8888ここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行するための環境を整えます。 1. NVIDIA GPU 最適化 AMI を使って p2.xlarge インスタンスを起動する 2. SSH でインスタンスに接続し、Jupyter 用にポート 8888 をフォワードする 3. NVIDIA NGC から配布されている Jupyter Notebook パッケージをダウンロードする 4. NVIDIA NGC から NVIDIA NeMo の Docker コンテナをプルして起動する 5. コンテナ内で Jupyter Notebook を起動し、ブラウザからフォワードしたポートにアクセスできるようにする 6. ダウンロードしたノートブックパッケージをアップロードして解凍し、ASR と Weights & Biases 用のノートブックを開く 以上の6つの手順を実行すれば、NeMo を使った ASR の学習と Weights & Biases による実験トラッキングが行える AWS 環境が整います。 Docker コンテナを起動する コマンドを使ってコンテナを起動します。 コンテナ内に入ったら、Jupyter Notebook を起動する に移動する へ Jupyter Notebook にアクセスする
  7. に移動する localhost:8888Jupyter Notebook にアクセスするここまでで自動音声認識(ASR)と本記事で使用するツールの概要が分かったので、まずはコードを実行するための環境を整えます。 1. NVIDIA GPU 最適化 AMI を使って p2.xlarge インスタンスを起動する 2. SSH でインスタンスに接続し、Jupyter 用にポート 8888 をフォワードする 3. NVIDIA NGC から配布されている Jupyter Notebook パッケージをダウンロードする 4. NVIDIA NGC から NVIDIA NeMo の Docker コンテナをプルして起動する 5. コンテナ内で Jupyter Notebook を起動し、ブラウザからフォワードしたポートにアクセスできるようにする 6. ダウンロードしたノートブックパッケージをアップロードして解凍し、ASR と Weights & Biases 用のノートブックを開く 以上の6つの手順を実行すれば、NeMo を使った ASR の学習と Weights & Biases による実験トラッキングが行える AWS 環境が整います。 Docker コンテナを起動する コマンドを使ってコンテナを起動します。 コンテナ内に入ったら、Jupyter Notebook を起動する に移動する へ Jupyter Notebook にアクセスする
  8. ダウンロードしたファイルをアップロードする files.zip ステップ3でダウンロードしたファイルをアップロードして解凍し、ASR と Weights & Biases 用のノートブックにアクセスできるようにします。
以上で完了です。6つの簡単な手順を実行すれば、NeMo のコードを実行できる状態の AWS インスタンスが準備できます。