本稿では、「大地の歌」日本初演について生成AIに聞いてみた結果を報告します。ただし今回はこれまでとは以下の点で実験の条件を変更しています。
- Geminiは従来通り、2.0 Flashを用いていますが、Claudeは無料で使用できるモデルがこれまでの3.5 Sonnet から3.5 Haikuに変更になったため、3.5 Haikuを用いた結果となっています。ChatGPTについては実験を行った時点で無料版で利用できる3モデル(4o. 4o mini, o3 mini)について試行した他、同一モデルに対して複数回の問い合わせを行った結果も報告します。
- 山田育矢(監修・著)・鈴木正敏・西川荘介・藤井一喜・山田康輔・李凌寒(著)『大規模言語モデル入門II』(技術評論社, 2024)の第13章で紹介されているRAG(Retrieval-Augumented Generation)を日本語版Wikipediaのグスタフ・マーラーのカテゴリーに含まれる記事のデータから構築して問い合わせを行った結果を報告します。同書ではRAG構築のサンプルを示す際に、東京科学大がMeta Llama 2の日本語能力を強化した大規模言語モデルであるLlama 2 Swallowシリーズの最も基本的なモデルであるSwallow-7b-hfに対して、同書11章で紹介されている指示チューニングを行った独自モデル(llm-book/Swallow-7b-hf-oasst1-21k-ja、以下、LLM Book版指示チューニング済Swallow 7bモデルと呼ぶことにします)を用いていますので、同モデルに対してRAGなしで問い合わせた結果も併せて示します。また、13章3節で行われているAI王データセットを用いた指示チューニングを行ったモデル(llm-book/Swallow-7b-hf-oasst1-21k-ja-aio-retriever、以下、LLM Book版AI王指示チューニング済Swallow 7bモデルと呼ぶことにします)での検証も行いましたので、その結果も報告します。またRAGで用いる文埋め込みモデルについても、同書のサンプルで使われている北京智源人工智能研究院(BAA, Beijing Academy of Artificial Intelligence)のBGE-3をそのまま用いている他、与える日本語版Wikipediaのデータをサンプルのオリジナルのものから自分で用意したグスタフ・マーラーのカテゴリーに含まれる記事のデータに置き換えた以外は、基本的にはサンプルコードをそのまま用いています。
結果を先取りして申し上げると、今回の質問には、Gemini, Claude, ChatGPTのいずれも正解を返すことができなかったのに対し、LLM Book版指示チューニング済Swallow 7bモデル(llm-book/Swallow-7b-hf-oasst1-21k-ja)もまたRAGなしでは正解を返すことができませんでしたが、RAGを用いた場合では正解を返すことができるようになりました。またAI王データセットで更に指示チューニングを行ったLLM Book版AI王指示チューニング済Swallow 7b(llm-book/Swallow-7b-hf-oasst1-21k-ja-aio-retriever)も同様に正しい回答を返していることを確認しています。ただし後者はクイズに回答するためのチューニングを施したものなので、漠然とした質問に対して一度に複数の事項を返す(ここでは年月日、場所、指揮者、オーケストラ)への回答ができないため、事項毎に小分けにしたプロンプトで検証しましたが、いずれも正しく答えることができています。
実はWikipediaの「大地の歌」の記事中には、以下のように日本初演の情報が含まれています。
日本初演は1941年1月22日、東京の日比谷公会堂における第222回定期演奏会にてヨーゼフ・ローゼンシュトック指揮、新交響楽団(NHK交響楽団の前身)、木下保(T)、四家文子(A)による。
それが事前にわかっていれば予想された結果ではありますし、以下の報告で確認頂ける通り、上記のWikipediaの記事がそのまま回答になっているのですが、RAGなしの状態での問い合わせに対しては、「「大地の歌」は1920年に日本で初演された。」という、単純である上に誤った回答しか返ってきませんでしたから、回答の根拠がRAGによって追加されたWikipediaの情報であることは明らかです。今回もそうですが、これまで実験に用いてきた商用ベースの生成AIの出力の「幻覚(Hallucination)」に振り回され気味で、こと今回の質問に限っては、リアルタイム検索を併用しているはずのGeminiも含めて全滅だったところに、唯一の正解が得られたこともあり、RAGの効果を実感できたように思います。
上掲書では、RAGが解決を目指すLLM(大規模言語モデル)の5つの課題として以下を掲げています(同書 pp.125~7)。
- LLMが事実に基づかない出力をしてしまう
- LLMの出力の根拠を調べるのが困難
- LLMが学習する情報の制御が困難
- より新しい情報や異分野のデータへの適応が困難
- 知識を扱うために大規模なモデルが必要
本ブログで扱っているような限定されたニッチな領域への生成AIの適用を考えると、上記の3,4がまさに該当しますし、繰り返しになりますが、これまでの報告で1,2,が大きな問題であることは確認済です。5.に関して言えば、今回用意したデータは日本語版Wikipediaのマーラーのカテゴリーの29記事、文字数にして12万強(124444文字)、文埋め込みモデルを用いて作成したベクトルのインデクス数は468に過ぎません。データ作成のために取得した日本語版Wikipediaのdumpに含まれる総記事数は2052430でしたから、全体の中で占める割合は0.001%ということになります。
大規模言語モデルへのWikipediaの利用はごく一般的に行われているので、関心のあるカテゴリーのみを抽出したり、RAG構築のためのテキストデータとして加工したりする方法について参考にできる情報はWeb上に豊富にあり、今回の実験環境構築にあたり、私もそれらを参考にさせて頂きました。そのお蔭で、初めての挑戦ということもあって若干の試行錯誤はありましたが、実質1日に満たないごく短時間のうちにマーラー専用RAGの構築を行うことができました。RAGの効果を実感できたこともさることながら、その実感の多くはそうした情報に基づくものであり、上掲書の著者の皆さん、Web上で有益な情報を提供して下さっている方々に感謝の意を表したく思います。
今回は日本語版Wikipediaの記事のみを用いましたし、サンプルコードのままであり、様々なチューニングについては全く実施しておらず(それでもうまく行ってしまったということでもあり、それはそれで驚きですが)、きちんとした評価を行っているわけでもありません。質問を変えたりすれば直ちに明らかになる通り、このままでは精度には限界がありますが、今回構築したものをベースにして更にマーラーに関する詳細で信頼性の高い情報を用意して追加していき、適切なチューニングを行うことによって精度を向上していくことは可能だと感じています。とはいえ、既に別の記事でも指摘したことですが、特に音楽の場合には言語情報のみでは根本的な限界があり、言語情報だけではなく、楽譜やMIDIデータ、音響データといったものも含めたマルチモーダルな学習を行っていく必要があるでしょうから、マーラーに関するAIアシスタントを作るためには、まだまだ課題はたくさんあると思われますが、今回はそれに向けての準備、足掛かりを得るための第一歩として捉えて頂ければと思います。
最後に、日本語版Wikipediaに基づくRAG以外の回答について、これまでに従い、簡単にコメントをしておきます。
まずLLM Book版指示チューニング済Swallow 7bモデルですが、初演年のみの簡単な回答で、しかも誤っています。ただしSwallow 7bはLlama 2ベースの、今となっては古いモデルですから、Llama 3ベースのSwallow、更には昨年末にリリースされた最新版であるLllma 3.1ベースのSwallowであれば違った結果になる可能性があります。
Geminiはリアルタイム検索を併用しており、別の事例ではその効果を窺わせるような回答もありましたが、今回は誤答を返してきています。
Claudeは「日本初演の正確な日時については、現時点で確実な情報を提供できません。」という回答を返してきており、所謂「幻覚(Hallucination)」への対策が施されていることが窺えます。(モデルが3.5 Haikuに変わったこともあるような気がします。)但し、惜しいかな、回答中の「「大地の歌」は1911年に作曲され」というくだりは、「大地の歌」の作曲時期を巡っての、主としてアルマの回想の混乱に起因する議論のことを考慮に入れても、明確に誤りといって良いでしょう。折角、初演日時については、知らないことについて知らないと言う適切な回答を返せたのに、その中に誤りが混じるのは残念なことですし、逆に読み手に、この部分は正しいのだろうと思わせてしまう効果が生じることを考えれば却って危険にさえ思われ、不徹底なのが惜しまれます。
ChatGPTは相変わらずフェイクが目につきます。同一モデルで複数の回答を出させると、その度に違った情報が提示されるのは、今回のような事実の確認をするタイプの問い合わせの場合に限れば、回答の信頼性の低さを示すものになっているように感じられます。一方で、モデルによる回答の傾向の違いは興味深く思われます。あくまでも感覚レベルの印象に過ぎませんが、4oはとにかく何かもっともらしい答えを返すことが重視されているようであるのに対し、o3 miniは推論に重きをおいたモデルということで、「資料によっては若干の異論もありますが、一般的にこの日付が日本初演として紹介されています。」というような、回答の信憑性について若干の含みを持たせた回答になっており、推論過程で回答の尤度について何らかの評価がされたことを窺わせます。4o miniの最初の回答は奇妙なもので、第9交響曲との関係は単なる出鱈目ですが、日付を明示的に回答に含めず、各種資料への参照を求めるような回答になっているのは、やはり回答の尤度が高くないという評価の結果の現われでしょうか?2つ目と3つ目の回答は、それぞれ明確なフェイクであり、他の作品についての情報等から、それらしい回答をでっち上げたもののように見えます。それにしても、ChatGPTについてはモデルを切り替えつつ、のべ6回、同一のプロンプトを送った訳ですが、その全てで初演に関する事実について異なった6バージョンの回答が返ってきたのには、驚きを通り越して呆れてしまいました(苦笑)。これがフィクションであれば、6種類の可能世界に分岐が起きるということになるのでしょうが、事実問題については笑い事では済まされないし、こういう分岐が起きること自体、全てがフェイクであることを暗黙裡に告げているようなものです。恐らく、事実についての情報が事前学習結果に明示的には含まれなかった可能性が高く、基本的に日時、場所、指揮者について、関連性の高い情報からもっともらしさが最大のものを拾って回答を作り上げるという、生成AIのやり方が顕わになっているように思います。Claudeの回答はまた異なったものでしたが、少なくとも今回利用したChatGPTに限って言えば、その情報の空間の中では、正解というのも所詮はもっともらしさが最大のものに過ぎず、恐らくは確率的な過程が含まれていることもあり、ゆらぎの効果によって回答毎に異なった答えが出るように、寧ろ意図的に設計ないしチューニングされていることが窺えるように思います。もっともこの点についても、例えば、知識が不十分な領域の質問に答える状況で、とにかく回答することが求められている場合、例えば授業で当てられた学生が当てずっぽうの回答を繰り返すようなシーンや、それこそAI王ではありませんが、クイズの回答者としてわからなくても答えを言わなくてはならないような状況を思い浮かべれば、人間のやっていることがどれだけ違うのかは甚だ怪しく感じられますから、この点を以て機械と人間に線を引くことはできないでしょう。
今回の質問に関して、Gemini, Claude, ChatGPTのいずれにも共通して言える(序に言えば、SwallowおよびそのベースとなっているLlamaについても同様ですが)のは、RAGに追加で与えた日本語版Wikipediaの記事は公開されているものであり、事前学習の祭に使用しようと思えば可能であったと考えられることです。その一方で、Wikipediaでも英語版をはじめとする日本語版以外の言語の版には、わざわざ日本初演の情報を含める必要性が乏しいと考えられることから、英語による言語データが事前学習の中心であるとするならば、事前学習の対象となる言語データには「大地の歌」の日本初演の情報はそもそも含まれていなかった可能性も少なからずあるでしょう。
マーラーの作品というニッチな領域の情報であるという点だけではなく、日本固有といったような地域性の高い情報という観点に立った時、理想的には多言語モデルで大規模言語モデルを構築し、言語横断的転移学習を行うということになるのでしょうが、そのために必要とされる膨大なリソースのことを考えると、より現実的な選択肢としては、やはりRAGのような仕組みによる補完が有効なのではないかと思います。更に言えば、仕組みはRAGに限定される必要はないのですが、唯一の巨大な汎用大規模言語モデルが全てに対応するのではなく、一定程度の汎用性は確保しつつも、それぞれ個性と得意分野をもった大規模言語モデルが複数存在し、必要ならばそれらが協調するというイメージの方が私個人としてはより好ましいものに感じられます。そのためにも、大規模言語モデルのローカライズ、パーソナライズの手段・方法が整備され、誰でも使えるようになることが望ましいように思え、その具体的手段の一つしてRAGが既に手元にあることは非常に心強いことに感じられたことを以て本稿の報告を終えようと思います。
(2025.3.26 公開,27, 28, 29加筆修正)
* * *
プロンプト(共通): 「大地の歌」の日本初演は?
* * *
LLM Book版指示チューニング済Swallow 7bモデル(llm-book/Swallow-7b-hf-oasst1-21k-ja) + 日本語版Wikipediaに基づくRAG
「大地の歌」の日本初演は1941年1月22日、東京の日比谷公会堂における第222回定期演奏会で、ヨーゼフ・ローゼンシュトック指揮、新交響楽団(NHK交響楽団の前身)、木下保(T)、四家文子(A)によって行われた。
LLM Book版指示チューニング済Swallow 7bモデル(llm-book/Swallow-7b-hf-oasst1-21k-ja)
「大地の歌」は1920年に日本で初演された。
* * *
マーラーの交響曲「大地の歌」の日本初演は、1969年です。
初代音楽監督・森正の指揮、東京都交響楽団によって演奏されました。
* * *
「大地の歌」の日本初演については、具体的な日付と演奏者について、私の現在の知識では確実な情報を提供できません。もし正確な初演の詳細を知りたいのであれば、日本の音楽史の専門家や音楽図書館などに確認することをお勧めします。
マーラーの作品が日本で初めて演奏されるまでには、当時の西洋音楽受容の文脈を考慮すると、相当の時間を要したと推測されます。「大地の歌」は1911年に作曲され、1911年11月にミュンヘンで初演されていますので、日本への伝播にはある程度の時間がかかったと考えられます。
申し訳ありませんが、日本初演の正確な日時については、現時点で確実な情報を提供できません。
* * *
マーラーの交響曲「大地の歌」の日本初演は、1952年5月18日 に行われました。指揮者:渡邉曉雄
オーケストラ:日本フィルハーモニー交響楽団
会場:日比谷公会堂この公演は、日本におけるマーラー作品の普及において重要な節目となりました。
ChatGPT (4o, 2025.3.26 2回目)
マーラーの**「大地の歌」**の日本初演は、1965年5月28日に行われました。
指揮者: 若杉弘
管弦楽: NHK交響楽団
会場: 東京文化会館
この公演では、テノールのエルンスト・ヘフリガーとバリトンのディートリヒ・フィッシャー=ディースカウが独唱を務めました。
「大地の歌」(The Song of the Earth)は、グスタフ・マーラーの交響曲第8番ではなく、交響曲第9番の一部として知られる歌曲集です。日本初演は、マーラーの交響曲第9番が取り上げられた際に行われました。特に「大地の歌」は日本でマーラーの作品が紹介された際に重要な位置を占めており、正確な初演の情報は、日本での演奏会などで記録されています。
具体的な演奏日程については、演奏会の記録によるものであるため、詳細な情報はオーケストラや音楽史に関する資料から確認できますが、日本での初演は20世紀初頭のものとして、特に注目されています。
ChatGPT (4o-mini, 2025.3.26 2回目)
「大地の歌」(原題:Das Lied von der Erde)は、グスタフ・マーラーが作曲した交響曲で、1908年に完成されました。この作品の日本初演は、1935年に行われました。指揮はレオポルト・ストコフスキーで、東京で演奏されたと言われています。
ChatGPT (4o-mini, 2025.3.26 3回目)
「大地の歌」(原題:Das Lied von der Erde)の日本初演は、1925年(大正14年)に行われました。指揮者は佐藤功一(さとう こういち)で、東京音楽学校(現・東京芸術大学)での演奏が行われました。この作品は、グスタフ・マーラーの最後の交響曲の一つで、東洋的な詩を使った独特の風味を持つ音楽として、日本でも注目されました。
ChatGPT (o3, 2025.3.26)
「大地の歌」は、グスタフ・マーラー作曲の交響詩『Das Lied von der Erde』の日本語タイトルです。日本初演は、東京文化会館で東京交響楽団によって演奏され、指揮を務めたのは近衛秀麿氏で、1961年12月19日に行われました。
なお、資料によっては若干の異論もありますが、一般的にこの日付が日本初演として紹介されています。
* * *
LLM Book版AI王指示チューニング済Swallow 7bモデル(llm-book/Swallow-7b-hf-oasst1-21k-ja)+ 日本語版Wikipediaに基づくRAG
プロンプト:「大地の歌」の日本初演はいつ、どこで?
1941年1月22日、日比谷公会堂
プロンプト:「大地の歌」の日本初演の指揮者は?
ヨーゼフ・ローゼンシュトック
プロンプト:「大地の歌」の日本初演のオーケストラは?
NHK交響楽団