ComposerX: Multi-Agent Symbolic Music Composition with LLMs (Qixin, 2024)
多数のLLMエージェントを使って、一つのポリフォニー音楽を作るtext-to-musicモデル
音楽生成
from
Demo Pages:
StatusAppbird.icon
AC.icon 読破
AC.icon まとめ
https://scrapbox.io/files/671c66db913b4eefc3fa55ee.png
目標
ユーザが与えたフリーフォーマット入力に対して、その内容に合致したポリフォニー音楽を自動作曲する。
これまでの研究
多くの研究者はLLMのSTEMの側面に注目している
創作的なことに取り組んだ研究は少ない。
MusicLM, MusicGenなど音楽生成モデル .... 発展的な音楽的指示に対応しづらい
Bubeckらの研究:事前学習済み大規模言語モデル(pretrained-LLM)が有効かも?
LLMのチェックポイントを用いて、end-to-endの学習を行う研究が多くなってきた
欠点
データセットが特定のタスク特有のものしか作れない
事前学習と自己教師あり学習どちらの過程もやらなくてはならない(?)
They depend heavily on hand-crafted datasets tailored for specific musical tasks and often require both a phase of continual pretraining and subsequent supervised fine-tuning.
手法
Multi-agentなLLM作曲システム ComposerX を作る
リーダー担当・作曲担当・校正担当エージェントを用意し、それぞれが対話する。*1
それぞれに特有な指示を与え(Role-Specific Instructions)、具体例を教える(In-Context Learning)ようなプロンプトを与えている。
基本、GPT-4-Turboを使う。
2.3 Multi-Agent Music Composition: ComposerX
何がすごい?
1. 学習データを個別に用意することなく、音楽が作れる。
text-to-musicの分野において質の高い学習データを作るのは難しいので、実はかなり重要appbird.icon
c.f. MustnagoのMusicBench
2. 曲を一つ作るコストがそれほど高くない。
$0.8 / song
多分、今のGPT-4oなら同手法でもっと安く作れそうappbird.icon
3. LLMを使った先行研究と比べ、単一のシステムで作れる。
4. Multi-agentによって、Single-agentよりも作曲の質を高めることができる。
5. 入力に対する楽曲生成の制御性の獲得
1. INTRODUCTION, 4. DISCUSSION::Controllability, Training-free and data-free
評価方法
1. 生成安定性(どれぐらいの割合で音楽を作ることに成功したか)による客観評価
---> GPT-4 Turboを使った時の方が、生成安定率が最も高かった。
2. Turing Test・ABテストによる主観評価を行った *2
I. single-agentとmulti-agentのどちらが「好ましい」音楽を作れるか
II. Turing-test; ComposerXは人間らしい音楽を作れるか
III. 他のシステムと比べて、Multi-Agent Systemはどれほど良い音楽を作れるのか?
他のシステム ... GPT-4Turbo以外のGPTシリーズを使ったComposerX / Musecoco / BertをFine-tuningしたもの
3.2.1 Automatic Evaluation, 3.2.2 Human Listening Test
結論
実験2-I ABテスト
Multi-Agentの方がより好ましいと判断されていそう
cot *2 とmultiではmultiの方が77%選ばれた。role *2 とmultiでは57%選ばれた。
実験2-II Turingテスト
ComposerXの作例の中で、人間と思われた割合は32.2%となっていて失敗している。
c.f. 人間の曲に対しては55%の割合で人間と思われている(!?appbird.icon)
しかし、中には人間と思わせるような生成例もあった。
実験2-III
GPT-4Turboを使うのが最も良さそう。
他モデルとは同一のスコアを叩き出している(肩を並べている)
限界・今後の課題
1. 音楽的に絶妙な表現には対応できない
2. 自然言語をどう音楽的表現に正確に置き換えるか?
しばしば、リーダー・校正担当エージェントが不適格な表現を与えていた。
3. トラック間の時間的ズレをどう解消するか?
4. 終止感・解決感
単語
inherently ... 本質的に
contrapuntal ... 対位的な
appbird.iconが感じたこと
アイデアすごい面白いし、実際にLLMでの楽曲生成をするなら有効そう。参考にしたい。
cotとmultiではmultiの方が77%選ばれた。roleとmultiでは57%選ばれた。
これ、Chain of Thoughtを使うと逆に不利になることも示唆してたりするんかな〜と図4をみながら思うappbird.icon
Roleとmulti、57%はちょいと弱くも見えるがどれぐらい有意なんだろうappbird.icon
記述の中に曖昧な形容詞が多い(より創造的な作品が出てくる、とか)
This section elaborates on these components and their significance in fostering collaborative dynamics within the framework.
こう言う文章を書くと、collaborativeが上がったことを証明してくださいとか査読で突っつかれそうでコワいappbird.icon
被験者数やプロフィールに関する記述が一切なかったのが気になる
具体的にどう言うプロンプトや指示を与えたのかの記述がなかったのも気になる
詳細
*1 システムの構成の詳細
a) まずは、リーダーが入力を受け取る。
1. Group Leader: 入力を噛み砕いて複数のタスクに分割し、他のエージェントに委託する。
b) このタスクは以下の3つの作曲担当エージェントに渡される。2, 3, 4の順に動作する。
2. Melody: 単旋律のメロディを生成する。
3. Harmony: 調和的・対位的(対位法)な要素をメロディに加える。
4. Instrument: 楽器を選ぶ
c) 最後に校正担当エージェントが受け取る
5. Reviewer: 以下の5つの視点に着目して生成物を評価する。必要があれば、2, 3, 4へ推敲を促す。
1) メロディ構造
2) 調和的・対位的な旋律
3) リズムの複雑さ
4) 楽器選択
5) 全体の構造・パートの遷移(繋ぎ目がどうか、終わり方)
これらの視点からどのようなものを良いとするかについては記述なしappbird.icon(多分GPT-4oにその評価を任せている)
*2 主観実験の詳細
特殊な条件
作曲担当エージェントと校正担当のエージェントのやり取りは、20回が上限
実験2-I ABテスト
知りたいこと
single-agentとmulti-agentのどちらが「好ましい」音楽を作れるか
比較対象
二つのシステムに同じユーザ入力を与えて作曲させる
1. 今回作ったComposerX(multi)
2. Single Agentによって構築されたシステムcot, icl, ori, role
(今回の評価の主題にはさほど関係しないので実装の詳細は割愛)
具体的には論文の2.2節 Single-Agentを参照
どう言うプロンプトを与えたかを知らせずに、どちらの方が好きかを選んでもらう
なぜプロンプトを隠したのだろう...?appbird.icon
実験2-II Turingテスト
知りたいこと
ComposerXは人間らしい音楽を作れるか
比較対象
人間の音楽 v.s. ComposerXの音楽
与えられた音楽が人間 / 機械によって作られたかを答えてもらう。
人間の音楽で人間と思われた曲の割合、ComposerXの音楽で人間と思われた曲の割合を比較
実験2-III 他のtext-to-musicシステムと比べてどうか
知りたいこと
他のモデルと比べて、Multi-Agent Systemはどれほど良い音楽を作れるのか?
比較対象
1. Musecoco
2. BARTをFine-tuningしたモデル
3. ComposerX (GPT-4 Turbo)
4. ComposerX (GPT3.5-Turbo)
4. ComposerX (GPT4-0314)
与えたプロンプトに対して、最も生成音楽が合致しているものをこの中から選ぶ。
(音楽的構造・内容に基づいて)
選ばれたものほどより良いと評価される。
被験者のサンプル数やプロフィールは論文には書かれていないappbird.icon