AIパーソナル・ラーニング
と実践的なガイダンス
サイバーナイフ用ドローイングミラー

Kimi-Audio:オープンソースの音声処理と対話ベースモデル

はじめに

Kimi-Audioは、Moonshot AIによって開発されたオープンソースの音声ベースモデルで、音声の理解、生成、対話に焦点を当てています。音声認識、音声Q&A、音声感情認識など、幅広い音声処理タスクをサポートします。このモデルは、1300万時間以上の音声データで事前に訓練されており、革新的なハイブリッドアーキテクチャと組み合わせることで、複数の音声ベンチマークで優れた性能を発揮します。kimi-Audioは、開発者が研究やアプリケーションに簡単に統合できるように、モデルの重み、推論コード、評価ツールキットを提供します。効率的な音声処理と対話機能を必要とするシナリオに適しており、明確なドキュメント、Docker展開のサポート、活発なコミュニティ、継続的なアップデートがあります。

Kimi-Audio: オープンソースの音声処理・対話ベースモデル-1


 

機能一覧

  • 音声認識(ASR):音声をテキストに変換し、多言語での音声書き起こしをサポートします。
  • Audio Question and Answer (AQA):オーディオコンテンツに基づくユーザーの質問に答え、オーディオのコンテキストを理解する。
  • 音声キャプション(AAC):音声に正確なキャプションや説明を生成します。
  • 音声感情認識(SER):嬉しい、悲しいなどの音声中の感情状態を分析。
  • サウンドイベント/シーン分類(SEC/ASC):車の音や室内環境など、オーディオ内の特定のイベントやシーンを識別します。
  • 音声合成(TTS):テキストを自然な音声に変換し、複数のトーンをサポートします。
  • 音声変換(VC):音声の音色やスタイルを変更して、パーソナライズされたオーディオを生成します。
  • エンドツーエンドの音声対話:連続的な音声対話をサポートし、自然な対話をシミュレートします。
  • ストリーミング・オーディオ生成:チャンク型ストリーミング・デコーダーによる低レイテンシーのオーディオ生成。
  • 評価ツールキット:標準化された評価ツールを提供し、異なるモデルの性能比較を容易にする。

 

ヘルプの使用

設置プロセス

Kimi-Audioのデプロイには、一貫した環境と簡単なインストールを保証するためにDockerを推奨します。詳しいインストール手順は以下の通りです:

  1. クローン倉庫
    Kimi-Audioのコードとサブモジュールを取得するには、ターミナルで以下のコマンドを実行します:

    git clone https://github.com/MoonshotAI/Kimi-Audio.git
    cd Kimi-Audio
    git submodule update --init --recursive
  1. 依存関係のインストール
    Python 3.10環境を推奨します:

    pip install -r requirements.txt
    

    設置の確認 torch 歌で応える soundfileGPUをサポートしている場合は、CUDAバージョンのPyTorchをインストールする必要があります。

  2. Dockerイメージの構築
    DockerイメージをKimi-Audioディレクトリにビルドします:

    docker build -t kimi-audio:v0.1 .
    

    あるいは、公式のビルド済みイメージを使う:

    docker pull moonshotai/kimi-audio:v0.1
    
  3. 実行中のコンテナ
    Dockerコンテナを起動し、ローカルの作業ディレクトリをマウントする:

    docker run -it -v $(pwd):/app kimi-audio:v0.1 bash
    
  4. モデルウェイトのダウンロード
    キミオーディオは主に2つのモデルを提供している:Kimi-Audio-7B(ベースモデル)と Kimi-Audio-7B-Instruct(モデルを微調整するための手順)。Hugging Faceからダウンロード:

    • moonshotai/Kimi-Audio-7B-Instruct直接使用に適している。
    • moonshotai/Kimi-Audio-7Bさらなる微調整に適している。
      Hugging Face CLIを使ってログインし、ダウンロードする:
    huggingface-cli login
    

    モデルは指定されたパスに自動的にダウンロードされます。

使用方法

Kimi-Audioのコア機能はPython APIコールで実装されています。以下に主要な機能の詳細な動作フローを示します:

1.音声認識(ASR)

オーディオファイルをテキストに変換する。サンプルコード

import soundfile as sf
from kimia_infer.api.kimia import KimiAudio
# 加载模型
model_path = "moonshotai/Kimi-Audio-7B-Instruct"
model = KimiAudio(model_path=model_path, load_detokenizer=True)
# 设置采样参数
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,
}
# 准备输入
asr_audio_path = "asr_example.wav"  # 确保文件存在
messages_asr = [
{"role": "user", "message_type": "text", "content": "请转录以下音频:"},
{"role": "user", "message_type": "audio", "content": asr_audio_path}
]
# 生成文本输出
_, text_output = model.generate(messages_asr, **sampling_params, output_type="text")
print("转录结果:", text_output)

手続き::

  • WAV形式のオーディオファイルを用意する。
  • セットアップ messages_asr タスクを転写に指定する。
  • コードを実行し、テキスト出力を得る。

2.オーディオクイズ(AQA)

音声をもとに質問に答えてください。例

qa_audio_path = "qa_example.wav"
messages_qa = [
{"role": "user", "message_type": "text", "content": "音频中说了什么?"},
{"role": "user", "message_type": "audio", "content": qa_audio_path}
]
_, text_output = model.generate(messages_qa, **sampling_params, output_type="text")
print("回答:", text_output)

手続き::

  • 情報を含むオーディオファイルをアップロードする。
  • ある messages_qa で具体的な質問を設定する。
  • モデルからテキスト応答を得る。

3.音声合成 (TTS)

テキストを音声出力に変換します。例

messages_tts = [
{"role": "user", "message_type": "text", "content": "请将以下文本转为语音:你好,欢迎使用 Kimi-Audio!"}
]
audio_output, _ = model.generate(messages_tts, **sampling_params, output_type="audio")
sf.write("output.wav", audio_output, samplerate=16000)

手続き::

  • 変換するテキストを入力します。
  • セットアップ output_type="audio" オーディオデータを取得する。
  • 利用する soundfile WAVファイルとして保存する。

4.エンド・ツー・エンドの音声対話

継続的な音声対話に対応。例

messages_conversation = [
{"role": "user", "message_type": "audio", "content": "conversation_example.wav"},
{"role": "user", "message_type": "text", "content": "请回复一段语音,介绍你的功能。"}
]
audio_output, text_output = model.generate(messages_conversation, **sampling_params, output_type="both")
sf.write("response.wav", audio_output, samplerate=16000)
print("文本回复:", text_output)

手続き::

  • 最初の音声入力とテキストコマンドを提供する。
  • セットアップ output_type="both" 音声とテキストによる応答を得る。
  • オーディオ出力を保存し、テキストを表示します。

5.評価ツールキットの使用

キミオーディオ提供 Kimi-Audio-Evalkit モデル性能評価用。設置:

git clone https://github.com/MoonshotAI/Kimi-Audio-Evalkit.git
cd Kimi-Audio-Evalkit
pip install -r requirements.txt

運用評価:

bash run_audio.sh --model Kimi-Audio --dataset all

手続き::

  • 指定したディレクトリにデータセットをダウンロードする。
  • コンフィグ config.yaml データセットのパスを指定する。
  • スクリプトを実行して評価レポートを作成します。

ほら

  • オーディオファイルのフォーマットがWAVで、サンプルレートが16kHzであることを確認してください。
  • GPU環境は推論を加速し、CUDA 12.4が推奨されている。
  • モデルのローディングには大量のメモリが必要で、少なくとも16GBのグラフィックメモリを推奨します。
  • Docker以外のデプロイメントでは、システムの依存関係を手動でインストールする必要があります。

 

アプリケーションシナリオ

  1. インテリジェントなカスタマーサービス
    Kimi-Audioは、音声対話のためのカスタマーサービスシステムの構築に使用できます。音声認識によってユーザーの質問を書き起こし、音声Q&Aを組み合わせて回答を提供し、自然な音声応答を生成します。Eコマースプラットフォームやテクニカルサポートシナリオに適しており、ユーザーエクスペリエンスを向上させます。
  2. 教材
    言語学習において、Kimi-Audioは生徒の発音を書き起こし、感情やイントネーションを分析し、フィードバックを提供します。また、テキストを音声に書き起こし、リスニング教材を作成することもできるため、オンライン教育プラットフォームにも適しています。
  3. コンテンツ制作
    ビデオ制作者はKimi-Audioを使って字幕や吹き替えを作成することができます。ビデオ用の正確な字幕を自動生成したり、スクリプトを複数のトーンを持つ音声に変換し、ポストプロダクションを簡素化することができます。
  4. カルテ
    医師が音声で症例を入力すると、Kimi-Audioがテキストに書き起こし、感情を分類して患者の感情状態の診断を支援します。病院情報システムに最適。

 

品質保証

  1. Kimi-Audioはどの言語に対応していますか?
    Kimi-Audioは、特に英語と中国語の多言語音声認識と音声生成をサポートしています。その他の言語サポートについては、公式ドキュメントをご参照ください。
  2. 推理のスピードを最適化するには?
    GPUアクセラレーションを使用するには flash-attn ライブラリ, セット torch_dtype=torch.bfloat16.さらに audio_top_k 歌で応える text_top_k パラメーターはスピードと品質のバランスをとる。
  3. そのモデルはリアルタイムの対話をサポートしているか?
    はい、Kimi-Audioのストリーミング・デコーダーは、リアルタイムの音声対話のための低遅延オーディオ生成をサポートしています。
  4. 評価用にカスタムデータセットを追加するには?
    ある Kimi-Audio-Evalkit JSONLファイルを indexそしてaudio_path 歌で応える question フィールドの修正 config.yaml データセットのパスを指定して評価スクリプトを実行するだけです。
無断転載を禁じます:チーフAIシェアリングサークル " Kimi-Audio:オープンソースの音声処理と対話ベースモデル
ja日本語