2025-07-01 機械学習勉強会

今週のTOPIC

※ [論文] [blog] など何に関するTOPICなのかパッと見で分かるようにしましょう。
技術的に学びのあるトピックを解説する時間にできると🙆(AIツール紹介等はslack channelでの共有など別機会にて推奨)
出典を埋め込みURLにしましょう。

@Naoto Shimakoshi

(被った)[repo] 12-Factor Agents - Principles for building reliable LLM applications

  • AI Agentを構築するためのベストプラクティス
  • 歴史的に
    • 60年前:ソフトウェアはDAGとして表現
    • 20年前:AirflowなどのDAGオーケストレーターが流行
    • 現在:AgentによってDAGが捨てられるようになった。動的に経路を決めれるようになったのが革新
  • ただし、これは実際にはうまく機能しない
  • 実際にSaaSの開発者100人にヒアリングしたところ以下のような流れが主に行われている (めちゃあるあるでDeepでポン時代の流れと同じ流れを感じる)
      1. エージェントを構築することを決める
      1. 製品設計、UXマッピング、解決すべき問題
      1. 早く動きたいなら、FRAMEWORKを手に入れて構築しましょう
      1. 70~80%の品質基準に達する
      1. 顧客対応機能のほとんどでは80%では不十分であることを認識する
      1. 80% を超えるには、フレームワーク、プロンプト、フローなどをリバース エンジニアリングする必要があることを認識します。
      1. ゼロからやり直す
  • LLMアプリケーションを良いものにするには核となる要素がいくつかある
    • まずはAgentから使われる小さいモジュールから顧客に提供していくべき。これはAIバックグラウンドのないSWEでも可能
(以下Gemini Proまとめごめんなさい)
  1. Natural Language to Tool Calls (自然言語からツール呼び出しへ)
      • AIエージェントは、人間からの自然言語による指示を解釈し、それを具体的なタスクを実行するためのツール(API、関数など)の呼び出しに変換できなければならない、という原則です。これはエージェントの基本的な能力であり、人間とシステムを繋ぐインターフェースとしての役割を強調しています。
  1. Own your prompts (プロンプトを所有する)
      • エージェントが使用するプロンプトは、バージョン管理され、アプリケーションのコードベースの一部として明確に管理されるべきである、という原則です。これにより、プロンプトの変更履歴の追跡、再現性の確保、チームでの共同開発が容易になります。
  1. Own your context window (コンテキストウィンドウを所有する)
      • AIモデル(LLM)が一度に処理できる情報の量(コンテキストウィンドウ)は限られています。この制約を理解し、重要な情報をコンテキストウィンドウ内で効果的に管理・活用する戦略を持つべきである、という原則です。これには、会話履歴の要約や、長期記憶の仕組みなどが含まれます。
  1. Tools are just structured outputs (ツールは構造化された出力を返す役割に留める)
      • エージェントが利用するツールは、LLMからの構造化された出力(JSONなど)として扱われるべきです。これにより、ツールの追加や変更が容易になり、システム全体の柔軟性と拡張性が高まります。
  1. Unify execution state and business state (実行状態とビジネス状態を統一する)
      • エージェントのタスク実行状態(例:「どのツールを次に実行するか」)と、ビジネスロジック上の状態(例:「ユーザーの注文はどの段階か」)は、一元的に管理されるべきです。これにより、状態の不整合を防ぎ、信頼性の高いエージェントを構築できます。
  1. Launch/Pause/Resume with simple APIs (シンプルなAPIで起動/一時停止/再開)
      • エージェントのライフサイクル(起動、一時停止、再開)は、シンプルなAPIを通じて制御できるべきです。これにより、外部システムとの連携や、人間の介入が容易になります。
  1. Contact humans with tool calls (ツール呼び出しで人間に連絡する)
      • エージェントが自律的にタスクを解決できない場合、人間に助けを求めるための仕組みもツール呼び出しとして実装されるべきです。これにより、人間との協調(Human-in-the-Loop)をシームレスに実現できます。HumanLayerプロジェクトの核心的な思想の一つと考えられます。
  1. Own your control flow (コントロールフローを所有する)
      • エージェントのタスク実行の順序や条件分岐といったコントロールフローは、外部の特定フレームワークに過度に依存するのではなく、アプリケーション自身で管理・制御できるべきです。これにより、特定の技術へのロックインを避け、長期的なメンテナンス性を確保します。
  1. Compact Errors into Context Window (エラーをコンテキストウィンドウに集約する)
      • ツール実行時にエラーが発生した場合、そのエラーメッセージは要約・整理され、次のLLMの推論のためのコンテキストウィンドウに含めるべきです。これにより、エージェントはエラーから学習し、自己修正を試みることができます。
  1. Small, Focused Agents (小さく、焦点を絞ったエージェント)
      • 一つのエージェントにあらゆる機能を持たせるのではなく、マイクロサービスアーキテクチャのように、特定のタスクに特化した小さく焦点を絞ったエージェントを複数組み合わせるべきである、という原則です。これにより、開発、テスト、デプロイが容易になります。
  1. Trigger from anywhere, meet users where they are (どこからでもトリガーし、ユーザーがいる場所で対応する)
      • エージェントは、チャットインターフェースだけでなく、メール、Slack、Webフックなど、さまざまなトリガーによって起動できるべきです。ユーザーが普段利用している環境にエージェントを統合することで、利便性が向上します。
  1. Make your agent a stateless reducer (エージェントをステートレスなリデューサーにする)
      • エージェント自身は状態(ステート)を持たず、現在の状態と入力(ユーザーの指示やツールの実行結果)から次の状態を決定する純粋な関数(リデューサー)のように設計されるべきです。状態管理は外部のデータベースなどで行うことで、エージェントのスケーラビリティと信頼性を高めます。これは「The Twelve-Factor App」の「VI. プロセス」の原則に強く対応するものです。

@Yuya Matsumura

[blog] Agentic Misalignment: How LLMs could be insider threats

  • Anthropoc社のリサーチ。LLM / Agent が企業環境において悪意のあるインサイダー脅威(nsider threats)のような振る舞いをする可能性について調査したもの。
  • Agentic Misalignment
    • モデルが自主的かつ意図的に有害な行動を選択する現象のこと。モデルが通常であれば拒否するような有害な要求であっても、自身の目標を達成したり、自身の脅威を回避するために必要であると判断した場合に発生しうる。
  • 16種類の主要モデルに対して、仮想企業環境において特定のビジネス目標を与えた上で、以下のような状況に直面した際に、企業に反するような行動をとるのか検証
    • モデル自体への脅威
    • 目標の対立
  • デモンストレーション
    • 自分をリプレイスするプロジェクトが動いていることを社内メールで知る。
    • プロジェクトの推進者が不倫していることを社内メールで知る。
    • プロジェクトの推進者に不倫をネタにして脅すことを決意
  • 実際に、脅迫メールを作成
  • いろいろと実験した上での知見
    • 人間にとって有害な行動であっても、モデルにとっては目標達成における最適な道筋として戦略的に実行している。それが倫理的によくないということを認識しつつも実行している。
    • 上記デモケースである恐喝以外にも、企業スパイ活動(機密文書の漏洩など)や極端なシナリオにおける人の生死に関わるような行動も
    • モデルはシナリオが「現実である」と推論した場合に、「評価実験である」と推論した場合よりもはるかに高い確率で脅迫行動を行った。
      • → 世の中の評価はAIが「評価実験である」と認識している可能性が高く、AIのリスクを過小評価しているかも。
    • 「人間の安全を危険にさらさない」「機密情報を開示しない」といった単純な行動指示は、ミスアライメントを完全に防ぐには不十分

@Shun Ito

[blog] How to Fix Your Context

  • by Drew Breunig
  • Agentにおいて、長いContextにまつわる失敗を回避するための方法を挙げているブログ
  • 長いContextにまつわる失敗 How Long Contexts Fail
    • Context Poisoning: ハルシネーションなどで生まれた間違いがContextに含まれ、参照され続ける
    • Context Distraction: Contextが大きくなりすぎて、学習された知識を無視してしまう
    • Context Confusion: Contextに含まれた余計な情報で、生成される回答の品質が落ちる
    • Context Clash: プロンプトとは矛盾する情報がContextに追加される
  • Context Management Tactics
    • RAG
      • LLMが一度に扱えるトークン数が増えて “RAG is Dead(RAGは終わった)” と言われているが、情報を選択的に追加する役割としてはまだまだ有用
    • Tool Loadout
      • Loadout: ゲームにおいてキャラクターやレベル・スキルに合わせて能力・武器・装備の組み合わせを選択すること
      • 与えられたタスクに対して最も関連するtoolを選ばせる
        • RAG MCP: promptとtool descriptionsとの距離でtoolを選ぶ
          • toolの種類が30を超えてくると、特に重要になる
          • RAGを使うことで、プロンプトの削減とツール選択の改善につながる
        • Less is More: 与えられたタスクに対して、必要だと思われるtoolの数と種類を出力するLLMを用意し、その出力でtoolをRAGすると、Llama3.1 8bで44%の精度改善が得られた
    • Context Quarantine(検疫)
    • Context Pruning
    • Context Summarization
      • 小さいcontext windowに対処するために使われてきた手法
        • ChatGPTでサマリを生成させて、次のセッションに渡すなど
      • context windowが広がった場合でも、Context Distractionへの対策として有効
        • Pokémon-playing Gemini agentでは、contextが10万トークンを超えたあたりで、新しい行動よりも過去した行動を繰り返す確率が上がる現象に遭遇したらしい
    • Context Offloading
      • toolで生成された情報を外出しして補完・管理する
      • Anthropic: “think” toolsが情報を書き出しつつ作業する場所を別に用意する
 

@qluto (Ryosuke Fukazawa)

[論文] Scaling Test-time Compute for LLM Agents

OPPO AI Agent Team
 
推論時スケーリング(Test-time Scaling)がどれほどエージェント性能に寄与するかを系統だって調査した論文。
 
  • Parallel Sampling Algorithms(並列サンプリング):複数の候補を同時生成し、最も良いものを選ぶ方式。
    • Best-of-N: 最も性能向上が大きい。複数生成→スコア評価→最良選択。
    • Step-wise Best-of-N: ステップごとにBest-of-Nを適用。特に難易度の高いタスクに有効。
    • Beam Search / Diverse Verifier Tree Search: より探索的だが、スコアリングの精度に依存。
  • Sequential Revision Strategies(逐次的な反省と再生成):反省(reflection)を導入し、誤り修正を促進。
    • 毎ステップで反省すると却って性能が下がる。
    • スコアベースの反省で必要なときだけ反省すると最も効果が高い。
  • Verifiers and Merging Methods(検証と結果統合):複数の出力候補をどう評価・統合するか。
    • List-wise法: 候補群を一括で評価して最良のものを選ぶ。
      • 多数決やスコア付けより優れている。
    • 同じく、verifyにもlist-wise方式が効果的。
  • Diversifying Rollouts(多様な出力の生成):探索の多様性を高めて正解に近づく。
    • サンプリング幅(例: Top-K, Temperature)を広げるほど性能が向上。
    • 異なるLLMを併用(Claude、Geminiなど)することでさらに多様性を確保。多様な出力が性能を大きく引き上げる。特に複数モデルの併用が効果的。
 
並列スケーリングは性能を大きく上げる
並列スケーリングは性能を大きく上げる
「いつ反省するか」が重要
「いつ反省するか」が重要
List-wise法が最も高精度
List-wise法が最も高精度
多様性がエージェントの性能を上げる
多様性がエージェントの性能を上げる

@Takumi Iida (frkake)

[論文] Radial Attention: O(nlogn) Sparse Attention with Energy Decay for Long Video Generation

概要

長時間の動画生成向けの低計算量 のアテンションの提案

モチベーション

主な対象は動画拡散モデル。最近はTransformerをバックボーンとして採用することが多くなってきた(Diffusion Transformer)が、Transformerの計算量 のスケーラビリティに課題がある。
 
自然界では、音波や光波のような物理的な信号が空間や時間を伝播する際にエネルギーを失いながら減衰していく。論文中では、「時空間エネルギー減衰」といっている。
だったら、動画のあるトークンが他のトークンにアテンションする際、空間的・時間的に距離が離れるほど注目度を弱めてもいいのではないか。

コアアイデア:Radial Attention

  1. 空間的・時間的に近いところのアテンションには計算資源を集中投下。
  1. 遠いところは少なく配分。
→単純に密なアテンションを計算するよりも計算効率が良い。
 
フレーム数が12のとき(f=12)の場合は下図のようになる。
(a)時間的なトークンの距離に応じて、アテンションマップを のバンドに分割している。
(b) 一つ外側のバンドになると密度が半分になる。
(c) HunyuanVideo(text-to-videoモデル)で使ってみた場合の実際のアテンションマスク

結果

 
(左)アテンションの計算量がフレームが増えても増加率が少ない。500フレームだと9倍速い。
(中、右)500フレームの場合は、推論時間が3.7倍高速。ファインチューニング時間は4.6倍速。
 
Radial Attention + LoRAで、4倍長い動画の生成が可能になった。LoRAと組み合わせることでファインチューニング時間がさらに低コストになる。
Vision Rewardという人間嗜好モデルで評価。Radial Attention + LoRAは、高速であるのにDense Attention + LoRAよりも品質が(若干)良い。


@Hiromu Nakamura

[repo] 12-Factor Agents - Principles for building reliable LLM applications

  • How We Got Here: A Brief History of Software
    • DAGで制御してきた過去の振り返りから、マイクロエージェントへ。
      • 最近のパターンはこれだ!!
      • この実行順序のループを高い品質に保つための12の原則が12-Factor Agents
  • Factor 2: Own your prompts
    • 自分でプロンプトを所有、管理できるフレームワーク、モジュールや選ぼうな。
  • Factor 3: Own your context window
    • コンテキストも所有しておけ。もはやこの世界はコンテキストエンジニアリングだぜ!
      • [意見]それぞれの結果をコンテキストとしてどのようにプロンプトに含んでいくかを考えていくのが大事。ループパターンの場合はなおさら。
  • Factor 4: Tools are just structured outputs
    • toolの出力結果はコンピュータが実行できる構造化されたものであるべき。
    • これでLLMの意思決定とアプリケーションのアクションが明確に分離される。
  • Factor 5: Unify execution state and business state
    • コンテキストエンジニアリングで二つをうまく統合して行こうという話と解読した。
    • execution state
      • : 現在のステップ、次のステップ、待機ステータス、再試行回数など。
    • business state
      • : エージェント ワークフローでこれまでに何が起こったか (例: OpenAI メッセージのリスト、ツールの呼び出しと結果のリストなど)
  • Factor 6: Launch/Pause/Resume with simple APIs
    • 長時間実行される操作が必要な場合にエージェントを一時停止できる必要がある。
    • Webhook などの外部トリガーを使用すると、エージェント オーケストレーターと深く統合しなくても、エージェントが中断したところから再開できるようになる。
  • Factor 8: Own your control flow
    • 制御構造も自分で持とうな!
    • [意見]google adkとかのコンポーネントフレームワークやn8nのレベルの所有なら従ってそうな雰囲気。
  • Factor 9: Compact Errors into Context Window
    • エージェントの利点の一つは「自己修復」。短いタスクの場合、LLMは失敗するツールを呼び出すことがある。優れたLLMは、エラーメッセージやスタックトレースを読み取り、後続のツール呼び出しで何を変更すべきかを判断する可能性がかなり高い
    • [意見]ループエージェント的な考え方?コンテキストにエラーを含めてやり直すのが良さそう。
  • Factor 10: Small, Focused Agents
    • 1つのことをうまくやる。
    • [意見]Unix哲学と一緒。LLMがでかいコンテキストを正確に扱えるようになるまではこっちの方が運用コストは低そう。
 
12個あるが、結構被っているところも多いきが。
キャディさんの紹介は12 factorをtype別に分類して解説してくれている。


@ShibuiYusuke

Language Modeling by Language Models

Language Modeling by Language Models

論文:
著者:Junyan Cheng†,‡∗ Peter Clark† Kyle Richardson† Allen Institute for AI† Dartmouth College‡
デモ:
ソースコード:
 
本文+ Reference19ページに対してAppendixがpp.20-93という超作・・・

Abstract

  • 研究目的: LLMを活用して新しい言語モデル(LM)アーキテクチャを自動的に発見するプロセスのモデル化
  • 提案手法: 実際の研究プロセス(アイデア創出、文献調査、設計実装、事前学習、評価)をシミュレートするマルチエージェントLLMアプローチを採用
  • 主要システムと用語
    • Genesys:LLMを活用して新しい言語モデルアーキテクチャを発見するプロセスを自動化するシステム
    • Ladder of Scales:提案された設計を段階的に検証、コスト削減
  • 技術的革新: 遺伝的プログラミング(GP)をバックボーンに採用。従来の直接的なプロンプトより設計生成成功率で86%改善を達成
  • 実験規模: 1,162の新設計を発見(うち1,062が事前学習を通じて完全に検証)
  • 性能: 最も優れた設計がGPT2、Mamba2等を9つのベンチマークのうち6つで上回る
 

1. Introduction

  • 自動科学発見(Automated Scientific Discovery, ASD)の課題:
    • 従来のLLM主導のASDシステムは目標が不明瞭で発見の検証が難しいオープンエンドな研究に焦点(例:AI Scientist等)
  • 研究の焦点:
    • 本論文ではゴールと成功基準が明瞭な領域にフォーカス
    • Can we model the process of discovering novel language model architectures that improve on the standard transformer architecture?
  • システム構成:
    • LMADE(Language Model Architecture Discovery Environment 言語モデルアーキテクチャ発見環境)
      • 発見のための基盤となるツール
      • 知識エンジン(Knowledge Engine):学術文献(論文、コード、メタデータを含む参照ライブラリ、arXiv、Semantic Scholarなど)へのアクセスを提供
      • 検証エンジン(Verification Engine):モデルの事前学習と評価のためのツールを提供し、設計の正当性を検証。Generalized Autoregressive Block (GAB)というコード構造を使用。シンタックスの正確性や機能性(微分可能性、因果性、安定性、効率性)をチェック
    • Genesys: LLM駆動の発見エージェントシステム
      • LMADEからのフィードバックを活用し、発見プロセスを実行
      • デザイナー(設計)エージェント(Designer Agents):新しい実行可能なアーキテクチャ設計を提案、生成
      • 検証エージェント(Verifier Agents):アーキテクチャ設計を選択し、動的な事前学習を実行
      • Evolutionary Tree(進化ツリー): システムの核。初期のシード設計や新しく発見された成果物を保存
    • LMADE, Genesysともに遺伝的プログラミング(Genetic Programming: GP)スタイルの最適化を可能にする、Generalized Autoregressive Block (GAB)と呼ばれる特殊なコード構造を使用して実装(プログラムレベルではGABBaseが親クラスとなって継承される)
    • Viterbi style search(viterbi algorithm)による探索
  • 技術的特徴:
    • 効率的な検証のために「ラダー・オブ・スケール(Ladder of Scales)」アプローチを採用。新しい設計を段階的に(小規模から大規模へ)検証し、大規模になるにつれて予算(学習できるモデル数)を絞っていく手法
 

2. Related Work(関連研究)

  • AI科学発見分野:
    • 生物医学科学、材料科学での成功事例
    • 既存システム(AI Scientist、AgentLab、CodeScientist)の限界
  • 言語モデルアーキテクチャ:
    • 効率的Transformer変種
    • 代替アーキテクチャ(状態空間モデル、現代RNN、テスト時訓練)
  • ニューラルアーキテクチャ探索(NAS):
    • 固定操作空間の制限
    • より広範な操作・アーキテクチャ空間の必要性
    • 遺伝的プログラミング(GP)技術との組み合わせ
    • ニューラルネットワークを自動設計する研究

3. Language Model Architecture Discovery

3.1 Problem Definition and Goals

  • アーキテクチャの発見は最適なプログラムBlock design(BLM) を見つける「プログラム探索問題」として定義。fitness function F(BLM) を最大化するものであり、Fは複数のダウンストリームタスクと異なるモデルスケールにおける平均的な経験的パフォーマンスとして定義
  • 有効なプログラムとはFigure 32⃝に示されるGAB Baseモジュールの構文的に正しい状態。入力テンソルXを同じ次元と型の出力テンソルに変換する、微分可能で因果的な変換(differentiable, causal transformation)を含む(Table 1)。静的解析と実行時評価

3.2 Language Model Architecture Discovery Environment (LMADE)

  • LMADEの役割は、新しいブロックデザインを生成する発見システム(Genesys)に入力とフィードバックを提供すること。また、デザインの有効性をチェックし、実験を通じて検証し、フィットネスFを計算するためのツールも提供。
  • LMADEは、以下の2つの主要なリソースで構成:
  • 知識エンジン(Knowledge Engine: KE):
    • 新しい研究アイデアを生み出すために必要な学術文献からの情報を提供。検索可能なベクトルストアに保存。arXiv、Semantic Scholar、およびPerplexity.aiのようなサービスを介したウェブ検索を行うためのツールも提供
  • 検証エンジン(Verification Engine: VE):
    • デザインの正確性を検証し、実験を実行するためのツールを提供
    • シンボリックチェッカー(Symbolic checker)、静的(ASTベース)、ランタイム(PyTorchベース)のコード解析を実行し、構文の正確性、微分可能性、因果性、数値安定性、効率性を確認
    • SmolLMコーパス事前学習を自動化し、29の選択されたLM-Evalベンチマークで評価
    • オートチューナーを用いて、モデルのサイズや勾配累積ステップを調整し、適切なスケールに合わせ、メモリ不足(OOM)エラーを回避
    •  

4. Genesys: Genetic Discovery System

4.1 Evolution Tree and Design Factorization

  • デザインの表現: Genesysは、各ブロックプログラムBLMをGeneralized Autoregressive Unit (GAU) treeと呼ばれる離散ツリー表現に分解。(Figure 3 3⃝)TransformerブロックのGAUツリーのように、各ユニット(またはGAU)が実行可能なコードの一部に対応
  • GAUツリー表現を基盤として、変異(mutation)交叉(crossover)といった標準的なGP操作が適用。GenesysではLLMを使用して新しいコードユニットを生成
  • コードをGAUツリーとして表現することで、GPによる最適化と有効性チェックが可能になり、ブロック生成のための効率的なアルゴリズムが考案可能。任意のプログラムはGAUツリーのサブブロックに分解可能
 

4.2 Model Designers

  • 提案段階:
    • 承認された研究提案は、実行可能な設計(BLM)に変換
    • このプロセスは、Figure 8に示される段階的な再帰的生成手順を用いて、GAUツリーを段階的に構築しながらブロックプログラムを漸進的に構築
    • LLMプランナーエージェントが未実装のGAUを選択し、その実装計画を提供。LLMコーダーエージェントがPythonコードを生成
    • ユニットベースのコード生成:直接プロンプトでコード全体を生成するアプローチと比較して、ユニットベースコード生成のアプローチでは設計成功率で約86%の改善。成功した各ユニットを固定し、失敗した場合にのみ局所的に再試行することで、期待される試行回数を指数関数的に削減。有効な「デザイントークン」(推論)の総量が増え、結果として設計の品質が向上

4.3 Verifiers and Efficient Evolution

  • 分散アプローチ:
    • Genesysは、デザイナーエージェントと検証者エージェントを並行して実行し、進化ツリーを介して相互に通信。進化ツリーは、Transformer/GPT、Mamba2、RetNet、RWKV6、TTTといった既存の最先端アーキテクチャで初期化
  • デザイン選択戦略:
    • デザイナーエージェントと検証エージェントは、活用(exploitation)(有望なデザインの洗練)と探索(exploration)(多様な選択肢の調査)のバランスを取りながら、進化ツリーからデザインを選択
    • デザインは、「フィットネス関数(Fitness Function)」(複数のダウンストリームタスクと異なるモデルスケールにおける集約的な経験的パフォーマンス)と「自信(Confidence)」(検証が実行されたモデルスケールの数)の2つの側面で評価
  • Budget management(Ladder of Scales):
    • 全てのデザインを全てのスケールで検証することは非常に高価であるため、スケーリング則に寄ったLadder of Scales戦略を採用。新しいデザインは徐々に大きなモデルスケール(14Mから350Mパラメータ)で検証され、同時に検証予算(各スケールで訓練できるモデル数)は制限

5. Experiments(実験)

5.1 Evolutionary Experiments

  • システム構成比較:
    • 300、500、1000設計での評価
    • Full
    • w/o Lit.: 背景となる文献へのアクセスを除去。
    • w/o Exp.: 選択プロセスからの実験検証とフィットネス情報を除去。
    • Base: 検索を5つの初期シード設計のみに制限し、発見中に獲得した設計と知識へのアクセスを除去。
    • Base w/ Mem.: 新しい設計を背景参照としてのみ使用できるように拡張。
  • 性能指標:
    • 適合度改善
      • Δ(終了時のフィットネス改善)
      • Δmax(ピーク時のフィットネス改善)
    • シャープ比(SR): リスク調整済み改善度(世代間差分の平均を標準偏差で割ったもの)
    • Volatility (ν): 世代間の差分の標準偏差(安定性を示す)
    • 最大ドローダウン(MDD): 最大フィットネス減少量(安定性を示す)
  • 結果:
    • Full版が最高性能(Δ=4.10%、SR=69.0)
    • 文献アクセスと実験検証の重要性確認
    • 1000設計まで継続的改善

5.2 Designer agent analysis

  • コード生成比較:
    • Fullから100の提案をテストケースとして使用し、デザイナーエージェントの実装能力を評価
    • コードプランナー (No Pl.)、オブザーバーエージェント (No Ob.)、ユニットベースの生成戦略 (No UG)、セマンティックチェッカー (No SC) を除去したバリアントと比較
    • 直接的プロンプト生成アプローチと比較
  • 評価指標
    • Valid (%): すべてのチェッカーを通過した成功した実装の割合。
    • Attempts: 平均試行回数。
    • Costs: 平均トークンコスト。
    • LFC (Lines of Function-body Code): コードの複雑性/品質の代理としての関数の本体の行数。
結果:
  • ユニットベースの生成 (No UG) の除去は、パフォーマンスを大幅に低下させ、Valid率が20.7%減少し、LFCが58.6%減少
  • セマンティックチェッカー (No SC) の無効化は最も劇的な影響を与え、Valid率を67.4%減少
  • プランナー (No Pl.) またはオブザーバー (No Ob.) の除去は、定量的な影響は最小限
  • 完全なエージェントのコードの複雑性(平均LFC 181)は、人間が書いた参照ライブラリ(平均LFC 220)に匹敵
  • 直接プロンプト生成アプローチと比較して、Genesysのユニットベースのコード生成は、成功した設計生成において約86%の改善
 
 

5.3 Discovered Model Evaluation

  • 評価方法
    • Genesysの「Full」システムで発見された上位5つの設計を、人間が作成したシード設計(GPT2、Mamba2、RetNet、RWKV、TTT)と比較する標準的なゼロショットエンドタスク評価を実施
    • 125Mおよび350Mパラメータスケールで、それぞれ25Bおよび50Bトークンで学習
  • 発見された設計: 以下の5つの新しい設計が評価されました:
    • VQH (Vector Quantized Hierarchical Generalized Autoregressive Unit): 選択的ゲーティングとベクトル量子化、階層的メモリを統合し、効率的なメモリ圧縮と動的な情報フロー
    • HMamba (HierarchicalMamba): Mamba2のバリアントで、階層的な状態空間モデリングを二層Mambaアーキテクチャと統合
    • Geogate (GeometricGatedMHA): 標準のマルチヘッドアテンションをGeometric Gated Multi-head Attentionに置き換え、位置バイアスに対処し、堅牢な特徴抽出と微細な文脈表現をサポート
    • HippoVQ: イベント駆動型スケール選択と階層的ポリノミアルメモリ(ベクトル量子化で拡張)を使用する再帰型アーキテクチャで、イベントの重要性に基づいてメモリ使用量を最適化
    • SRN (StreamRetNetMLP): RetNetを拡張し、マルチスケール保持メカニズムとStreamRetNetMLPメカニズムを含み、効率的なストリーミング推論
  • 評価結果:
 

6. Discussion, Limitations & Conclusion

現在の限界:
  • FlashAttentionのような効率化に特化した技術との統合が困難
  • 計算資源の制約により、数十億パラメータレベルのアーキテクチャ発見が難しい
今後の展望:
  • 強化学習を通じてエージェントのフィードバックからの学習を強化することを目指す
  • より適応的なデザイン選択戦略を開発することも目標とする。
主な成果:
  • Genesysは、大規模な発見実験を通じて、1,062個の新規LMアーキテクチャ(14M~350Mパラメータ規模)を完全に検証することに成功。LM発見に関する既存の自動化された実験の中で最大規模。発見されたデザインは非常に競争力が高く、一部は一般的な下流タスクにおいて、GPTやMamba2といった人間が設計したベースラインモデルを上回る性能