ChatMusician: Understanding and Generating Music Intrinsically with LLM
著者:
Ruibin Yuan, Hanfeng Lin, Yi Wang, Zeyue Tian, Shangda Wu, Tianhao Shen, Ge Zhang, Yuhang Wu, Cong Liu, Ziya Zhou, Ziyang Ma, Liumeng Xue, Ziyu Wang, Qin Liu, Tianyu Zheng, Yizhi Li, Yinghao Ma, Yiming Liang, Xiaowei Chi, Ruibo Liu, Zili Wang, Pengfei Li, Jingcheng Wu, Chenghua Lin, Qifeng Liu, Tao Jiang, Wenhao Huang, Wenhu Chen, Emmanouil Benetos, Jie Fu, Gus Xia, Roger Dannenberg, Wei Xue, Shiyin Kang, Yike Guo
プロジェクトリソース:
お気持ち
音楽と言語の融合を目指した新しいLLMモデル「ChatMusician」の論文が発表されました。
特に興味深いのは、音楽をテキストベースの表現(ABC 記譜法)で扱うことで、言語モデルの枠組みを活用しつつ音楽の構造や理論を学習させている点です。これにより、音楽生成や理解のタスクをLLMの能力と自然に結びつけることができています。
また、新しいベンチマーク MusicTheoryBench の提案は良さげです。
小話
楽曲を音符や記号などで書き表したものは譜面(ふめん)で呼ばれていて、ABC 譜を自動的に五線譜 や MIDI データに変換するソフトウェアがあるそうです。
ChatGPT に ABC 譜 を書いてもらえば、ソフトウェアを介して音楽を奏でることも可能です。
もし気になった音楽を ABC 譜にできたら、ググることもできそうです。
ただ、単旋律の音楽しか扱えないという限界があるそうです。
民族音楽を中心に ABC 譜による楽曲の厖大なデータが公開されているため、研究で利用できそうです。
例: アイルランドの伝統音楽 (ケルト音楽、アイリッシュ音楽)
今回の研究では、音源というより ABC 譜のテキストファイルを扱っている点に留意してください。
モデルが生成したもの自体が音源ではないので、すぐに音を聞けるわけではないです。
どんなもの?
ChatMusicianは、LLaMA2をベースに音楽理解・生成能力を組み込んだオープンソースのLLMです。
https://gyazo.com/b05b635a540f004de3ec1353135666b0
トレーニングは、LLaMA2-7B-Baseの重みから始め、事前学習とファインチューニングを行っています。
ABC記法の活用:音楽をテキストで表現することで LLMの枠組みを自然に音楽タスクに適用します。これにより、音楽の構造や繰り返しパターンを効率的に学習できます。
多様な音楽生成能力:和音、メロディ、モチーフ、音楽形式など、様々な条件に基づいて音楽を生成可能。これは音楽創作の柔軟性を大きく向上できます。
MusicTheoryBenchの提案:音楽知識と推論能力を評価する新しいベンチマークを提供しています。
推しポイント
ABC記法の圧縮率:ABC記法は他の音楽表現形式(MIDI, WAV)と比較して非常に高い圧縮率を達成。これにより、トレーニングコストと学習の複雑さを大幅に削減。
音楽理解能力:MusicTheoryBenchにおいて、ChatMusicianはGPT-3.5やLLaMA2-7B-Baseを上回る性能を示し、特に音楽推論タスクではGPT-4に匹敵する結果を達成。
音楽生成の質:人間による評価実験では、ChatMusicianが生成した音楽がGPT-4やGPT-3.5よりも好まれる傾向が示された。
*音楽データの異なる表現方法を比較すると、左から右に向かって、データの圧縮率が高くなっていきます。
https://gyazo.com/34e73020d6b633da9d0da29e4fc76b41
Wav(波形):
最も左に位置し、圧縮率が最も低い(つまり、データサイズが最も大きい)。
音声の波形を直接表現する形式で、時間軸に対する振幅の変化を示しています。
特徴:最も詳細な音響情報を含むが、データサイズが非常に大きい。
Codec:
Wavよりも圧縮された音声データ形式。
人間の聴覚特性を利用して、知覚的に重要でない情報を省略することで圧縮を実現。
特徴:音質を保ちつつ、データサイズを削減。
MIDI(ピアノロールとして可視化):
音符の情報をデジタルデータとして表現。
縦軸が音高、横軸が時間を表し、各音符が長方形で表示されています。
特徴:音楽の構造的情報を保持しつつ、大幅にデータサイズを削減。
ABC notation(ABC 記譜法):
最も右に位置し、圧縮率が最も高い(つまり、データサイズが最も小さい)。
テキストベースの音楽表記法で、音符、和音、リズムなどを文字と数字で表現。
特徴:非常にコンパクトで、人間にも読みやすく、機械処理にも適している。
Method 技術や手法のキモはどこ?
LLMに音楽能力を注入するために事前学習データセット MusicPile を作っています。
Pile、Falcon RefinedWeb、Wikipedia などの一般的なコーパスを使用して、音楽関連のコーパスを構築しています
音楽関連の単語リストを基準として、Pile からより音楽に関連するコーパスを抽出しています。
選択基準:音楽用語が10回以上出現し、ドメイン一致率が0.5%以上。
この方法により、一般的な言語理解を維持しつつ、音楽に関連する文脈を効果的に抽出しています。
指示データとチャットデータは Conover et al. (2023), Peng et al. (2023), Wang et al. (2023b) などの代表的なデータセットを含め、複数ラウンドの対話能力を獲得させるためにチャットデータセット(Wang et al., 2023a) を含めています。
これにより、モデルは単なる知識ベースではなく、インタラクティブな音楽タスクにも対応可能になります。
音楽知識のために、YouTubeから200万曲のメタデータを収集し、50万件を抽出して、GPT-4 を使用してメタデータの要約を生成しています。Self-instructアプローチに従い、音楽知識 QA ペアを生成(GPT-4で回答も生成)しています。
この手法により、大量の構造化された音楽関連データを効率的に生成しています。
数学とコードのデータを含めることで、音楽の構造や理論の理解力向上を図っています。
これは音楽の数学的側面や構造的側面の学習に寄与すると考えられます。
構成比
一般データ: 64.68%
これは最も大きな割合を占めており、モデルの基本的な言語理解能力を維持するために重要です。
Pile、Falcon RefinedWeb、Wikipediaなどの一般的なコーパスがこれに含まれます。
音楽スコア: 18.43%
2番目に大きな割合を占めており、モデルの音楽生成能力に直接関わる重要なデータです。
ABC記法で記述された楽譜データがこれに該当します。
音楽言語: 10.42%
- 音楽に関する言語的な説明、解説、議論などが含まれます。
- YouTubeのメタデータや、GPT-4で生成された音楽関連の要約やQAペアがこれに該当します。
数学: 4.05%
比較的小さな割合ですが、音楽の構造や理論の理解を深めるために含まれています。
コード: 2.43%
最も小さな割合ですが、プログラミング的思考や構造化された表現の学習に寄与します。
音楽生成のために楽譜コーパスも作っています。
音楽を記号や数値で表現したデータセットが不足しているが、LLM の音楽生成能力を支えるデータセットが必要なため、モデルが多様な音楽スタイルと構造を学習し、高品質な音楽を生成するための楽譜コーパスを構築しています。
実際の音声ファイルではなく、楽譜のような形式で音楽情報を表現されたもの
例:
MIDI形式のファイル集
MusicXML形式の楽譜データ
ABC 記譜法で書かれた民謡コレクション
収集された音楽データの地理的分布を世界地図上にプロットすると、多様性があり、偏りのない学習データであることを示しています。
https://gyazo.com/dc1f132571f93c32c72ffcad9fd75542
タスク設計:
収集されたデータを基に、8つの代表的な音楽タスクを設計しました。
a. 6つの生成タスク:
和音進行に基づく生成
例:与えられた "C-Am-F-G" という和音進行に合うメロディを生成
メロディに基づく和声付け
例:「きらきら星」のメロディに適切な和音を付ける
モチーフに基づく生成
例:短い動機 "C-E-G" を発展させて完全な曲を作る
音楽形式に基づく生成
例:ABAの三部形式で曲を生成
スタイルに基づく生成
例:バッハ風のコラールを作曲
b. 2つの理解タスク:
モチーフ抽出
例:与えられた曲から繰り返し現れる特徴的な音型を見つける
形式分析
例:与えられた曲がソナタ形式かロンド形式かを判断
指示の多様性:
各タスクに対して複数の指示文を用意しています。
https://gyazo.com/8d96cfd83f1310759cd3875b58be30d6
意義:多様な指示文を用意することで、モデルがより柔軟に異なる表現や要求に対応できるようになります。
例:
「与えられた和音進行を使って曲を作ってください」
「バッハ風のコラールを4声で作曲してください」
「この曲の主要なモチーフを抽出してください」
音楽理解能力を評価するためのベンチマーク MusicTheoryBench を作っています。
音楽情報検索の進歩にもかかわらず高度な音楽理解能力の定義が不明確だったため、LLM の音楽理解能力を評価するための新しいベンチマークを作ったそうです。
音楽理解の定義
音楽知識(Music Knowledge)
定義:音楽理論、歴史、楽器特性、文化的文脈などの音楽常識の蓄積された理解
例:音階の種類、和音の機能、音楽史の主要な出来事の理解
音楽推論(Music Reasoning)
定義:明示的でない和声、調性、リズム、その他の音楽要素を推論する能力
例:和音進行からの調性推測、メロディ構造の分析、楽曲形式の判断
ベンチマークの構成
総問題数:372問
内訳:
音楽知識に関する問題:269問
音楽推論に関する問題:98問
Few-shot評価用の問題:5問
形式:4つの選択肢から1つの正解を選ぶ多肢選択問題
作成プロセス
プロの大学音楽教師による問題作成
音楽家チームによる複数回の議論とレビュー
問題の形式と言語
JSONとABC文字列形式でコンパイル
問題の半数を中国語で作成、その後英語に翻訳
翻訳と校正
GPT-4 Azure APIを使用して中国語から英語へ翻訳
チームによるプルーフリード
評価対象となる音楽理論の範囲(Appendix Bより)
音高、音価、記譜システム
リズム、拍子、音価の組み合わせ
音程
和音(三和音、七の和音)
音階と調性
.......
評価方法
ゼロショット設定:事前の例示や微調整なしでモデルを評価
選択肢のシャッフル:5回シャッフルして平均精度を計算
報告指標:平均正解率
具体的な問題例
音楽知識の例 (Question a):
主に暗記によって答えられる概念を含んでいます。
問題:「三和音に関する以下の記述のうち、正しいものはどれですか?」
選択肢:
A: 「三和音は3つの音符でのみ構成できる」
B: 「すべての三和音は協和音である」
C: 「三和音が転回されても、その性質と協和性は元の位置と一貫している」
D: 「三和音は、3度関係で3つの音を重ねることで形成される和音として定義される」
正解:D
この問題は、三和音の定義に関する基本的な知識を問うています。正解のDは三和音の正確な定義を述べています。
音楽推論の例 (Question b):
下行、自然短音階、導音の知識を要求し、楽譜に基づく推論が必要です。
問題:「以下のうち、Eを導音とする下行自然短音階はどれですか?」
選択肢:
A, B, C: (それぞれ異なる音階が楽譜で示されています)
D: 「最初の3つの選択肢のいずれも正しくない」
正解:D
この問題は、下行自然短音階、導音の概念理解、そして提示された楽譜の分析を要求しています。正解のDは、提示された選択肢がいずれも正しくないことを示しています。
https://gyazo.com/5c2584b9e0a80aff46758f4d2d381fc7
Experiments どうやって有効だと検証した?
トレーニング設定
モデルの初期化: LLaMA2-7B-Baseの重みを使用し、16ビット精度で初期化。
学習パイプライン: 継続的な事前学習とファインチューニングの組み合わせを採用。
LoRA (Low-Rank Adaptation) の使用: 注意層とMLP層にLoRAアダプターを統合。
追加学習: 埋め込み層と全ての線形層も学習対象に。
最大シーケンス長: 2048トークン
ハードウェア: 16台の80GB A800 GPU
学習エポック: 事前学習1エポック、ファインチューニング2エポック
メモリ効率化: DeepSpeedを使用
最適化アルゴリズム: AdamW(学習率1e-4)
学習率スケジューラ: 5%ウォームアップのコサインスケジューラ
学習初期は徐々に学習率を上げていき、その後は学習率をなめらかに下げていく雰囲気かな
勾配クリッピング: 1.0に設定
勾配をしきい値で打ち切る戦略だが、勾配の発散には対処できるが消失には対応できないのが課題なのかな
LoRAパラメータ: 次元64、アルファ16、ドロップアウト0.1
バッチサイズ: 8
データ設定
事前学習: 全てのトレーニングデータを組み合わせ、1エポックの学習を実施。
データ比率の探索: 楽譜と音楽知識&要約データの比率を2:1に設定。
この比率は経験的に決定され、音楽生成と理解の両面で優れた性能を示しつつ、MMULパフォーマンスも保証。
初期ファインチューニング: 78Kサンプルで10エポック
最終ファインチューニング: 1.1Mサンプルで2エポック、比率は維持
ベースライン
ベースラインとして選択されたモデル: GPT-3.5、GPT-4、LLaMA-2
選択理由: ChatGPTシリーズの音楽能力の観察に基づく
評価方法:
一般言語能力評価:
使用ベンチマーク: MMLU(Massive Multitask Language Understanding)
評価設定: 5-shot設定
評価結果:
ChatMusician 46.80%, LLaMA2-7B-Base 46.79%
音楽理解能力評価:
使用ベンチマーク: MusicTheoryBench(本研究で提案)
音楽知識(269問)と音楽推論(98問)を評価する新ベンチマーク
LLMの音楽ドメインにおける能力を定量的に評価する枠組み
特に音楽推論タスクは、和声進行や調性の推論など、高度な音楽理論の理解が伴うそう
評価設定: ゼロショット設定
評価方法: 選択肢をシャッフルして5回評価し、平均精度を報告
評価結果:
音楽知識: ChatMusician 39.5%, GPT-3.5 31.2%, LLaMA2-7B-Base 33.3%
音楽推論: ChatMusician 26.3%, GPT-4 25.6%
音楽生成能力評価
主要評価: 人間による判断
追加メトリクス:
a) フレーズレベルの反復メトリクス
b) パース成功率メトリクス
c) 平均パーセンタイルスコアメトリクス(モデルの制御可能性評価用)
評価結果:
ChatMusicianの生成音楽がGPT-4より76%の確率で好まれた。
Discussion 議論はある?
モデルの限界:現状ではアイルランド音楽スタイルに偏っている傾向がある。
ChatMusician の現在のバージョンは、主にアイルランド音楽のスタイルで音楽を生成しますが、データセットの大部分がこのジャンルから取得されているため
倫理的配慮:著作権侵害の可能性や、生成された情報の正確性に関する懸念がある。