モデルの階層化とは
モデルの階層化とは、AIシステム内で複数のモデルを処理の重さに応じて使い分ける設計パターンである
読み: モデルノカイソウカ
AIシステム内で複数のモデルを処理の重さに応じて使い分ける設計パターンである。軽量な分類タスクには小規模モデル、複雑な推論には大規模モデルを割り当てることで、全体の計算コストを抑えながら精度を維持する。Intent Classificationの小規模化はこの代表例となる。
かんたんに言うと
病院の受付で「まず看護師が症状を聞いて、必要なら専門医に回す」のと同じ発想である。全ての患者を最初から専門医が診るのは非効率で、軽い症状は看護師が対応し、重い症状だけ専門医に渡す。AIでも同じように、簡単な判断は軽いモデル、難しい判断は重いモデルに振り分ける。
Intent Classificationの小規模化
ユーザーの意図を分類するIntent Classification(意図分類)は、プロアクティブAIアシスタントの先読み処理で最初に実行されるステップである。この処理に8BパラメータのLLMを使うのはオーバースペックとなる。
Phi-3-mini(3.8B)やQwen2.5-0.5B/1.5Bのような軽量モデル、またはBERT系のエンコーダーモデルに置き換えれば、推論速度が数倍に向上し、CPU/GPU消費が大幅に削減される。複雑な推論が必要な場合のみフルサイズのLLMをスピンアップさせる「二段構え」の設計が有効となる。
ローカル環境での実践
ローカルPC上で複数のAIを並行運用する場合、モデルの階層化はオーバーヘッド削減の直接的な手段となる。意図分類に0.5Bモデルを使えば、Ollamaでの推論がミリ秒単位で完了し、GPU占有も最小限に抑えられる。当社のメモリ・デーモンのような定期バッチ処理との相性もよい。
当社の見解
当社はこの概念を「計画」ではなく「実装済み」の段階に進めた。Ollama常駐実行(CPU 25%、GPU 30%を常時占有)を廃止し、FastEmbed(Qdrant社提供、ONNX Runtimeベース)をライブラリとして組み込んだ。hookが発火した瞬間にのみプロセスを起動し、sentence-transformers/all-MiniLM-L6-v2で埋め込みを生成、LanceDB(Y Combinator支援、サーバー不要のインプロセスDB)でベクトル検索を実行し、完了後にプロセスを即座に終了する。アイドル時のGPU/CPU消費はゼロ。キャッシュ済みの実行時間は3.6秒、検索レイテンシは8msで、1,655件の記憶データに対して実用的な速度を実現している。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
