Velvet Theory AIとデータの話を、やわらかく、筋道立てて。

機械学習の全体地図(6)運用と責任あるAI

モデルを作ったあとに必要な再現性の確保、本番への載せ方、安全な切り替え、監視と、公平性・説明可能性・プライバシーなど責任あるAIの観点、応用例との対応をまとめます。

連載 機械学習の全体地図 第6回/全8回
  1. 第1回全体像と「学び方」
  2. 第2回タスクとモデル
  3. 第3回作って確かめる手順
  4. 第4回評価指標と落とし穴
  5. 第5回深層学習とLLM
  6. 第6回運用と責任あるAI
  7. 第7回Pythonで書く
  8. 第8回通しチュートリアル:解約予測

運用(MLOps):モデルを使い続ける

モデルは、実際の業務で使い始めてからが本番です。データも業務も変わっていくので、作り直せる仕組みと、劣化に気づく仕組みが必要です。

データの収集・管理学習評価デプロイ監視再学習の判断繰り返す
モデルは作って終わりではなく、監視して必要なら作り直すサイクルで運用する。

再現できるようにする

対象やること道具の例
コードバージョン管理するGit
データどのデータで学習したかを記録し、バージョン管理するDVC、データのスナップショット
実験設定・指標・モデルを記録し、後から比べられるようにするMLflow
環境ライブラリのバージョンを固定するrequirements.txt、Docker
乱数乱数のシード(乱数の出方を決める初期値)を固定するrandom_state

本番への載せ方

方式内容例
バッチ推論夜間などにまとめて予測し、結果を保存しておく翌日の解約リスク一覧
リアルタイム推論依頼が来るたびに即座に予測する。他のシステムから呼び出せる窓口(API)にする決済の不正判定(FastAPIなどでAPI化)
エッジ推論スマホや機器の中で予測するカメラでの物体検出(モデルをさまざまな環境で動かせる共通形式ONNXなどを使う)

学習時と本番で前処理が食い違う問題(Training-serving skew)を防ぐため、前処理ごとモデルを保存します(チュートリアルの手順10)。

安全に切り替える

シャドーデプロイ新モデルの予測を本番では使わず、記録だけして旧モデルと比べる
カナリアリリース一部の利用者だけに新モデルを出し、問題がなければ範囲を広げる
A/Bテスト利用者を無作為に分け、売上や解約率などの業務指標で比べる
ロールバック問題が起きたらすぐ旧モデルに戻せるようにしておく

監視する

データドリフト
Data drift
入力データの分布が学習時から変わる(例:値上げで料金の分布が変わる)。2つのデータの分布が同じかを調べるKS検定などで検知できる(チュートリアルの手順11)
コンセプトドリフト
Concept drift
入力と答えの関係自体が変わる(例:競合の登場で解約の理由が変わる)。正解が分かってから精度を測って検知する
予測の分布陽性と判定する割合などの急な変化
精度正解が後から分かるなら実績で測る。正解が分かるまで時間がかかる(ラベルの遅延)ことが多い
システム応答時間、エラー率、計算資源の使用量

再学習は、定期的に行う方法と、ドリフトの検知を合図に行う方法があります。再学習したモデルも旧モデルと同じ方法で評価し、良くなった場合だけ切り替えます。

責任あるAI

精度が高くても、人を不当に扱ったり、情報を漏らしたりするモデルは使えません。技術だけでは決められないことも多いので、関係者と基準を話し合って決めることが大切です。

公平性 Fairness

学習データに過去の偏った判断が含まれていると、モデルはそれを学んで再現します。性別などの項目を除いても、郵便番号や購買履歴などが代わりの手がかり(代理変数)になり、偏りが残ることがあります。

対策の第一歩は、全体の精度だけでなく、グループ別に指標(再現率、誤報の率など)を比べることです。ただし公平性の定義は複数あり(例:陽性と判定する割合をグループ間でそろえる、誤りの率をそろえる)、一般にすべてを同時には満たせないため、用途に応じてどれを重視するかを決める必要があります。

説明可能性 Explainability

まず、誰に何を説明するかを決めます。開発者の不具合調査、業務担当者の納得、判断を受ける本人への説明では、必要な説明が違います。手法は、全体としてどの特徴量が効いているか(特徴量重要度)と、1件ごとの予測の理由(SHAPなど)に分かれます。これらは「モデルが何を手がかりにしたか」を示すもので、現実の因果関係を示すものではない点に注意が必要です。

プライバシーとデータの扱い

  • データは、集めたときの利用目的の範囲で使う。個人情報の扱いは法令と社内規程を確認する
  • 名前を消しても、ほかの項目の組み合わせで個人が特定されること(再識別)がある
  • モデルが学習データを記憶し、出力で再現してしまうことがある(特に大規模なモデル)
  • 保護のための技術に、差分プライバシー(統計的な雑音で個人の影響を隠す)や連合学習(データを集めずに学習する)がある

安全性と悪用への備え

  • 誤りの影響が大きい判断では、人が最終確認する仕組み(Human-in-the-loop)にする
  • LLMを使うシステムでは、プロンプトインジェクションや不適切な出力への対策をする
  • 入力にわずかな細工をしてモデルを誤らせる「敵対的サンプル」という攻撃もある

権利と規制

学習データや生成物の著作権の扱いは、国や利用方法によって異なります。日本には、情報解析のための著作物の利用を原則として認める規定(著作権法30条の4)がありますが例外もあり、生成物が既存の作品に似ている場合は別の問題になります。また、EUのAI法のように、用途のリスクに応じて義務を課す規制も始まっています。具体的な判断では最新の公的な情報を確認し、必要に応じて専門家に相談してください。

公開前のチェックリスト

  • 学習データの出どころと、使ってよいことを確認したか
  • グループ別の精度を確認したか
  • 予測が誤ったときの影響と、その対応手順を決めたか
  • 予測の根拠を、必要な相手に説明できるか
  • 出力に個人情報や機密情報が含まれないか
  • 監視の仕組みと、旧モデルに戻す手順があるか

理解度チェック

応用例との対応

身近な応用を①②③の組み合わせで読み解きます。

応用① 学び方② タスク③ よく使うモデル
迷惑メール判定教師あり二値分類ロジスティック回帰、ナイーブベイズ、Transformer
需要・売上予測教師あり回帰(時系列)勾配ブースティング、ARIMAなどの時系列モデル、NN
与信・解約予測教師あり二値分類勾配ブースティング、ロジスティック回帰
画像の物体検出教師あり構造化予測CNN、Transformer
商品の推薦教師ありランキング協調フィルタリング(似た人が好んだものを薦める。行列分解など)、勾配ブースティング、NN
顧客セグメント分け教師なしクラスタリングk-means、混合ガウス
不正・故障の検知教師なしまたは教師あり異常検知/不均衡な分類Isolation Forest、オートエンコーダ、勾配ブースティング
医療画像の診断補助教師あり(ラベルが少なければ半教師ありや転移学習)分類・セグメンテーションCNN、Transformer
対話AI(LLM)自己教師あり→教師あり→強化学習生成Transformer(事前学習→指示チューニング→好みに合わせる調整)
画像生成教師なし(生成モデル。説明文から作る場合は画像と説明文の組で学ぶ)生成拡散モデル
囲碁・将棋などのゲームAI強化学習(教師ありを併用することも多い)方策の学習NN+探索(AlphaZero型は自己対局で学習)

Spark