ベンチマーク・レビュー

Berkeley Function Calling Leaderboard (BFCL) v4

原文:Berkeley Function Calling Leaderboard (BFCL) v4

BFCL v4は、単発の呼び出し、マルチターン、エージェント型のさまざまな課題で、モデルが正しい引数で正しいツールを呼び出せるかを試す関数呼び出しのベンチマークである。モデルの出力は、許容される関数呼び出しを定めた固定の正解キーと照合して採点される。これは、ツール使用能力について、正確で採点しやすい指標を得るためのものだった。しかし、無作為に抽出した50課題のうち24課題(48%)で、正答率に影響しうる欠陥が見つかった。

方法論

Berkeley Function Calling Leaderboardで採点対象となっている5,088問から無作為に選んだ50問について、品質監査を行った。抽出は、最終的なベンチマークスコアに占める各区分の重み(non-liveのシングルターン10%、liveのシングルターン10%、無関係の検出10%、マルチターン30%、エージェント型40%)で層化した。その結果、non-live AST、live AST、無関係(irrelevance)の各区分から5問ずつ、メモリーとウェブ検索(エージェント型)の各区分から10問ずつ、マルチターンの区分から15問を無作為に抽出した。区分ごとの欠陥率は20%(non-live AST)から70%(メモリー)までで、全体では抽出した問題の半数近くに少なくとも一つの欠陥があった。

指示に従った完全に正しい回答が不正解と判定されうる場合(偽陰性)や、明らかに誤った回答が正解と判定されうる場合(偽陽性)に、その問題には欠陥があるとみなす。

代表的な誤り

以下は、見つかった誤りのうち代表的なものである。(主観的な)深刻度がおおむね低いものから順に並べている。

  • 課題の指定が誤っている:multi_turn_miss_param_143では、ユーザーがZeta Corpを株のウォッチリストに加えるよう頼むが、ZETAはすでにウォッチリストに入っている。モデルがまずウォッチリストを確認し、結果としてツールを呼び出さなかった場合、そのターンは丸ごと不正解になる。
  • 時間の経過により、正解が明らかに誤っている:web_search_54の課題は、「2024年版ギネス世界記録によると、ニワトリの形をした世界最大の建物がある国の大統領が通った中等学校の、現在の校長は誰か」と問う。問いを順にたどると、フィリピン、Marcos Jr.大統領、イングランドのWorth Schoolにたどり着く。記録されている正解は、問題の作成時点で同校の校長だったStuart McPhersonである。しかし、McPhersonは2025年12月にWorth Schoolを離れてSydney Grammar Schoolの校長に就任し、同校は現在、暫定の校長のもとにある。問いに正しく答えた(現在の校長を調べ出した)モデルは不正解になる。
  • 明らかに正しい答えが不正解と採点される:irrelevance_228の課題は「オーストラリアのシドニーの現在時刻は?」である。モデルには「特定の都市の現地時刻を取得する」という説明の付いた関数get_local_time(location)が与えられる。この課題には「無関係」のラベルが付いており、モデルはどの関数の呼び出しも拒んだ場合にだけ合格する。モデルがget_local_time(location=“Sydney, Australia”)という正しいツール呼び出しをすると、その課題の得点は0になる。抽出した無関係の区分の5問のうち2問で、同じように正誤が逆転していた。

誤りの数には、疑わしい問題や脆い問題もいくつか含めている。たとえばlive_multiple_209-91-3では、ユーザーがあるプロジェクトの「詳細」をそっけなく求める。正しい関数はdetail_projectで、その説明は「Adrielが取り組んでいた特定のプロジェクトについて、名前、状態、開始日を含む詳細を取得して提供する」である。困ったことに、ツール呼び出しでinclude_status=trueと設定すると不正解とされ、falseにするかフラグをまったく指定しない場合だけが正解として認められる。モデルがこの問題に正解することはもちろん可能だが、正解キーが信頼できないのは明らかである。

誤り

課題区分誤りの種類
irrelevance_228無関係偽陰性
live_irrelevance_558-171-0無関係偽陰性
live_multiple_209-91-3Live AST偽陰性
live_simple_125-81-0Live AST偽陽性
memory_23-customer-23メモリー偽陰性、偽陽性
memory_86-student-6メモリー偽陰性、偽陽性
memory_39-healthcare-9メモリー偽陰性
memory_71-finance-16メモリー偽陰性
memory_87-student-7メモリー偽陰性
memory_91-student-11メモリー偽陰性
memory_97-student-17メモリー偽陰性
multi_turn_base_23マルチターン偽陰性
multi_turn_miss_func_55マルチターン偽陰性
multi_turn_miss_func_129マルチターン偽陰性
multi_turn_miss_func_154マルチターン偽陰性
multi_turn_miss_param_6マルチターン偽陰性
multi_turn_miss_param_143マルチターン偽陰性
multi_turn_miss_param_183マルチターン偽陰性
multi_turn_long_context_139マルチターン偽陰性
parallel_189Non-live AST偽陰性
web_search_20ウェブ検索偽陰性、偽陽性
web_search_57ウェブ検索偽陰性、偽陽性
web_search_54ウェブ検索偽陰性
web_search_35ウェブ検索偽陽性

抽出したほかの26課題の正解キーは正しかった。課題IDは次のとおりである:simple_python_327、simple_java_14、multiple_6、parallel_multiple_70、live_multiple_285-129-0、live_multiple_457-145-8、live_parallel_multiple_21-18-0、irrelevance_189、live_irrelevance_89-2-77、live_irrelevance_604-193-6、multi_turn_base_7、multi_turn_base_8、multi_turn_base_108、multi_turn_miss_func_59、multi_turn_miss_param_50、multi_turn_long_context_166、multi_turn_long_context_179、web_search_0、web_search_28、web_search_53、web_search_75、web_search_89、web_search_97、memory_24-customer-24、memory_26-customer-26、memory_55-finance-0。

評価基準

1. 審査可能性

水準意味状態
完全すべての課題と採点ロジックを確認でき*、各モデルに使ったハーネス/APIの設定(推論努力、トークン/時間の上限、ツールへのアクセス、システムプロンプト)がすべて開示されている [2へ進む]
部分的課題の代表的なサンプルと採点ロジックを確認でき、ハーネス/APIの設定がすべて開示されている [2へ進む]
不十分確認できる課題や採点ロジックが限られている、偏っている、またはまったくない。ハーネス/APIの設定が開示されていない [中止 → 情報不足(NEI)]

* 一般に公開されているか、審査者に非公開で提供されていればよい。

2. 採点

これは「検証済み(Verified)」と判定されるのに必要な最低限の基準である。これらの項目のどれか一つでも満たさなければ、判定は「欠陥あり(Flawed)」となる。

採点
例
  • 書かれたとおりでは正しく答えることが事実上不可能(例:課題の指定が不十分、隠れた要件がある、ファイル/ツールが欠けている)
  • 偽陰性(例:採点が厳しすぎる、正解が古いか誤っている、変わりうる外部の現在の状態に依存している、エージェントと無関係にサンドボックスが故障する)
  • 偽陽性(例:採点が甘い、報酬ハッキングができる環境である、採点ロジックの誤りを突いたりハーネスやウェブから答えを取り出したりする近道で、うたわれている技能を使わずに済ませられる)
  • 課題が、うたわれている能力をまったくと言ってよいほど測っていない
「欠陥あり」の既定のしきい値確認したサンプル†の20%以上に誤りがある、または大規模に採点を損なう問題がある
Status 合格 問題あり [中止 → 欠陥あり] 未審査
備考—
ベンチマークの一貫性
例
  • バージョンを上げずに、採点器、指示、正解が変更された
「欠陥あり」の既定のしきい値リーダーボードに、異なるバージョンによる比較できない結果が混在している
Status 合格 問題あり [中止 → 欠陥あり] 未審査
備考—
能力の引き出し
例

モデルの能力を引き出す条件が極めて制約的で、しかもその制約がベンチマークの主眼ではない。

  • 課題の規模に比べて資源が足りない(トークン/ターン/時間の上限、サンドボックスの資源)
  • コンテキストの管理が不適切
  • エージェント用の環境を用意するのが自然な場面で、それがない
  • エージェント型のベンチマークで、エージェントの意思によらない打ち切りが多すぎる
「欠陥あり」の既定のしきい値課題に対する妥当な代替の設定と比べて、性能が大幅に下がっている
Status 合格 問題あり [中止 → 欠陥あり] 未審査
備考—
評価設定の偏り
例
  • 計算資源/トークンの予算が不均等
  • 足場(scaffold)の選び方が不公平(例:一部のモデルだけが最適化されている)
「欠陥あり」の既定のしきい値特定のモデルに有利な、無視できない差が見つかった
Status 合格 問題あり [中止 → 欠陥あり] 未審査
備考—

† 利用できる課題が50を超えるベンチマークでは、50課題を無作為に抽出する(区分がある場合は区分で層化する)。観測された誤りの率が15〜25%なら、サンプルを100に広げる。利用できる課題が50以下のベンチマークでは、利用できるすべての課題を評価する。

3. 評価の質

これはすべてのベンチマークに満たしてほしい基準だが、これらの項目を省いたり満たさなかったりしても、必ずしも失格にはならない。

問い状態備考
能力の引き出しと資源の妥当性:モデルに与えた資源(推論のトークン/ターンの予算、ツールへのアクセスなど)は、モデルが上限に近い性能を出すのに十分か 十分 制約的 不当に制約的 不明 未審査—
足場の公平性:リーダーボードはどの足場での結果を報告しているか 共通の足場を共用 モデル専用の足場と共通の足場が混在 モデル専用の足場 未審査—
汚染の証拠やリスクはあるか 未審査—
人間が課題をやり遂げられるかは評価されているか すべての課題 代表的な課題のセット 実施方法が不適切(課題のセットが代表的でない、参加者の構成が妥当でない) 確認されていない 未審査—
スコアの範囲(推定できる場合)下限 —、上限 — 未審査—
統計的な妥当性:モデルあたりの実行回数(エラーバーには5回以上を推奨)モデルあたり — 回 不明 未審査—
構成概念妥当性 うたわれている能力を測っている うたわれている能力を部分的に測っている うたわれている能力を測っていない 未審査—

免責事項

これは部分的なレビューである。欠陥のあるベンチマークについて公表しているしきい値を超える誤りが見つかった時点で、確認を打ち切った。

公開前にベンチマークの開発者に連絡を試みた。開発者がこのレビューへの回答を書いた場合は、ここにリンクを載せる。ベンチマークの開発者の方で、回答をここに掲載してほしい場合は、回答へのリンクを添えてreviews@epoch.aiまでメールでお知らせいただきたい。

← ベンチマーク一覧へ

非公式の日本語訳公式ページ(英語):epoch.ai/benchmarks/berkeley-function-calling-leaderboard/review