Step
読み: ステップ
ステップとはAI学習の最小単位
StepとはAIがデータを読み込み自身の予測精度を修正する1回の学習単位でありプロジェクトの計算コストとモデル性能を左右する重要指標である。モデルのパラメータを更新する最小の計算単位として機能する。
かんたんに言うと
スープを作る際にお玉一杯分を味見して塩を足す1回の動作である。鍋全体の味を整えるためにこの味見と調整を何百回も繰り返す過程がAIの学習に該当する。
クラウド請求書を読み解くためのStepの基本構造
AIの学習は魔法ではない。単なる泥臭い計算の繰り返しである。
Stepはモデルがデータを読み込んで誤差を計算し重みを更新する1回の処理を指す。ここで必ずバッチサイズという概念が絡んでくる。例えば1万件のデータセットをバッチサイズ100で処理する場合1エポックを回すのに100回のイテレーションが発生する。この1回のイテレーションが1Stepである。
現場のエンジニアがよく口にするStep数はこの更新回数の総計を意味する。
計算の単位を理解していないとクラウドの請求書を見て青ざめることになる。
法務や経理の現場でのStep設定と開発ツール
法務部門の過去の契約書データや経理の特有の仕訳ルールを学習させるファインチューニングの現場ではStep数の設定が直に効いてくる。Hugging FaceのTransformersライブラリを使えば数行のコードで学習ループを回せるがデフォルト設定をそのまま使うのは素人である。
TensorFlowやPyTorchでカスタムの学習ループを書く際もバッチサイズとStep数のバランスに頭を悩ませることになる。
法務のNDA審査モデルを作った時データが少なすぎて数千Step回しただけで使い物にならなくなった。データ量に見合わないStep数はただの電気代の無駄遣いである。
学習Step数を増やす効果と過学習のリスク
Step数を増やせばAIの回答精度が上がると思い込んでいるマネージャーは多い。確かに学習初期は損失関数が綺麗に下がっていく。だがどこかで必ず壁にぶつかる。
過学習である。
訓練データに過剰に適合し未知のデータに対する汎化性能が急激に落ちる。昨日まで賢かったモデルが突然過去のデータしか答えられないポンコツに成り下がる。NVIDIAのA100 GPUを何枚も並べてひたすらStepを回せばいいというものではない。
どこで学習を打ち切るか。アーリーストッピングの閾値をどう設定するか。現場の判断は常に悩ましい。
クラウドインフラ予算から逆算するStep数の見積もり
AWSのSageMakerやGoogle CloudのVertex AIを使う場合Step数は直接的に課金額に跳ね返る。GPUインスタンスの時間単価は安くない。
自社の予算と求める精度のバランスをどう取るか。
10万Step回して精度が1パーセント上がるとしてその1パーセントに数十万円のインフラコストを払う価値があるのか。投資対効果をシビアに問われる場面である。
データサイエンティストは少しでも多くStepを回したがるがインフラ担当は予算超過を恐れる。両者の落としどころをどこに見つけるか。プロジェクトのフェーズによっても正解は変わるため一律の基準を設けるのは難しい。
当社の見解
技術の選定で最も避けるべきは「流行っているから」という理由で導入することだ。当社は複数のAIツール・フレームワークを実際に検証した上で、自社の用途に合うものだけを採用している。検証せずに導入したツールは、ほぼ例外なく3か月以内に使わなくなった。実装指示した人間側が実装したことも忘れて、気が付けば動いていない機能があった、ということも起きる。さらに、MCPやフックやルールを増やしすぎてAIが情報過多で機能しなくなった経験もある。どんなにルールや機能を付け足しても機能しなければ意味がない。足し算より引き算。1週間の検証期間が、3か月の手戻りを防ぐ。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
