データサイエンティストが取り組むDevOps 〜負債の溜まりやすい機械学習システムと戦うために〜

これから社内で機械学習を利用したシステムを構築していく予定はありますか? もしくはいつの間にか大量の技術的負債が溜まってしまった止められない機械学習システムの運用をしていく予定はありますか?

機械学習を活用したシステムでは一般的に複雑なデータパイプラインや多様なグルーコードといった課題があげられますが、実際に長期に渡って運用を進めていく中でそれらがどのような弊害を生むのか、そしてシステムを止めずにそれらを回避するにはどうすれば良いかについてはまだまだ世の中では語られていないように思います。

さらに一歩踏み込むと、機械学習システムでは「システムそのもの」に限らず組織的な負債が生じる場合もあります。例えば、過剰な期待値による現実とのギャップ、高度な運用知識を要するために開発者がシステムに縛られること、引き継ぎのたびに多くの背景知識が失われることなどがあげられます。

この発表では、4年にわたる開発・運用により大きな技術的負債を抱えてしまった機械学習システムと向き合った経験を元に、どのように技術的負債を返済していったかというカイゼンジャーニーをお話します。そして、以下のようなトピックに触れながら機械学習システムに関わる人がより幸せに開発・運用していくための知見を提供します。

  • データサイエンティストが開発・運用を行うことによる不
  • 機械学習システムの技術的負債の解消事例
  • 開発フェーズの区分と各フェーズで意識すべきこと
  • 関わる人が苦しまないシステムをデザインするために必要なこと
 
 

Outline/Structure of the Talk

背景

  • データサイエンティストの特性とシステムの運用・保守
  • データサイエンティストが作りデータサイエンティストが引き継いできたシステム
  • 4人目の担当者として

カイゼンジャーニー

  • 引き継ぎ時の課題
  • 計測:漠然とした課題に立ち向かうための最強の武器
  • 組織レベルで課題の認識を促す
  • 小さなの改善の積み重ねが大きなインパクトを生む
  • 外界との接点をロバストにする
    • インプットの変更に対する許容レベルの把握
    • アウトプット範囲の明確化
  • スパゲッティなデータパイプラインの改善
    • データフローに関する仕様の洗い出し
    • データレイクの構築
  • 開発チームの体制立て直し
  • 組織的な課題との向き合い方
    • 過剰な期待値からくる無邪気な開発依頼
    • 困難な引き継ぎ
    • サービスレベル
    • 緊急時の対応
    • 決定者の不在
    • 業務内容の分解と移管

機械学習システムの開発フェーズと各フェーズでのポイント

  • シーズ検証期・開発期・本格展開期・運用期の区分
  • 今回のケースでのポイント
    • システム面:パイプラインジャングル、外界との接点の再設計
    • 組織面:引き継ぎの簡易化、依頼内容の精査
  • 運用を見据えた開発をするために

Learning Outcome

  • 負債の溜まりやすい機械学習システムの理解と改善の仕方
  • 機械学習システムで価値を生み出すための運用者のスタンス
  • データサイエンティストの志向・特性と活用方法

Target Audience

課題のある機械学習システムの運用を任された人、これから機械学習システムを作って社内外で展開しようと思っている人

Prerequisites for Attendees

特になし

schedule Submitted 10 months ago

Public Feedback

comment Suggest improvements to the Speaker

  • Liked Gal Bashan
    keyboard_arrow_down

    Gal Bashan - Why Serverless + DevOps Is a Perfect Fit

    Gal Bashan
    Gal Bashan
    Software Engineer
    Epsagon
    schedule 1 year ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    Serverless is one of the fastest growing technologies on the market. Devs love it as it enables them to move much faster, but Ops tend to be suspicious towards it as it entails “loss of control” over your infrastructure. When making the DevOps transformation, these worlds seem to collide. But serverless is actually a great fit with the DevOps culture, and it can even help you make the transformation.
    I am a developer who is highly experienced with serverless technologies. I want to help teams get started with it, and reduce the barriers to entry.