コンパイル
読み: コンパイル
コンパイルとはAI開発における計算の最適化
コンパイルとは、AI開発においてモデルの計算手順を最適化し、実行に向けて準備を整えるプロセス。Keras/TensorFlowでは学習条件の設定、PyTorch 2.0では計算グラフの高速化、推論環境ではハードウェア専用フォーマットへの変換を指す。
Keras/TensorFlowでの学習条件設定
初心者が最初に出会うコンパイル。model.compile()メソッドで「どうやって学習を進めるか」のルールをモデルに紐付ける。設定する項目は3つ。オプティマイザ(AdamやSGDなど)、損失関数(予測のズレの計算方法)、評価指標(正解率など)。
この工程を経ないと学習を開始できない。設計図を描いただけでは家は建たない。
PyTorch 2.0のtorch.compileと推論最適化
PyTorch 2.0で導入されたtorch.compile()は別次元の話。Pythonで書かれた計算グラフを、GPUが最速で処理できる機械語レベルに最適化する。複数の細かな計算を1つの処理にまとめるオペレーション・フュージョンにより、学習・推論速度が数倍になるケースもある。
推論環境向けにはNVIDIAのTensorRT、IntelのOpenVINO、AppleのCoreMLなど、ハードウェア専用のコンパイラが存在する。無駄な計算を省き、データサイズを圧縮して、限られたメモリと電力でモデルを動かす。
当社の見解
当社はツール選定において実用性を第一方針にしている。カタログスペックやベンチマークスコアではなく、実務で1週間使い倒して初めて判断する。フレームワークを増やすほど管理コストが増える経験もした。フックを増やしすぎてAIが情報過多でパニックになったこともある。足し算だけでなく、引き算の判断が選定の質を決める。検証せずに導入したツールは、ほぼ例外なく3か月以内に使わなくなった。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
