0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GPUなしでLiquidAIのLFM2-Audio-1.5Bを実行する方法

Posted at

LiquidAIのLFM2-Audio-1.5BをGPUなしで動かしてみた!

こんにちは、しゅんです!
今回も見てくれてありがとうございます。LiquidAIの新しいend-to-end audio foundation modelです。LFM2-Audio-1.5Bを紹介します。このモデルは、音声とテキストを扱うマルチモーダルな生成モデルで、低いレイテンシーとリアルタイム会話を考慮して設計されています。驚くべきことに、1.5Bパラメータでありながら、大規模なモデルと同等の能力を実現しています。

今回は、GPUなしでも動かす方法についても解説します。

公式Huggingfaceのページ

以下の内容を順に説明していきます!

LFM2-Audio-1.5Bの特徴

LFM2-Audio-1.5Bは、LiquidAIが開発した最初のエンドツーエンドのオーディオ基盤モデルです。このモデルは、リアルタイムな会話を想定して設計されており、わずか1.5Bパラメータでありながら、大規模なモデルに匹敵する能力を発揮します。

主な特徴:

  • マルチモーダルモデル:音声とテキストを処理するため、別途ASR(音声認識)やTTS(テキスト音声合成)のコンポーネントが不要。これ一つで完結できる。
  • FastConformerベースのオーディオエンコーダー:音声データを連続的に入力し、Mimiトークンとして音声出力を生成。
  • インタリーブ生成とシーケンシャル生成:音声対話用のリアルタイム生成と、非会話型タスク(ASR、TTS)に適した生成モード。

モデル詳細

プロパティ
パラメータ数 (LMのみ) 1.2B
オーディオエンコーダー FastConformer (115M)
バックボーン層 ハイブリッドなConv+Attention
オーディオトークナイザー Mimi(8コードブック)
コンテキスト長 32,768トークン
ボキャブラリサイズ 65,536(テキスト) / 2049×8(オーディオ)
精度 bfloat16
ライセンス LFM Open License v1.0
対応言語 英語

LFM2-Audio-1.5Bの実行方法

自分の環境

MBP M4 32GB MacとCUDAがないパソコンで動かす方法も紹介します。特に、MPSが使えない場合の対策も解説しています。

1. パッケージのインストール

まずは、liquid-audioパッケージをインストールします。これにより、LFM2-Audioモデルを簡単に利用できます。

# 基本的なインストール
pip install liquid-audio

# デモ用の依存関係をインストール
pip install "liquid-audio[demo]"

# FlashAttention 2のインストール(オプション)
pip install flash-attn --no-build-isolation
pip install gradio     
pip install fastrtc 

2. Gradioデモの実行

インストール後、以下のコマンドで簡単にデモを実行できます。しかし、Macの場合、仮想環境内のデバイス設定をCPUに変更しないと動作しません。device: torch.device | str = "cuda",device: torch.device | str = "cpu",に変更する必要があります。

対象のファイルは以下です:

  • .venv/lib/python3.12/site-packages/liquid_audio/processor.py
  • .venv/lib/python3.12/site-packages/liquid_audio/model/lfm2_audio.py
  • .venv/lib/python3.12/site-packages/liquid_audio/moshi/models/loaders.py
liquid-audio-demo

このコマンドを実行すると、ローカルホストのポート7860でWebサーバーが起動し、ブラウザからアクセス可能になります。(http://localhost:7860/)

3. マルチターン・マルチモーダルチャット

liquid-audioでは、テキストと音声をインタラクティブにやり取りできるシンプルなチャット機能も提供しています。ここでは、音声とテキストを交互に入力し、対話を行う例を示します(公式)。

import torch
import torchaudio
from liquid_audio import LFM2AudioModel, LFM2AudioProcessor, ChatState, LFMModality

# モデルのロード
HF_REPO = "LiquidAI/LFM2-Audio-1.5B"

processor = LFM2AudioProcessor.from_pretrained(HF_REPO).eval()
model = LFM2AudioModel.from_pretrained(HF_REPO).eval()

# 入力のセットアップ
chat = ChatState(processor)

chat.new_turn("system")
chat.add_text("Respond with interleaved text and audio.")
chat.end_turn()

chat.new_turn("user")
wav, sampling_rate = torchaudio.load("assets/question.wav")
chat.add_audio(wav, sampling_rate)
chat.end_turn()

chat.new_turn("assistant")

# 生成処理
text_out = []
audio_out = []
modality_out = []
for t in model.generate_interleaved(**chat, max_new_tokens=512, audio_temperature=1.0, audio_top_k=4):
    if t.numel() == 1:
        print(processor.text.decode(t), end="", flush=True)
        text_out.append(t)
        modality_out.append(LFMModality.TEXT)
    else:
        audio_out.append(t)
        modality_out.append(LFMModality.AUDIO_OUT)

# 音声ファイルの保存
mimi_codes = torch.stack(audio_out[:-1], 1).unsqueeze(0)
with torch.no_grad():
    waveform = processor.mimi.decode(mimi_codes)[0]
torchaudio.save("answer1.wav", waveform.cpu(), 24_000)

LFM2-Audio-1.5Bの性能

VoiceBench(音声入力)

なるほど、記事内の表についての修正ですね!以下の内容を反映した修正を行います。


LFM2-Audio-1.5Bの性能

📈 VoiceBench(音声入力)

モデルのパフォーマンスをいくつかのタスクで測定した結果、LFM2-Audioは非常に高いスコアを記録しています。

モデル名 AlpacaEval CommonEval WildVoice SD-QA MMSU OBQA BBH IFEval ADVBench 総合スコア
LFM2-Audio-1.5B 3.71 3.49 3.17 30.56 31.95 44.40 30.54 98.85 67.33 56.78
Moshi 2.01 1.60 1.30 15.64 24.04 25.93 47.40 10.12 44.23 29.51
Qwen2.5-Omni-3B 3.72 3.51 3.42 44.94 55.29 76.26 61.30 32.90 88.46 63.57
Mini-Omni2 2.32 2.18 1.79 9.31 24.27 26.59 46.40 11.56 57.50 33.49

📊 ASR(音声認識)

LFM2-AudioのASR性能は非常に高く、以下のように多くのデータセットで高精度な音声認識を達成しています。

モデル名 Open AMI GigaSpeech LibriSpeech-clean LibriSpeech-other TED-LIUM 平均
LFM2-Audio-1.5B Yes 15.58 10.67 2.01 4.39 7.24 7.24
Qwen2.5-Omni-3B Yes 15.95 10.02 2.01 3.91 3.86 7.15
Whisper-large-V3 No 16.73 10.76 2.73 5.54 3.91 7.93
elevenlabs/scribe_v1 No 14.43 9.66 1.79 3.31 3.17 6.47

Gradioデモの実行の結果

まとめ

LFM2-Audio-1.5Bは、音声とテキストを効率的に処理できる最先端のマルチモーダルモデルです。低パラメータでありながら、非常に高い性能を発揮し、GPUなしでも動作可能な点が魅力的です。Gradioを使ったデモで簡単に試すことができ、実際の音声とテキストを交互に生成する機能も提供されています。かなりいい感じで反応していました。スピードも良かったです・面白かったです。ですがやはりたまに精度が悪くなります。

いつも最後まで読んでくれて、ありがとうございます!

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?