Kimi-Audio: オープンソースの多機能音声基盤モデルで音声理解を深める
Kimi-Audioは、音声理解、生成、対話に優れたオープンソースの音声基盤モデルです。本記事では、その機能と活用方法について詳しく解説します。
Kimi-Audio: オープンソースの多機能音声基盤モデルで音声理解を深める
Kimi-Audioは、音声理解、生成、対話に優れたオープンソースの音声基盤モデルです。本記事では、その機能と活用方法について詳しく解説します。
Kimi-Audioとは?
Kimi-Audioは、単一の統合フレームワーク内で多様な音声処理タスクを処理できる汎用的な音声基盤モデルです。その優れた点は以下の通りです。
- 多様な機能: 音声認識 (ASR)、音声質問応答 (AQA)、音声キャプション (AAC)、音声感情認識 (SER)、サウンドイベント/シーン分類 (SEC/ASC)、エンドツーエンドの音声対話など、多様なタスクに対応します。
- 最先端の性能: 多数の音声ベンチマークでSOTA(最先端)の結果を達成しています。
- 大規模事前学習: 1300万時間以上の多様な音声データ(会話、音楽、効果音)とテキストデータで事前学習されており、ロバストな音声推論と自然言語理解を実現します。
- 革新的なアーキテクチャ: ハイブリッド音声入力 (連続的な音響特徴 + 離散的なセマンティックトークン) と、テキストと音声のトークン生成用の並列ヘッドを持つLLM(大規模言語モデル)コアを採用。
- 効率的な推論: 低遅延の音声生成のために、フローマッチングに基づくチャンクワイズストリーミングデトークナイザーを搭載。
- オープンソース: コード、事前学習済みモデルとインストラクションファインチューニング済みモデル、包括的な評価ツールキットを公開し、音声AI研究開発を促進します。
Kimi-Audioのアーキテクチャ
Kimi-Audioは、以下の3つの主要コンポーネントで構成されています。
-
オーディオトークナイザー: 入力音声を以下に変換します。
- ベクトル量子化を使用した離散的なセマンティックトークン (12.5Hz)。
- Whisperエンコーダーから派生した連続的な音響特徴 (12.5Hzにダウンサンプリング)。
-
オーディオLLM: Transformerベースのモデル(Qwen 2.5 7Bのような事前学習済みテキストLLMから初期化)。多言語入力を処理する共有レイヤーと、テキストトークンと離散的な音声セマンティックトークンを自己回帰的に生成する並列ヘッドを備えています。
-
オーディオデトークナイザー: 予測された離散的な音声セマンティックトークンを高忠実度の波形に変換するために、フローマッチングモデルとボコーダー (BigVGAN) を使用。低遅延のチャンクワイズストリーミングをサポートしています。
クイックスタート:Kimi-Audioを使ってみよう
以下の例では、音声からのテキスト生成 (ASR) と、会話形式でのテキストと音声の生成の基本的な使用方法を示します。
import soundfile as sf
from kimia_infer.api.kimia import KimiAudio
# --- 1. モデルのロード ---
model_path = "moonshotai/Kimi-Audio-7B-Instruct"
model = KimiAudio(model_path=model_path, load_detokenizer=True)
# --- 2. サンプリングパラメータの定義 ---
sampling_params = {
"audio_temperature": 0.8,
"audio_top_k": 10,
"text_temperature": 0.0,
"text_top_k": 5,
"audio_repetition_penalty": 1.0,
"audio_repetition_window_size": 64,
"text_repetition_penalty": 1.0,
"text_repetition_window_size": 16,
}
# --- 3. 例1:音声からテキスト (ASR) ---
messages_asr = [
# テキストとしてコンテキストまたは指示を提供できます
{"role": "user", "message_type": "text", "content": "Please transcribe the following audio:"},
# 音声ファイルのパスを提供します
{"role": "user", "message_type": "audio", "content": "test_audios/asr_example.wav"}
]
# テキスト出力のみを生成します
_, text_output = model.generate(messages_asr, **sampling_params, output_type="text")
print(">>> ASR Output Text: ", text_output) # 期待される出力:"这并不是告别,这是一个篇章的结束,也是新篇章的开始。"
# --- 4. 例2:音声から音声/テキストの会話 ---
messages_conversation = [
# 音声クエリで会話を開始します
{"role": "user", "message_type": "audio", "content": "test_audios/qa_example.wav"}
]
# 音声とテキストの両方の出力を生成します
wav_output, text_output = model.generate(messages_conversation, **sampling_params, output_type="both")
# 生成された音声を保存します
output_audio_path = "output_audio.wav"
sf.write(output_audio_path, wav_output.detach().cpu().view(-1).numpy(), 24000) # 24kHz出力と仮定
print(f">>> Conversational Output Audio saved to: {output_audio_path}")
print(">>> Conversational Output Text: ", text_output) # 期待される出力:"A."
print("Kimi-Audio inference examples complete.")
評価と性能
Kimi-Audioは、広範な音声ベンチマークで最先端の性能を達成しています。特に、自動音声認識(ASR)や音声理解において高い精度を誇ります。
異なるベンチマークでのパフォーマンスについては、Kimi-Audio-Evalkitを使用することで簡単に再現できます。
Kimi-Audio-Evalkit:音声AIモデルの評価ツールキット
音声基盤モデルの評価と比較は、一貫性のないメトリクス、変化する推論構成、標準化された生成評価の欠如によって困難です。
この問題を解決するために、開発されオープンソース化されたのがKimi-Audio-Evalkitです。
主な機能:
- Kimi-Audioや他の最新AI音声モデルを統合。
- 標準化されたメトリック計算を実装し、インテリジェントな判断のためにLLM(大規模言語モデル)を統合 (例: AQAの場合)。
- 再現性を実現するために、共有可能な推論「レシピ」を備えたサイドバイサイド比較のための統一プラットフォームを提供。
- 音声の会話能力を評価するためのベンチマーク (制御、共感、スタイル) を含む。
音声AIにおける会話能力の評価:Kimi-Audio-Generation-Testset
Kimi-Audio-Generation-Testsetは、音声ベースの対話モデルの会話能力を評価するために設計されたテストセットです。多様な指示や会話プロンプトを含む音声ファイルのコレクションで構成されており、モデルが関連性のある応答だけでなく、適切なスタイルの音声応答を生成する能力を評価することを目的としています。このデータセットの言語は中国語です。
ライセンスと謝辞
Kimi-Audioは、Qwen 2.5-7Bをベースにしており、Apache 2.0 LicenseとMIT Licenseの下で利用できます。
Kimi-Audioの開発にご協力いただいた以下のプロジェクトと個人に感謝申し上げます。
- Whisper
- Transformers
- BigVGAN
- GLM-4-Voice
まとめ
Kimi-Audioは、強力な音声処理能力を備えたオープンソースの音声基盤モデルです。様々な音声タスクに対応でき、研究開発の加速に貢献することが期待されます。ぜひ、Kimi-Audio-Evalkitを用いて、その性能を評価し、あなたのプロジェクトに活用してみてください。