Jagged Intelligence
ギザギザした知能とは、難問を解ける一方で、9.11が9.9より大きいと主張するような簡単な問題で失敗する、AIモデルの能力のばらつきです。
ギザギザな知能とは、現代のAIシステムに見られる能力の不均一なプロファイルを指します。同じモデルが難しいタスクで専門家並みの能力を発揮する一方、多くの人には簡単な単純作業に失敗することがあります。Andrej Karpathyは2024年、難しい数学の問題を解ける一方で、9.11は9.9より大きいと言い張る大規模言語モデル(LLMs)を表すために、この用語を作りました。「strawberry」の「r」の数を間違えることも、よく知られた例になりました。タスクごとにモデルの能力をプロットすると、鋭いピークと深い谷を持つギザギザの線になり、ピークから谷の位置を予測するのは困難です。
能力にばらつきが生じる理由#
モデルは、学習データが豊富で、内部表現がタスクに適合する領域で最も高い能力を発揮します。どちらの条件も、タスクごとに大きく異なります。表現の仕組みは、よく知られたテキスト処理の失敗の多くを説明します。モデルがテキストを受け取る前に、トークン化によってテキストはサブワードのトークンに分割されます。OpenAIのGPT-4o用トークナイザーを見ると、次のようになっています。
import tiktoken
# o200k_baseはOpenAIのGPT-4oが使用するトークナイザーです
encoding = tiktoken.get_encoding("o200k_base")
for question in ["How many r letters are in strawberry?", "Which is bigger, 9.11 or 9.9?"]:
tokens = [encoding.decode([t]) for t in encoding.encode(question)]
print(tokens)「 strawberry」という単語は1つのトークンとして入力されるため、モデルは3つのrを認識できず、学習テキストから綴りを思い出す必要があります。数値は「9」「.」「11」と「9」「.」「9」に分割されます。多くのテキストでは、こうした組み合わせはバージョン番号、日付、または書籍の章を表し、その場合は9.11が9.9の後に来て、11は9より大きくなります。モデルは数値を比較する代わりに、そうしたパターンに基づいて回答します。
残りの多くは、データの網羅性で説明できます。学習データに頻繁に現れるスキルは安定して身に付きますが、人には単純に見える場合でも、まれな形式、珍しい言い回し、例外的なケースへの対応は弱いままです。ビジョンモデルにも同じ傾向が見られます。物体検出モデルは、日中の一般的で大きな物体に対して優れた性能を示しても、小さな物体、まれなクラス、珍しい視点では大幅に性能が落ちることがあります。人にはどのケースも同じように簡単に見える場合でも同様です。
ギザギザな能力は、Moravecのパラドックスとは異なります。Hans Moravecが1988年に示したこの観察によれば、チェスなど人には難しいタスクはコンピューターには簡単ですが、知覚や運動のような人が容易に行うスキルはコンピューターには難しいとされています。ギザギザな能力は、どちらの方向でも人間にとっての難易度に従いません。そのため、何が「簡単」かという直感は、モデルがどこで失敗するかを判断する手掛かりとしては不十分です。
実務におけるギザギザしたフロンティア#
同じ能力の不均一さは、人々のAI活用にも影響します。2023年にボストン コンサルティング グループのコンサルタント758人を対象に行われたフィールド実験で、ハーバード・ビジネス・スクールなどの研究者はギザギザな技術的フロンティアについて説明しました。フロンティア内の18のタスクでは、GPT-4を使ったコンサルタントは完了タスク数が12.2%増え、作業速度が25.1%向上し、品質評価も40%以上高くなりました。フロンティアのわずか外側にあるタスクでは、AIを使ったコンサルタントが正解に到達する可能性は、AIを使わないコンサルタントより19ポイント低くなりました。ギザギザな知能はモデルの能力の不均一なプロファイルを表し、ギザギザなフロンティアはAIが作業を助ける領域と、気付かないうちに作業の質を下げる領域との境界を表します。
能力の不均一さは、汎用人工知能(AGI)に関する主張の評価も難しくします。広範なベンチマークデータセット全体で平均したスコアが着実に上昇していても、特定の能力の谷は残ることがあります。そのため、見出しに使われる平均値だけでは、モデルが個々のタスクで信頼できるかどうかはほとんど分かりません。
ギザギザした能力の測定#
評価を1つの数値として報告するのではなく、スライスごとに分けると、能力の不均一さが明らかになります。物体検出器の場合、最初にクラスごとに分けます。Ultralytics YOLO26の検証モードでは、全体と検証ラベル内の各クラスについて平均適合率(mAP)を報告します。クラスごとのメトリクスを並べ替えると、性能の谷が最初に表示されます。
from ultralytics import YOLO
# Validate a pretrained detector on labeled images
model = YOLO("yolo26n.pt")
metrics = model.val(data="coco8.yaml")
# One row per class in the validation labels, weakest first
rows = sorted(metrics.summary(), key=lambda row: row["mAP50-95"])
print(f"Overall mAP50-95: {metrics.box.map:.3f}")
for row in rows[:3]:
print(f"{row['Class']}: {row['mAP50-95']} mAP50-95 over {row['Instances']} instances")COCOの5,000枚の画像のような完全な検証セットでは、同じ内訳から、より多くのデータやラベルの詳しい確認が必要なクラスが分かります。クラス分けは最初のスライスにすぎません。照明、カメラアングル、動き、オクルージョンにもそれぞれ能力の谷が隠れていることがあり、そうした条件で撮影した新しい画像を使ったモデルテストで明らかになります。
デプロイ後も入力の変化に応じてプロファイルは変わり続けます。データドリフトを追跡すると、本番環境の画像が検証セットで一度もカバーされていない領域に入り始めたタイミングが分かります。










