Slide 20
Slide 20 text
論文読解例: mini-omni2 -> ここは発表では飛ばす
● https://arxiv.org/abs/2410.11190 , https://github.com/gpt-omni/mini-omni2
● これは何?
○ S2Sモデル
○ gpt-4oのように単一のモデルでVision, Audio (Speech), Textを入力でき、Realtime APIのようにend-to-endでリアルタイムに音声入力し出力
をストリーミング生成可能なモデル
○ mini-omniの後継。Vision入力、ストリーミング生成、interrupt機能(音声対話中断)に対応
● ここがすごいよmini-omni2
○ delay部分がガチでかしこい
● アーキテクチャ
○ 入力
■ Vision Encoder
● CLIPの ViT-B/32 (openai/clip-vit-base-patch32) を使ってencode
● Adapter層 (1層) 挿入 <- ここが学習対象
■ Audio Encoder
● Whisper-small のエンコーダのみを使ってencode
● Adapter層 (1層) 挿入 <- ここが学習対象
○ Language Model (主部)
■ Qwen2-0.5Bがベース
■ デフォルトのvocabにSNAC tokenizerのvocabをくっつける
○ 出力 (Text-Instruct Delay Parallel Decoding)
■ テキストトークンと オーディオトークンを擬似的に並列生成
● テキスト1層+音声7層のlogitをスライスして使っている
● テキスト->音声は1ステップずれた交互生成の形をとる
● 学習の流れ
○ Stage1: Multimodal Encoder Adaptation
■ Vision, Audioのエンコーダの後ろにあるアダプタを学習する -> テキスト埋め込みに近い表現になるようにしたい
■ encoder, LLMは固定しアダプタのweightのみを更新
■ 損失関数はCE loss (LLMの最終CE loss)
○ Stage2: Modality Alignment with Languague Model
■ マルチモーダル入力 -> テキスト出力の学習を行う
● 画像QAや音声QAのデータセットでの学習
■ encoder, アダプタは固定しLLMのweightのみを更新
■ 損失関数はCE loss
○ Stage3: Post-Training of the Model's Multimodal Output Capabilities /Semantic Interruption
■ 音声生成を含めた学習を行う (adapterも一部更新)
■ テキストと音声の同時生成(を行えるようにする
■ 損失関数はCE loss
● 利用しているデータセット
○ テキストQA: Open-Orca
○ ASR: LibriTTS, VCTK, Multilingual LibriSpeech
○ 音声QA: Moss-002-sft (ttsで音声変換)
○ 画像QA: ALLaVA-4V
○ 音声アシスタント: VoiceAssistant-400K
20