
私はキャリアのほとんどを、ルール、しきい値、レビューキューといった昔ながらの方法で不正検知システムを構築することに費やしてきました。ルールを作成し、誤検知が山積するのを見て、調整し、それを繰り返す。そして3ヶ月後、データチームの誰かが私が見落としていたパターンを発見する、という具合でした。
AIはそれを完全に覆します。魔法だからではなく、トランザクションストリームの内部に存在し、私がこれまで保守してきたどのルールセットよりも速く適応できるからです。
根本的な変化は、リアクティブな検知からほぼリアルタイムの検知への移行です。ルールでは、すでに見つけてルールを作成したものしか捕捉できません。トランザクションパターンでトレーニングされたモデルは、既存のどのルールにも一致しない異常をフラグ付けできます。例えば、新しい場所の新しいデバイスからの購入で、それ以外はユーザーの支出プロファイルに合致している場合などです。
しかし、私が予期しなかった落とし穴があります。それは、モデルはルールよりも速くドリフトするということです。ルールは一致するかしないかのどちらかです。モデルの信頼度しきい値は、データ分布が変化するにつれて変動します。デプロイ時には優れたパフォーマンスを発揮していたモデルが、不正パターンが進化するにつれて3ヶ月以内に著しく劣化するのを経験しました。
新しいパターンを発見したときにルールセットを更新する必要があります。モデルは常に監視する必要があります。精度、再現率、誤検知率、データドリフトなどです。メンテナンスの負担は異なりますが、低くなるわけではありません。
すべての不正シナリオがMLの恩恵を受けるわけではありません。単純な速度チェック(「このカードから10分以内に5回以上のトランザクション」)は、ルールとしての方が高速で信頼性があります。モデルは新しいパターンを捕捉できるかもしれませんが、3行のif文で完璧に処理できるケースに対して、レイテンシと複雑さを導入することにもなります。
私が使う基準はこうです。不正パターンを1文で説明できるなら、ルールを作成する。パターンが「見ればわかる」というものなら、モデルをトレーニングする。
最も困難な教訓は、モデルを構築することではなく、それをサービスとして提供することでした。リアルタイムの不正検知には、100ミリ秒未満での推論が必要です。そのためには、以下のことが必要でした。
私が本番環境で見てきたMLベースのリスクシステムはすべて、その下に劣化モードのルールセットを持っています。最初の障害の後ではなく、初日からそのフォールバックを設計してください。
明白なパターンにはルールから始めましょう。ルールでは捕捉できないエッジケースにはMLを追加します。モデルのパフォーマンスを常に監視してください。精度だけでなく、ビジネスへの影響(どれだけの正当なトランザクションをブロックしているか?)もです。そして常に、常にフォールバックを用意してください。
私が見てきた最高のリスクトシステムは、純粋なMLでも純粋なルールでもありません。それぞれがお互いの盲点をカバーするハイブリッドです。
AI CLIログの整形、Cron式の作成、JWTの解析、chmod権限の計算をオフラインで実行。

UnslothとLoRAでDeepSeek R1をファインチューニングし、本番環境レベルのアーキテクチャとコード例を用いてメモリ効率の良い推論モデルを構築するための包括的なガイドです。
続きを読む
DeepSeek V3のアーキテクチャを詳しく解説し、Multi-Head Latent Attention (MLA)、DeepSeekMoE、FP8混合精度、そして本番環境レベルのアーキテクチャとコード例を網羅した包括的なガイドです。
続きを読む
本番RAGパイプライン向けにPinecone、Qdrant、Milvus、pgvectorのアーキテクチャを、HNSW vs IVFFlatインデックス、単段フィルタリング検索、p95レイテンシ、メモリフットプリントでベンチマークします。
続きを読む