信頼性の高い機械学習 ―SRE原則を活用したMLOps
by Cathy Chen, Niall Richard Murphy, Kranti Parisa, D. Sculley, Todd Underwood, 井伊 篤彦, 張 凡, 樋口 千洋
10章継続的なML
これまでのMLシステムについての議論は、モデルとは訓練してデプロイするものであり、あたかも1回限りのことであるかのように考えられることが中心でした。もう少し深い見方としては、一度訓練されてデプロイされるモデルと、より継続的な方法で訓練されるモデル(継続的なMLシステムと呼ぶ)を区別することです。典型的な継続的MLシステムは、ストリーミングまたは定期的なバッチ方式で新しいデータを受け取り、これをトリガーとして更新されたモデルのバージョンを学習し、運用にプッシュします。
MLOpsの観点からは、一度学習されたモデルと継続的に更新されるモデルでは明らかに大きな違いがあります。継続的なMLに移行することで、自動化された検証の難易度が上がります。フィードバックループや外界の変化に対するモデルの反応にまつわる頭痛の種が発生する可能性があります。継続的なデータストリームの管理、モデルの故障や破損への対応、そしてモデルに新しい機能を導入して学習させるといった一見些細なタスクでさえ、システムの複雑性を増大させます。
確かに表面的には、継続的なMLシステムを作ることはひどいアイデアに思えるかもしれません。結局のところ、そうすることで、現実の外界が変化する可能性があるため、本質的に事前に知ることができない一連の変化にシステムをさらすことになり、その結果予期しない、あるいは望ましくないシステムの振る舞いを引き起こす可能性があります。MLでは、データはコードであるということを思い出せば、継続的MLの考え方は、確実に運用システムの振る舞いを変える可能性のある新しいコードに相当するものを受け入れることです。これを行う唯一の理由は、継続的に更新されるシステムの利点がコストを上回る場合です。なぜなら、世の中の新しいトレンドに適応し、学習できるシステムを持つことで、複雑なビジネスや製品の目標を達成するのに役立つ、システム全体の品質レベルを向上させることができるからです。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access