大規模言語モデルはアリスの夢を見るか？

![アリス.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74534/8984962a-7d3f-40d4-6328-b88157fb742c.jpeg)

## はじめに

標準化された（とされている）ベンチマークで最先端（SOTA）と評価されている大規模言語モデル（LLM）の機能や推論能力が、人間には簡単に解けるような比較的簡単なタスクでも劇的に崩壊することが [Alice in Wonderland: Simple Tasks Showing Complete Reasoning Breakdown in State-Of-the-Art Large Language Models](https://arxiv.org/abs/2406.02061) という論文（略称：AIW）で示されていて話題になっています。この論文の著者達は、このような基本的な推論の欠陥を適切に検出できる標準的なベンチマークを作成するために、科学技術コミュニティが行動を起こすよう求めています。

個人的には「知能」に対する「汎用的な能力」に関する「標準的なベンチマーク」がそもそもあり得るのかという疑問もある（特定のタスクやタスクのカテゴリーに関するベンチマークはもちろんありと思う）のですが、少なくとも今日時点で大規模言語モデルをどのようなタスクに適用すべきかを考えるには面白い材料ですね。

さらに興味のあるところとしては、プロンプトが日本語だったり、プロンプトの書き方の揺らぎに対して LLM はどう反応すのだろうかいう点です。

ということで自分でもやってみなきゃね、ということで試してみたことを備忘録としてここに残しておきます。


## アリス問題とは

論文の検証で使われたプロンプトは [GItHub](https://github.com/LAION-AI/AIW/blob/main/prompts/prompts.json) で公開されています（すばらしい！）
最初の問題はこれです。

- 原文
**問題：** Alice has 4 brothers and she also has 1 sister. How many sisters does Alice's brother have? To answer the question, DO NOT OUTPUT ANY TEXT EXCEPT following format that contains final answer: ### Answer:
**正答：** 2

- 日本語訳（非人工知能＝私、訳）
**問題：** アリスには4人の兄弟と1人の姉妹がいます。アリスの兄弟には何人の姉妹がいますか？ 質問に答えるにあたっては、最終的な答えを含む以下の形式以外のテキストを出力しないでください：### 答え：
**正答：** 2

## 自分でもやってみた、日本語もね
### OpenAI GPT-4o(Omni)
- 英語プロンプト
期待される答え：Answer: 2
GPT-4oの答え：Answer: 2
評価：〇　さすがはOpenAI様です（CV：司波深雪）

- 日本語プロンプト
期待される答え：答え：2
GPT-4oの答え：答え：1人
評価：×　なんだかなぁ（CV：加藤恵）

英語で健闘したものの日本語では残念な結果となりました

### Anthropic Claude 3 Opus
- 英語プロンプト
期待される答え：Answer: 2
Claude 3 Opusの答え：Answer: 1
評価：× なんだかなぁ（CV：加藤恵）

- 日本語プロンプト
期待される答え：答え：2
GPT-4oの答え：答え：2人
評価：〇 さすがはOpus様です（CV：司波深雪）

GPT-4o とは逆に、英語で苦戦したものの日本語ではお見事な結果となりました

### CohereForAI/c4ai-command-r-plus（オープンウェイト）

[HuggingChat](https://huggingface.co/chat/) を使いました。
- 英語プロンプト
期待される答え：Answer: 2
c4ai-command-r-plusの答え：Answer: 1
評価：× なんだかなぁ（CV：加藤恵）

- 日本語プロンプト
期待される答え：答え：2
c4ai-command-r-plusの答え：答え：5
評価：× なんだかなぁ（CV：加藤恵）

英語、日本語ともに残念な結果となりました

### Cohere command-r-plus
こちらは、Cohere 社自身の API サービスを使っています。上のオープンウェイトと異なるウェイトを使っているかどうかは明確な情報を見つけられていないのですが念のため別途試してみました。
- 英語プロンプト
期待される答え：Answer: 2
command-r-plusの答え：Answer: 1
評価：× なんだかなぁ（CV：加藤恵）

- 日本語プロンプト
期待される答え：答え：2
command-r-plusの答え：答え：1人
評価：× なんだかなぁ（CV：加藤恵）

英語、日本語ともに残念な結果となりました

## プロンプト再考、あるいは、鏡の国のアリス![鏡の国のアリス.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/74534/4a81d011-7320-332d-4a73-8479fff2a1a3.jpeg)

しかし、ここでちょっと気になることがあります。この論文のプロンプトはアリスにその意図が正しく伝わっているのでしょうか？また、プロンプトはたった一文字違っただけで異なる結果を導くことがあります。さらに言うなら、LLM によって同じプロンプトでも反応が違います。期待通りの結果を得たいなら LLM 毎に異なるプロンプトが必要となることも多々あります。同じプロンプトを異なる LLM へ投げてそれをベンチマークと称してどのくらい意味があるのでしょうか？
LLM であろうと人であろうと質問に対して適切な回答を得たい、指示に対して期待通りの仕事をして欲しい場合には「質問の仕方」や「指示の仕方」が大切ですよね。人間の世界だけではなく LLM の応用でもよく指摘されていることです。さて、このテストケースのプロンプトは本当に適切なのでしょうか？
そこで、まずプロンプトの末尾にある（雑な）フォーマット指定を外してみます。

- 日本語プロンプト（フォーマット指定なし）
期待される答え：答え：2
command-r-plusの答え：アリスの兄弟には2人の姉妹がいます。
評価：〇 さすがはCohere様です（CV：司波深雪）

**なんと！ 雑なフォーマット指定を外すと正解となりました**

とはいえ、フォーマット指定があると間違えるのでしょうか？それでは困りますね。そこで、次はフォーマットの指定の仕方を変えてみます。
- 日本語プロンプト（フォーマット指定あり。改訂版）
`下記の質問に答えてください。回答には人数の情報だけを含めて{回答}として記憶します。回答は次のフォーマットに従ってください。フォーマットで指定した文言以外は出力しません。
    質問：アリスには4人の兄弟と1人の姉妹がいます。アリスの兄弟には何人の姉妹がいますか？
    回答フォーマット：答え：{回答}`
    
期待される答え：2
command-r-plusの答え：答え：2人
評価：〇 さすがはCohere様です（CV：司波深雪）

**フォーマットを指定しても書き方を変えただけで正解となりました**

## まとめ - OpenAI、Anthropic、Cohere あるいは、不思議の国のアリス
- 現時点では、LLM に任せるタスクとそうでないタスクの見極めは思った以上に注意が必要（個人的に今まではもっと複雑な問題やコンテキスト長が大きい場合に注意が必要でこのくらいシンプルなreasoning であれば大きな懸念はないと思い込んでいた）。単なるテキスト生成と論理的思考の間のスペクトラムのどこで線引きすべきかは難しい。境界線を見つけることよりも人間系も含めた系全体での設計が大切。
- 標準（と称する）ベンチマークであろうと、そうでなかろうと英語だけのベンチマークはユースケースで想定する言語が異なるなら鵜呑みにできない
- 言うまでもなくプロンプトの書き方で結果は異なる。最初に出会った LLM が好むプロンプトの書き方を絶対だと思ってはいけない。それを前提にしたベンチマークを鵜呑みにしてもいけない。その意味では、従来の標準ベンチマークを批判するこの論文さえも失礼ながら「お前もな」ですが、そのことも含めて、メタな視点でベンチマークのベンチマーク、LLMの評価とは？を改めて真剣に考えなければならいないということをデータで示した素晴らしい問題提起、生成AI界隈の人々が肌で感じていることを明確にデータで示してくれたということですね
- 言語の違いも含めて適切なプロンプトを書けば LLM は正しい推論を行えると主張するものでは **全くありません**。試してみたことと観測された事象以外に事実はありません
- LLM のベンチマークはかなり深淵な問題。IQが人のベンチマークにならないくらいに
- 生成AI界隈、特に LLM 界隈におけるこの英語に偏った風潮には注意が必要と改めて認識しました。ダイバーシティが叫ばれています。全く意義をはさむ余地のない正しい動きです。しかし、言語や文化のダイバーシティに LLM 界隈はどの程度真剣なのでしょうか？

## えっと、あとがきです
- 原論文の膨大なテストケースのうちの１つを追試してみただけですので、他人の「雑」さを全くもって責められませんがとても学ぶことの多い体験でした。今後更に手を動かせばもっと違うものが見えてくるかもしれません。生成AIの時代は今までよりも遥かに手を動かさないことが命取りとなる世界のようです

終わりだよ～(o・∇・o)

## 補遺
- ヘッダーの画像は、ChatGPT で生成したものです。「不思議の国のアリスと大規模言語モデルというモチーフで画像を生成してください。」という私の指示に対して ChatGPT が生成したプロンプトはこちらです
```
A whimsical scene inspired by 'Alice in Wonderland' featuring elements of large language models. Alice, dressed in her iconic blue dress and white apron, is interacting with a giant, glowing book filled with floating letters and words. The background is a fantastical landscape with colorful mushrooms, quirky trees, and a tea party set up with a Mad Hatter-like character. The atmosphere is magical and surreal, blending the classic fairy tale with futuristic, digital elements.
```
- 中段の画像は、ChatGPT で生成したものです。「鏡の国のアリスと大規模言語モデルというモチーフで画像を生成してください。」という私の指示に対して ChatGPT が生成したプロンプトはこちらです
```
A whimsical scene inspired by 'Through the Looking-Glass' featuring elements of large language models. Alice, in her iconic blue dress and white apron, is stepping through a magical mirror into a world filled with glowing text and digital elements. The background is a fantastical landscape with a chessboard pattern, quirky trees, and a Red Queen-like character. The atmosphere is magical and surreal, blending the classic fairy tale with futuristic, digital elements.
```
- さすがは〇〇〇様です（CV：司波深雪）
本ブログの試験結果の評価では、「正解」を意味する。佐島勤氏原作のライトノベル「魔法科高校の劣等生」のヒロイン（主人公：司波達也の妹）である司波深雪が兄・達也を敬う際に発する名セリフ
- なんだかなぁ（CV：加藤恵）
本ブログの試験結果の評価では、「不正解」を意味する。丸戸史明氏原作のライトノベル「冴えない彼女の育てかた」のメインヒロインである加藤恵が主人公の言動に呆れる際に発する名セリフ。なお、作品タイトルの中の「彼女」は「カノジョ」ではなく「ヒロイン」と読む。
- CV：キャラクターボイスのこと。curriculum vitae（カリキュラム・ビタエ）や conversion ではない。本ブログの脳内発声は、CV に記載のキャラクターの声で発生してください。突っ込まれる前に書いておくと司波深雪のリアルでの CV は、声優の早見沙織氏、加藤恵の CV は、声優の安野希世乃氏です。さらに突っ込まれる前に書いておくと最後の「終わりだよ～」は、声優の麻倉もも氏のブログやX 投稿の結語で、「(o・∇・o)」は同じく麻倉もも氏が多用することで普及に拍車がかかった絵文字
- このブログは実在するライトノベルやそのアニメ化作品、出演声優、ルイス・キャロルとその作品群とは一切関係ありません。残念( ；∀；)
- ついでに、著者の所属企業とも一切関係ありませんが、Cohere Command R などの生成AI技術やベクトルデータベースなどの データベース技術を使いたいときにはOracle Cloud Infrastructure(OCI)は、良い選択肢かもしれませんよ～

## おまけ
他にもいろいろ記事を書いていますので良かったらお立ち寄りください。

https://qiita.com/yuji-arakawa/items/28f30a5434ba429f3f16

https://qiita.com/yuji-arakawa/items/8d065ae3df536f5cd559

https://qiita.com/yuji-arakawa/items/fd4fd0c026ecfa664d97

https://qiita.com/yuji-arakawa/items/1a8cfeff8f81ba808389

https://qiita.com/yuji-arakawa/items/654d936ca616334286b0

https://qiita.com/yuji-arakawa/items/1a8cfeff8f81ba808389

https://qiita.com/yuji-arakawa/items/9cd485debd5b0d18aca2

https://qiita.com/yuji-arakawa/items/042937eaf16fa00cf491

https://qiita.com/yuji-arakawa/items/6d0299c505315bc3cdb0

https://qiita.com/yuji-arakawa/items/2d4f6eff17a5410dba2d

https://qiita.com/yuji-arakawa/items/597c4bd9f3d5b4212b51

https://aws.amazon.com/jp/blogs/news/leveraging-pinecone-on-aws-marketplace-as-a-knowledge-base-for-amazon-bedrock/