ベンチマーク最適化ループ は何をしますか?
このスキルを使用して、「20倍高速化」や「50回の再帰的最適化」を、実際にシステムを改善できる境界のある計測ループに変換します。
必要なベースライン
以下のものが揃うまで最適化を開始しないでください:
- 最適化対象の操作
- 成功し続けなければならない正確性ゲート
- メトリクス:ウォールタイム、p95レイテンシ、行/秒、コスト/実行、メモリ、エラー率
- 現在のベースライン
- 探索予算:最大バリアント数、最大時間、最大支出、最大データ影響
ユーザーが非現実的な目標を要求した場合、野心は維持しつつも、ループを境界があり計測可能なものにします。
ループ
- ベースラインを測定する。
- 証拠からボトルネックを特定する。
- 各仮説を1つずつ検証するバリアントを生成する。
- 同じ入力形状でバリアントを実行する。
- 正確性、安全性、再現性に失敗したバリアントを却下する。
- 最速の安全なバリアントを昇格させる。
- 勝利したパスをスクリプト、コマンド、テスト、設定、またはドキュメントにコード化する。
- ベースラインと勝者を再実行して差分を確認する。
バリアントテーブル
次のようにバリアントを追跡します:
バリアント | 仮説 | コマンド | 時間 | 正確? | 備考
ベースライン | 現在のパス | npm run job | 120s | はい | 安定
batch-500 | ラウンドトリップ削減 | npm run job -- --batch 500 | 42s | はい | 勝者
parallel-8 | ワーカー増加 | npm run job -- --workers 8 | 31s | いいえ | レート制限
再帰的探索
再帰的またはハイパーパラメータ作業の場合:
- すべての実行を台帳に永続化する
- 前回の実行だけでなく、以前受け入れられた勝者と比較する
- ホールドアウトまたはリプレイチェックを維持する
- 改善がノイズ範囲内になった場合、正確性に失敗した場合、コストが予算を超えた場合、または説明できるよりも多くの変数を変更し始めた場合に停止する
「大域的最適解」の代わりに「最良の計測された安全なバリアント」のようなフレーズを使用します。ただし、探索空間が実際に網羅的だった場合は除きます。
昇格ゲート
以下の条件が満たされるまで、バリアントは新しいデフォルトになれません:
- 正確性テストに合格する
- パフォーマンスの差分が再現されるか説明される
- ロールバックが明確である
- 変更がソース管理または耐久性のあるランブックにコード化されている
- 最終サマリーに正確なコマンドと測定値が含まれている