kasahart/LALMsArena

An Open-Source Benchmark & Playground for Large Audio Language Models

0

stars

76

commits

Python

primary language

Jul 8, 2026

updated

README

LALMsArena

An Open-Source Benchmark & Playground for Large Audio-Language Models

LALMsArena は、次世代の「Large Audio-Language Models」をサイド・バイ・サイドで比較・評価するためのオープンソース・プレイグラウンドです。 ASR(文字起こし)を介さず、音声を直接「理解」するモデル(Large Audio LLMs)が、会話、環境音、感情、音楽をどのように推論するかを、開発者が直感的に検証・ベンチマークできる環境を提供します。


🚀 Key Features

  • Side-by-Side Comparison: 同一の音声ファイルとプロンプトに対し、複数のAudio LLMが生成した回答を並べて比較。
  • Large Audio Understanding: 音声信号を直接入力可能なモデル(Large Audio LLMs)に特化。
  • Diverse Tasks: 音声要約、感情分析、背景音の特定、音楽の解釈など、多角的なテストが可能。
  • Extensible Architecture: 新しいオープンソースモデルや商用APIを簡単に追加できるプラグイン構造。

🎧 Supported Models

モデルパラメータ必要VRAMHuggingFace
MOSS-Audio-4B4B~11 GBOpenMOSS-Team/MOSS-Audio-4B-Instruct
Qwen2-Audio7B~16 GBQwen/Qwen2-Audio-7B-Instruct
Gemma-4-E4B4B~16 GBgoogle/gemma-4-E4B-it
Gemma-4-12B12B~32 GBgoogle/gemma-4-12B-it
Audio Flamingo Next7B~16 GBnvidia/audio-flamingo-next-hf
Audio Flamingo Next Captioner7B~16 GBnvidia/audio-flamingo-next-captioner-hf
Audio Flamingo Next Think7B~16 GBnvidia/audio-flamingo-next-think-hf
MOSS-Audio-8B8B~17 GBOpenMOSS-Team/MOSS-Audio-8B-Instruct
MOSS-Audio-8B-Thinking8B~17 GBOpenMOSS-Team/MOSS-Audio-8B-Thinking
MiMo-Audio-7B7B+1.2B~18 GBXiaomiMiMo/MiMo-Audio-7B-Instruct
MiMo-Audio-7B-Thinking7B+1.2B~18 GBXiaomiMiMo/MiMo-Audio-7B-Instruct
Audio-Omni7B+DiT~24 GBHKUSTAudio/Audio-Omni
SALMONN-13B ⚠️13B~26 GBtsinghua-ee/SALMONN
Nemotron-Labs-Audex-30B-A3B30B-A3B (MoE)~92 GBnvidia/Nemotron-Labs-Audex-30B-A3B
Qwen3-Omni-Captioner30B-A3B (MoE)~61 GBQwen/Qwen3-Omni-30B-A3B-Captioner
Qwen3-Omni-Thinking30B-A3B (MoE)~61 GBQwen/Qwen3-Omni-30B-A3B-Thinking
Nemotron-Nano-Omni-Reasoning30B-A3B (MoE)~61 GBnvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16
Qwen3-Omni30B-A3B (MoE)~68 GBQwen/Qwen3-Omni-30B-A3B-Instruct
Step-Audio-R1.133B~80 GBstepfun-ai/Step-Audio-R1.1

Think / Thinking モデルは推論過程(<think>...</think>)を UI 上の「思考過程」エキスパンダーで確認できます。

⚠️ SALMONN-13B は BEATs の事前学習済みチェックポイント(BEATs_iter3_plus_AS2M.pt)を手動でダウンロードして SALMONN_BEATS_PATH 環境変数に設定する必要があります。詳細は 起動方法 を参照してください。

⚠️ Nemotron-Labs-Audex-30B-A3B は NVIDIA Oneway Noncommercial License の対象です。利用前に Hugging Face のモデルカードでライセンス条件を確認してください。

🛠 Installation

Python 3.11 と uv が必要です。

HuggingFace キャッシュの場所
デフォルトでは /workspace/.cache/huggingface にキャッシュが保存されます。
大容量の外部ストレージを使いたい場合は .devcontainer/devcontainer.json のコメントアウトされたマウント行を参照してください。

# リポジトリのクローン
git clone https://github.com/kasahart/LALMsArena.git
cd LALMsArena

# 依存関係のインストール
uv sync --frozen

🏃‍♂️ Quick Start

LALMsArena は 各モデルを独立した Docker コンテナで動かし、Streamlit UI からコンテナの推論 API を呼び出す構成です。

1. 推論コンテナの起動

各コンテナの Python 依存関係は Dockerfile の build 時にモデルごとの専用環境へインストールされます。初回起動時や依存関係を更新した後は、必要に応じて docker compose build を実行してください。

GPU 環境(推奨):

# 必要なら先に build
docker compose -f docker-compose.yml -f docker-compose.gpu.yml build qwen2-audio

# 全モデルを起動(大型モデルを除く)
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d \
  qwen2-audio audio-flamingo audio-flamingo-captioner audio-flamingo-think \
  gemma4-e4b gemma4-12b moss-4b moss-8b moss-8b-thinking mimo-audio mimo-audio-thinking

# Qwen3-Omni(~61-68 GB VRAM 必要、3バリアント)
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d \
  qwen3-omni qwen3-omni-captioner qwen3-omni-thinking

# 特定のモデルだけ起動
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d qwen2-audio

Audio-Omni(~24 GB VRAM 必要):

docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d audio-omni

Nemotron-Nano-Omni-Reasoning(~61 GB VRAM 必要):

# vLLM サイドカー + FastAPI プロキシの2コンテナ構成
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d nemotron-vllm nemotron-omni-reasoning

Nemotron-Labs-Audex-30B-A3B(~92 GB VRAM 必要):

# vLLM サイドカー + FastAPI プロキシの2コンテナ構成
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d audex-vllm audex-30b-a3b

Step-Audio-R1.1(~80 GB VRAM 必要):

# vLLM サイドカー + FastAPI プロキシの2コンテナ構成
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d step-audio-vllm step-audio-r1

SALMONN-13B(要 SALMONN_BEATS_PATH 環境変数):

SALMONN_BEATS_PATH=/path/to/BEATs_iter3_plus_AS2M.pt \
  docker compose -f docker-compose.yml -f docker-compose.gpu.yml --profile salmonn up -d salmonn-13b

2. サービス一覧

サービス名モデルポート必要VRAM
moss-4bMOSS-Audio-4B8603~11 GB
qwen2-audioQwen2-Audio-7B8600~16 GB
gemma4-e4bGemma-4-E4B8602~16 GB
gemma4-12bGemma-4-12B8617~32 GB
audio-flamingoAudio Flamingo Next8601~16 GB
audio-flamingo-captionerAudio Flamingo Next Captioner8607~16 GB
audio-flamingo-thinkAudio Flamingo Next Think8608~16 GB
moss-8bMOSS-Audio-8B8604~17 GB
moss-8b-thinkingMOSS-Audio-8B-Thinking8606~17 GB
mimo-audioMiMo-Audio-7B8613~18 GB
mimo-audio-thinkingMiMo-Audio-7B-Thinking8614~18 GB
audio-omniAudio-Omni8616~24 GB
salmonn-13bSALMONN-13B8605~26 GB
audex-vllm + audex-30b-a3bNemotron-Labs-Audex-30B-A3B8618~92 GB
qwen3-omni-captionerQwen3-Omni-30B-A3B-Captioner8611~61 GB
qwen3-omni-thinkingQwen3-Omni-30B-A3B-Thinking8612~61 GB
qwen3-omniQwen3-Omni-30B-A3B (Instruct)8610~68 GB
step-audio-vllm + step-audio-r1Step-Audio-R1.18609~80 GB

コンテナの起動状態はヘルスチェックで確認できます。

docker compose ps
# または個別に確認
curl http://localhost:8600/health

3. Streamlit UI の起動

uv run streamlit run app.py

起動後、ブラウザで http://localhost:8501 にアクセスしてください。
サイドバーに各コンテナの稼働状態(🟢/🔴)と必要 VRAM が表示されます。

コンテナのホストを変更する場合 は環境変数 ARENA_API_BASE で上書きできます。
例: ARENA_API_BASE=http://192.168.1.10 uv run streamlit run app.py

📊 Evaluation Metrics

各モデルの推論結果とあわせて以下のメトリクスを UI 上で確認できます。

  • Inference Latency: サーバー側での推論時間(ms)をレスポンスごとに表示

📜 License

MIT License

Contributors

kasahart

76 commits

kasahart/LALMsArena

An Open-Source Benchmark & Playground for Large Audio Language Models

0

stars

76

commits

Python

primary language

Jul 8, 2026

updated

README

LALMsArena

An Open-Source Benchmark & Playground for Large Audio-Language Models

LALMsArena は、次世代の「Large Audio-Language Models」をサイド・バイ・サイドで比較・評価するためのオープンソース・プレイグラウンドです。 ASR(文字起こし)を介さず、音声を直接「理解」するモデル(Large Audio LLMs)が、会話、環境音、感情、音楽をどのように推論するかを、開発者が直感的に検証・ベンチマークできる環境を提供します。


🚀 Key Features

  • Side-by-Side Comparison: 同一の音声ファイルとプロンプトに対し、複数のAudio LLMが生成した回答を並べて比較。
  • Large Audio Understanding: 音声信号を直接入力可能なモデル(Large Audio LLMs)に特化。
  • Diverse Tasks: 音声要約、感情分析、背景音の特定、音楽の解釈など、多角的なテストが可能。
  • Extensible Architecture: 新しいオープンソースモデルや商用APIを簡単に追加できるプラグイン構造。

🎧 Supported Models

モデルパラメータ必要VRAMHuggingFace
MOSS-Audio-4B4B~11 GBOpenMOSS-Team/MOSS-Audio-4B-Instruct
Qwen2-Audio7B~16 GBQwen/Qwen2-Audio-7B-Instruct
Gemma-4-E4B4B~16 GBgoogle/gemma-4-E4B-it
Gemma-4-12B12B~32 GBgoogle/gemma-4-12B-it
Audio Flamingo Next7B~16 GBnvidia/audio-flamingo-next-hf
Audio Flamingo Next Captioner7B~16 GBnvidia/audio-flamingo-next-captioner-hf
Audio Flamingo Next Think7B~16 GBnvidia/audio-flamingo-next-think-hf
MOSS-Audio-8B8B~17 GBOpenMOSS-Team/MOSS-Audio-8B-Instruct
MOSS-Audio-8B-Thinking8B~17 GBOpenMOSS-Team/MOSS-Audio-8B-Thinking
MiMo-Audio-7B7B+1.2B~18 GBXiaomiMiMo/MiMo-Audio-7B-Instruct
MiMo-Audio-7B-Thinking7B+1.2B~18 GBXiaomiMiMo/MiMo-Audio-7B-Instruct
Audio-Omni7B+DiT~24 GBHKUSTAudio/Audio-Omni
SALMONN-13B ⚠️13B~26 GBtsinghua-ee/SALMONN
Nemotron-Labs-Audex-30B-A3B30B-A3B (MoE)~92 GBnvidia/Nemotron-Labs-Audex-30B-A3B
Qwen3-Omni-Captioner30B-A3B (MoE)~61 GBQwen/Qwen3-Omni-30B-A3B-Captioner
Qwen3-Omni-Thinking30B-A3B (MoE)~61 GBQwen/Qwen3-Omni-30B-A3B-Thinking
Nemotron-Nano-Omni-Reasoning30B-A3B (MoE)~61 GBnvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16
Qwen3-Omni30B-A3B (MoE)~68 GBQwen/Qwen3-Omni-30B-A3B-Instruct
Step-Audio-R1.133B~80 GBstepfun-ai/Step-Audio-R1.1

Think / Thinking モデルは推論過程(<think>...</think>)を UI 上の「思考過程」エキスパンダーで確認できます。

⚠️ SALMONN-13B は BEATs の事前学習済みチェックポイント(BEATs_iter3_plus_AS2M.pt)を手動でダウンロードして SALMONN_BEATS_PATH 環境変数に設定する必要があります。詳細は 起動方法 を参照してください。

⚠️ Nemotron-Labs-Audex-30B-A3B は NVIDIA Oneway Noncommercial License の対象です。利用前に Hugging Face のモデルカードでライセンス条件を確認してください。

🛠 Installation

Python 3.11 と uv が必要です。

HuggingFace キャッシュの場所
デフォルトでは /workspace/.cache/huggingface にキャッシュが保存されます。
大容量の外部ストレージを使いたい場合は .devcontainer/devcontainer.json のコメントアウトされたマウント行を参照してください。

# リポジトリのクローン
git clone https://github.com/kasahart/LALMsArena.git
cd LALMsArena

# 依存関係のインストール
uv sync --frozen

🏃‍♂️ Quick Start

LALMsArena は 各モデルを独立した Docker コンテナで動かし、Streamlit UI からコンテナの推論 API を呼び出す構成です。

1. 推論コンテナの起動

各コンテナの Python 依存関係は Dockerfile の build 時にモデルごとの専用環境へインストールされます。初回起動時や依存関係を更新した後は、必要に応じて docker compose build を実行してください。

GPU 環境(推奨):

# 必要なら先に build
docker compose -f docker-compose.yml -f docker-compose.gpu.yml build qwen2-audio

# 全モデルを起動(大型モデルを除く)
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d \
  qwen2-audio audio-flamingo audio-flamingo-captioner audio-flamingo-think \
  gemma4-e4b gemma4-12b moss-4b moss-8b moss-8b-thinking mimo-audio mimo-audio-thinking

# Qwen3-Omni(~61-68 GB VRAM 必要、3バリアント)
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d \
  qwen3-omni qwen3-omni-captioner qwen3-omni-thinking

# 特定のモデルだけ起動
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d qwen2-audio

Audio-Omni(~24 GB VRAM 必要):

docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d audio-omni

Nemotron-Nano-Omni-Reasoning(~61 GB VRAM 必要):

# vLLM サイドカー + FastAPI プロキシの2コンテナ構成
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d nemotron-vllm nemotron-omni-reasoning

Nemotron-Labs-Audex-30B-A3B(~92 GB VRAM 必要):

# vLLM サイドカー + FastAPI プロキシの2コンテナ構成
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d audex-vllm audex-30b-a3b

Step-Audio-R1.1(~80 GB VRAM 必要):

# vLLM サイドカー + FastAPI プロキシの2コンテナ構成
docker compose -f docker-compose.yml -f docker-compose.gpu.yml up -d step-audio-vllm step-audio-r1

SALMONN-13B(要 SALMONN_BEATS_PATH 環境変数):

SALMONN_BEATS_PATH=/path/to/BEATs_iter3_plus_AS2M.pt \
  docker compose -f docker-compose.yml -f docker-compose.gpu.yml --profile salmonn up -d salmonn-13b

2. サービス一覧

サービス名モデルポート必要VRAM
moss-4bMOSS-Audio-4B8603~11 GB
qwen2-audioQwen2-Audio-7B8600~16 GB
gemma4-e4bGemma-4-E4B8602~16 GB
gemma4-12bGemma-4-12B8617~32 GB
audio-flamingoAudio Flamingo Next8601~16 GB
audio-flamingo-captionerAudio Flamingo Next Captioner8607~16 GB
audio-flamingo-thinkAudio Flamingo Next Think8608~16 GB
moss-8bMOSS-Audio-8B8604~17 GB
moss-8b-thinkingMOSS-Audio-8B-Thinking8606~17 GB
mimo-audioMiMo-Audio-7B8613~18 GB
mimo-audio-thinkingMiMo-Audio-7B-Thinking8614~18 GB
audio-omniAudio-Omni8616~24 GB
salmonn-13bSALMONN-13B8605~26 GB
audex-vllm + audex-30b-a3bNemotron-Labs-Audex-30B-A3B8618~92 GB
qwen3-omni-captionerQwen3-Omni-30B-A3B-Captioner8611~61 GB
qwen3-omni-thinkingQwen3-Omni-30B-A3B-Thinking8612~61 GB
qwen3-omniQwen3-Omni-30B-A3B (Instruct)8610~68 GB
step-audio-vllm + step-audio-r1Step-Audio-R1.18609~80 GB

コンテナの起動状態はヘルスチェックで確認できます。

docker compose ps
# または個別に確認
curl http://localhost:8600/health

3. Streamlit UI の起動

uv run streamlit run app.py

起動後、ブラウザで http://localhost:8501 にアクセスしてください。
サイドバーに各コンテナの稼働状態(🟢/🔴)と必要 VRAM が表示されます。

コンテナのホストを変更する場合 は環境変数 ARENA_API_BASE で上書きできます。
例: ARENA_API_BASE=http://192.168.1.10 uv run streamlit run app.py

📊 Evaluation Metrics

各モデルの推論結果とあわせて以下のメトリクスを UI 上で確認できます。

  • Inference Latency: サーバー側での推論時間(ms)をレスポンスごとに表示

📜 License

MIT License

Contributors

kasahart

76 commits

Languages

Python

87.3%

Dockerfile

8.7%

Shell

4.1%