Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIコードエディタの基盤となるLLMのFlutter性能評価

alquist
April 01, 2025

 AIコードエディタの基盤となるLLMのFlutter性能評価

alquist

April 01, 2025
Tweet

Other Decks in Programming

Transcript

  1. タスクを定義する ≒ 入出力を定義する 「LLMを評価する」とは 修正 実装 説明 検出 入力:実装の詳細 出力:コード

    入力:修正方針&コード 出力:コード 入力:コード (&検出したいこと) 出力:コード&説明 入力:コード(&何を知りたいか) 出力:説明 開発におけるユースケース
  2. 評価手法を定める 1. 人手評価 a. タスク・分野の専門家 b. クラウドソーシング 2. 自動評価 a.

    定量的な基準を実装(ex. BLEU, ROUGE) b. LLM-as-a-judge; GPT-4と人間の評価判断が80%以上一致 [Zheng et al., 23] 「LLMを評価する」とは 正しい答えを出しているか⇨1a, 2aが良さそう 指定のフォーマットに則っているか⇨2が良さそう 倫理的に問題がないか⇨1, 2bが良さそうだが2aでできることもありそう 出力: I have pen 正解:I have a pen
  3. データセットの作成 設定したタスクと評価指標・方法を踏まえて、データを作成・収集する 1. 人手 a. タスク・分野の専門家 b. クラウドソーシング 2. 自動

    a. 大規模コーパスからクローリング b. テンプレートを用意し、単語や文章を埋めていく c. LLM Synthetic Dataset(LLMを用いた人工的データセット) 「LLMを評価する」とは
  4. データセット品質の担保 - 分量 - 妥当なデータ数があるか - 正確性 - 間違ったラベリングがされていないか -

    ラベルの偏り - ex. はい/いいえで答えるタスクで、答えが「はい」のデータが9割 - 網羅性 - タスクが持つ複数の要素をカバーできているか - ex. 「テストコード生成タスク」⇨単体/Widget/E2E/etc.. - データの多様性 - 特定の単語やパターンが繰り返されていないか 「LLMを評価する」とは
  5. 評価指標・手法の候補 FlutterにおけるLLM評価 UI実装・修正 - ビルドが通るかまで見る - snapshotツールと併用する Riverpodを用いたロジックの実装・修正 - Riverpodのバージョンまで見る

    Widgetテスト・E2Eテストの実装・修正 - テストが通るかまで見る - snapshotツールと併用する タスクを定義する 評価指標・手法を定める データセットを作成する
  6. References - Zheng, Lianmin, et al. "Judging llm-as-a-judge with mt-bench

    and chatbot arena." Advances in Neural Information Processing Systems 36 (2023): 46595-46623. - https://speakerdeck.com/chokkan/jsai2024-tutorial-llm