🍺

🀖💯Elyza-tasks-100 人間の回答をAIに評䟡しおもらうシステム䜜っおみた

2024/07/19に公開

各皮LLMの日本語タスク性胜を枬る指暙である、ELYZA Tasks 100 のタスクデヌタセットを䜿甚し、人間の回答をGPT-4oで採点し、その結果を他のAIモデルず比范&回答および採点結果をデヌタずしお蓄積させるためのシステムを䜜っおみたので、その経緯および玹介を蚘事にしおみたした。
https://github.com/wmoto-ai/elyza-tasks-100-humanevaluator

動䜜ずしおは以䞋のような感じです。
https://x.com/wmoto_ai/status/1813576952072261653

🌟 プロゞェクトの抂芁

このプロゞェクトの䞻な特城は以䞋の通りです

  • Elyza Tasks 100の質問に察する人間の回答を受け付ける
  • GPT-4oを䜿甚しお回答を採点・評䟡
  • 採点結果を他のAIモデルHODACHI/EZO-Humanities-9B-gemma-2-it、GPT-4、Claude 3.5 Sonnetず比范
  • 採点結果をグラフで芖芚的に衚瀺
  • Docker察応で簡単にセットアップ可胜

💡 開発の経緯

圓初の野望

最初は、このシステムを Web アプリずしお䞀般公開し、Elyza Tasks 100 の回答デヌタを倧量に収集するこずを目指しおいたした。集めたデヌタは「高品質な人間の回答デヌタ」ずしお、LLM のファむンチュヌニングなどに掻甚できたらいいな、ず淡い期埅を持っおたした。

珟実の壁

しかし、実際に自分でElyaza-tasks-100の問題を解き始めるず...これが予想以䞊に苊行。。100問もあるタスクセットを䞁寧に回答するのは、かなりの時間ず劎力を芁するものでした。私は途䞭で挫折したしたが
https://x.com/wmoto_ai/status/1808140365905776863
党問人力でやり切った䞊でか぀自身の回答結果を公衚しおいる以䞋蚘事にはあらためお敬意を衚したす。
https://zenn.dev/yuki127/articles/2496cd8383c84c

ここで我に返り、䞀般のナヌザヌからちゃんずした回答デヌタを倧量に集めるのは、盞圓なPR力がないず難しいなず考えたした。

方向転換OSSずしお公開ぞ

そこで、方針を倉曎し、個人的なデヌタ収集プロゞェクトずしおではなく、OSSずしお公開するこずにしたした。これにより

  1. 他の開発者やAI研究者が自由に利甚・改良できる
  2. 教育目的での掻甚も可胜
  3. コミュニティの知芋を取り入れおプロゞェクトを成長させられる

ずいう利点が生たれるずいいなず期埅しおいたす。

🛠 技術的な詳现

䜿甚技術

  • バック゚ンド: Python (FastAPI)
  • フロント゚ンド: HTML, JavaScript (Chart.js)
  • AI API: OpenAI GPT-4o
  • コンテナ化: Docker

↑ずはいえこの蟺はClaude 3.5 Sonnetに以䞋芁件を入れ、叩き台ずしお出おきたファむル矀をClaude.aiのProjectに攟り蟌んで埮修正しおもらい仕䞊げたした。以䞋1番最初のプロンプト。

<指瀺>
以䞋のナヌザヌの芁望をきいお、リポゞトリずコヌドを䜜成できるレベルの芁件定矩曞及び仕様曞を䜜成しお。なお、少しでも疑問点があれば私に質問しおください。

<芁件> 
* Elyza Tasks 100ずいう日本語のタスク䟋が100個曞かれたcsv(添付のcsv)をもずに問題を出題し蚘述匏で人間に回答させる。 
* このWebアプリ自䜓はオヌプン゜ヌスずしお公開するため、䜿甚する人によっお出題甚のcsvを倉えられるよう、ある皋床汎甚性を持たせたい。
* 各タスクの回答毎に、裏でgpt-4o apiが1から5の5点満点で採点を぀ける。 
* gpt-4o採点のために指瀺するプロンプト等は蚭定ファむルで簡単に倉曎できるようにしたい。
* 回答結果およびそれに察するgpt-4oの採点結果をcsvずしお保存できるようにしたい。csv内のセッション名称(カラム)は、テスト回答前にナヌザヌが入力する名前ずその時の日付情報をもずに䜜成する。
* csvに曞いおある出題に回答し終えるず、別ペヌゞにずび、各蚭問の平均点を算出し、事前に評䟡されたgpt-4やclaude3 haiku opusなどのAIの点数ず比范するグラフをむンタラクティブなダッシュボヌド䞊で確認するこずができる。 
* 回答数が倚いため、途䞭回答でもあずから回答できるようにする 
* gptのapi代以倖はコストが極力かからないようにするこず。 
* 簡単か぀メンテナンス容易な構成ずするこず。 
* ただしGoogle formsで回答させるのは芋栄えやむンパクトがないためそこも考慮したい。なお、認蚌機胜は䞍芁です。
* フォルダやファむル数は極限たでシンプルにし぀぀、䞊蚘のようにある皋床LLMに自動採点しおもらうリポゞトリずしお汎甚的に䜿えるずいい。
* API KEYなどは.envで管理できるこず。
* リポゞトリからgit cloneした埌にdockerで簡単に立ち䞊げられるこず。

䞻芁機胜

  1. ナヌザヌ回答の受付: シンプルなWeb UIで回答を入力
  2. GPT-4oによる採点: 回答を自動で評䟡し、スコアず理由を提瀺
  3. 結果の可芖化: ナヌザヌのスコアず他のAIモデルを棒グラフで比范
  4. デヌタの蓄積: 回答ず採点結果をCSVファむルに保存

工倫したポむント

  • Docker察応により、環境䟝存性を最小限に
  • なるべく盎感的に操䜜できるようにした぀もり
  • どのようにデヌタを保存するか、など。

䜙談

APIで呌び出せないMS Copilot(旧Bing Chat)を、このシステムを䜿っおブラりザ䞊でコピペしながら評䟡しおみたした。
https://x.com/wmoto_ai/status/1813726890710179982

🙏 おわりに

元々フロント゚ンド等には党く瞁がない、(ずいうかそもそもIT系の仕事はしおいないのですが)このプロゞェクトを通じお、「どうすれば回答しやすいか」ずか「蓄積したデヌタはどのような圢だず扱いやすいか」など色々意識できるきっかけになりたした。LLMにある皋床コヌドを曞いおもらえるず自分が泚力したいずころにリ゜ヌスをかけられるのはいいなあ、ず思いたした。
最埌たでお読みいただき、ありがずうございたした。也杯🍻

Discussion