はじめに
本稿では、NVIDIAが新しく公開した多言語音声AIのためのデータセットとモデルについて、その技術的なポイントや意義を詳しく解説します。音声認識や翻訳AIは急速に発展していますが、対応言語の数には大きな偏りがあるのが現状です。今回NVIDIAが公開したツールは、特にデータが少ない言語におけるAI開発を加速させる可能性を秘めています。
参考記事
- タイトル: Now We’re Talking: NVIDIA Releases Open Dataset, Models for Multilingual Speech AI
- 発行元: NVIDIA Blogs
- 発行日: 2025年8月15日
- URL: https://blogs.nvidia.com/blog/speech-ai-dataset-models/
要点
- NVIDIAは、多言語の音声認識および翻訳AIの開発を支援するため、大規模な公開データセット「Granary」と、それを用いて学習させた2つのAIモデル「Canary-1b-v2」および「Parakeet-tdt-0.6b-v3」をリリースした。
- Granaryは、約100万時間に及ぶ音声データを含み、データが少ない言語を含む25のヨーロッパ言語に対応するオープンソースのデータセットである。
- 独自のデータ処理パイプラインにより、人手によるラベル付け作業なしに高品質な学習データを生成し、従来のデータセットに比べて約半分のデータ量で同等の精度を達成することが可能である。
- Canary-1b-v2は精度を重視した10億パラメータのモデルであり、文字起こしと翻訳タスクにおいて高い性能を示す。
- Parakeet-tdt-0.6b-v3は処理速度(スループット)を重視した6億パラメータのモデルであり、リアルタイム処理や大規模な文字起こしに適している。
- これらのツールはHugging FaceやGitHubを通じて公開されており、開発者はより容易に高性能な多言語音声AIアプリケーションを構築できる。
詳細解説
背景:AIにおける言語の壁
世界には約7,000もの言語が存在しますが、現在のAI言語モデルが対応できているのは、その中のごく一部に過ぎません。特に、英語や中国語のようにインターネット上で大量のデータが利用可能な言語と、そうでない言語との間には、AI開発の進捗に大きな差が生まれています。この「データ格差」が、AI技術を世界中の人々が等しく利用する上での大きな障壁となっています。
AI、特に音声認識や翻訳モデルを学習させるには、音声とその内容を書き起こしたテキストがペアになった「ラベル付きデータ」が大量に必要です。しかし、多くの言語ではこのデータが不足しており、収集・作成には膨大なコストと時間がかかります。NVIDIAの今回の発表は、この根本的な課題に対する一つの解決策を示すものです。
Granary:高品質な学習データを効率的に生成する大規模データセット
今回公開されたGranaryは、このデータ不足問題を解決するために開発された、オープンソースの多言語音声データセットです。その特徴は以下の通りです。
- 圧倒的なデータ量と多様性
Granaryは約100万時間もの音声データを収録しています。内訳は、音声認識(聞いた音声をテキストにするタスク)用に約65万時間、音声翻訳(聞いた音声を別の言語のテキストにするタスク)用に35万時間以上です。クロアチア語やエストニア語といった、これまで学習データが限られていた言語を含む、25のヨーロッパ言語をカバーしています。 - 革新的なデータ処理パイプライン
Granaryの最も重要な点は、人手によるラベル付け作業を大幅に削減したことです。NVIDIAは、同社が開発したNVIDIA NeMo Speech Data Processorというツールキットを活用し、ラベルが付いていない生の音声データから、高品質で構造化された学習データを自動で生成するパイプラインを構築しました。これにより、従来よりもはるかに効率的に、質の高い学習データを用意することが可能になりました。このパイプライン自体もGitHubで公開されており、他の開発者が別の言語に応用することも期待されます。 - 高い学習効率
この高品質なデータセットを用いることで、AIモデルはより効率的に学習を進めることができます。NVIDIAの研究によれば、他の代表的なデータセットと比較して、目標とする精度に達するまでに必要なGranaryのデータ量は約半分で済むことが示されています。これは、AI開発の時間と計算コストを大幅に削減できることを意味します。
目的で選べる2つの高性能モデル:CanaryとParakeet
NVIDIAはGranaryデータセットを使って学習させた、特性の異なる2つの新しい音声AIモデルも公開しました。どちらのモデルも、句読点や大文字・小文字を自動で付与し、単語ごとのタイムスタンプ(発話時間)を出力する機能を備えています。
- NVIDIA Canary-1b-v2:精度を追求したモデル
Canaryは、10億パラメータを持つモデルで、高い精度を重視して設計されています。ヨーロッパ言語の高品質な文字起こしに加え、英語とその他24言語間の翻訳タスクで優れた性能を発揮します。その精度は、AIモデルの共有プラットフォームであるHugging Faceの多言語音声認識リーダーボードにおいて、公開されているモデルの中でトップクラスに位置しています。さらに、同等の品質を持つ3倍大きなモデルと比較して、推論(AIが実際に処理を行う)速度が最大10倍速いという効率性も兼ね備えています。 - NVIDIA Parakeet-tdt-0.6b-v3:速度とリアルタイム性を追求したモデル
Parakeetは、6億パラメータを持つ、より軽量なモデルです。こちらはリアルタイム処理や大量の音声を一度に処理することに特化しており、高いスループット(処理能力)を誇ります。Hugging Faceのリーダーボードでは、多言語モデルとして最高のスループットを記録しています。特筆すべきは、入力された音声がどの言語であるかを自動で検出し、追加の指示なしに文字起こしを開始できる点です。これにより、多言語が混在する環境でもスムーズな運用が可能になります。
使い方
前提条件
Granaryデータセットを使用する前に、音声ファイルを適切に整理する必要があります。データセットには音声ファイル自体は含まれておらず、各音声ファイルへのパスやメタデータのみが含まれています。以下の構造で音声ファイルを配置してください:
your_audio_directory/
├── yodas/ # YODAS-Granary音声データ
│ └── <language>/
│ └── *.wav
├── voxpopuli/ # VoxPopuli音声データ
│ └── <language>/
│ └── *.flac
├── ytc/ # YouTube-Commons音声データ
│ └── <language>/
│ └── *.wav
└── librilight/ # LibriLight音声データ(英語のみ)
└── en/
└── *.flac
HuggingFace Datasetsライブラリでの基本的な使い方
- 必要なライブラリのインストール
pip install datasets
- 言語レベルでのデータアクセス
from datasets import load_dataset
# ドイツ語のすべてのデータ(ASR + AST)
ds = load_dataset("nvidia/granary", "de")
# ドイツ語の音声認識データのみ
ds = load_dataset("nvidia/granary", "de", split="asr")
# ドイツ語→英語音声翻訳データのみ
ds = load_dataset("nvidia/granary", "de", split="ast")
- 特定のコーパスに限定したアクセス
# ドイツ語のYODASデータのみ
ds = load_dataset("nvidia/granary", "de_yodas")
# ドイツ語のVoxPopuliデータのみ
ds = load_dataset("nvidia/granary", "de_voxpopuli")
# 英語のLibriLightデータのみ<
ds = load_dataset("nvidia/granary", "en_librilight")
- 大きなデータセットのストリーミング読み込み
# メモリ効率を重視してストリーミング読み込み
ds = load_dataset("nvidia/granary", "de", streaming=True)
データ構造の理解 各データサンプルには以下の情報が含まれています:
{
"audio_filepath": "yodas/de/audio.wav", # 音声ファイルのパス
"text": "こんにちは世界", # 元言語の転写テキスト
"duration": 3.45, # 音声の長さ(秒)
"source_lang": "de", # 元言語コード
"target_lang": "en", # ターゲット言語
"taskname": "asr", # タスクタイプ("asr" または "ast")
"utt_id": "unique_id_123", # 発話の一意識別子
"original_source_id": "video_123", # 元の音声/動画ID
"dataset_source": "yodas", # コーパス元("yodas", "voxpopuli"等)
"answer": "Hello world" # ターゲットテキスト
}
NVIDIA NeMoとの統合
NVIDIA NeMoツールキットユーザーは、整理された音声データがあれば、すぐに使えるマニフェストファイルを利用できます:
# NeMoでの直接利用例
manifest_path = "de/yodas/de_asr.jsonl" # YODAS ドイツ語 ASR
manifest_path = "de/voxpopuli/de_asr.jsonl" # VoxPopuli ドイツ語 ASR
manifest_path = "de/voxpopuli/de_ast-en.jsonl" # VoxPopuli ドイツ語→英語 AST
大規模トレーニング用の最適化
大規模なトレーニングには、WebDataset形式への変換が推奨されます:
git clone https://github.com/NVIDIA/NeMo.git
cd NeMo
python scripts/speech_recognition/convert_to_tarred_audio_dataset.py \
--manifest_path=<マニフェストファイルへのパス> \
--target_dir=<出力ディレクトリへのパス> \
--num_shards=<オーディオを含むtarファイルの数> \
--max_duration=<音声サンプルの最大時間> \
--min_duration=<音声サンプルの最小時間> \
--shuffle --shuffle_seed=1 \
--sort_in_shards \
--force_codec=flac \
--workers=-1
新しい言語への拡張
公開されているパイプラインを使用して、他の言語用のデータセットを作成することも可能です:
git clone https://github.com/NVIDIA/NeMo-speech-data-processor.git
cd NeMo-speech-data-processor
python main.py \
--config-path=dataset_configs/multilingual/granary/ \
--config-name=granary_pipeline.yaml \
params.target_language="your_language" \
params.audio_source="your_audio_corpus"
開発者と社会にもたらす意義
今回公開されたGranaryデータセットと2つのモデルは、AI開発者コミュニティにとって非常に価値のあるツールです。開発者はこれらのツールを基盤として、多言語対応のチャットボット、コールセンターの音声アシスタント、リアルタイム翻訳サービスといった、より高度でグローバルなアプリケーションを効率的に開発できます。
また、これまでAIの恩恵を受けにくかった言語圏の人々にとっても、自分たちの言語で利用できるAIサービスが増えるきっかけとなり、情報格差の是正にも繋がる可能性があります。NVIDIAがデータ処理の手法まで公開したことで、今後、ヨーロッパ以外の言語圏においても同様の取り組みが広まっていくことが期待されます。
まとめ
今回NVIDIAが公開した大規模データセット「Granary」と、高精度な「Canary」、高速な「Parakeet」モデルは、多言語音声AI開発における「データ不足」という長年の課題に正面から取り組んだものです。人手のかかる作業を自動化し、高品質な学習データを効率的に生成するアプローチは、今後のAI開発のスタンダードを変えるかもしれません。これらのツールがオープンに利用できるようになったことで、世界中の開発者がより多様な言語に対応したAIを創造し、言語の壁を越えたコミュニケーションがさらに身近になる未来が期待されます。