skip to Main Content
MACHINE LEARNING Meetup KANSAI #5 レポート

こんにちは、ハカルスでデータサイエンティストとしてインターンをしております野崎です。2019年6月17日に開催された「MACHINE LEARNING Meetup KANSAI #5」に参加して来ましたので、その様子をレポートしたいと思います。  

 

今回で第5回目の開催となる「MACHINE LEARNING Meetup KANSAI」(以下、mlm-kansai)は、関西の機械学習を業務に活用している人や勉強している人を対象として、機械学習のノウハウをお互いに情報交換・共有し、広く発信していこうというコミュニティイベントです。今回は第1回目以来となります株式会社はてなさんの京都オフィスにて開催されました。参加者は総勢40名。参加者どうしの交流も進み、この人数規模ならではの内容の濃い時間となりました。

それでは早速メインセッションの内容についてレポートしていきたいと思います。

 

メインセッション


吉田 康久さん ( はてな株式会社 )

Mackerelのロール内異常検知の設計と運用

最初の発表は、はてな株式会社の吉田さんでした。mlm-kansaiの#1と#3でLTで登壇しており、なんと今回で3回目の登壇ということです。  

今回の発表ははてなさんが開発されたサーバー管理・監視サービス「Mackerel」の機能の1つである「ロール内異常検知」という機械学習を用いた機能について、サービス適用までに考慮したアーキテクチャやアルゴリズムの選定などについてのお話でした。  今まではCPU使用率が90%を超えたらアラートなどといったルールベースで異常検知をしていたけれども、サーバー管理コストを減らすために機械学習で異常検知を行う機能を追加したとのことです。  

 

Mackerelではサービス内で同じような役割を持つ「ロール」ごとに異常検知を行っているそうですが、そのロール内異常検知の要件としては、メモリ上にモデルをロードするのが軽いということやモデルの学習が低コストでできる必要があるというものでした。そのような要件を満たすモデルとして混合ガウス分布を選択されたそうです。また、素直な実装では学習時のデータの分散が小さかった時に、運用時に少しの変化でアラートが発生するという誤検知が起こりやすいので、分散パラメータの事前分布を人間の知識をふまえてモデルに取り入れることで誤検知を減らしているという工夫についての説明もありました。その他、性能評価として実際に発生したアラートが適切であったかどうかを人手でアノテーションしてシステムの改善に活かしているそうです。

田中 祥太郎さん ( 株式会社リブセンス )

『 事業横断組織でのMLシステム開発・運用と基盤設計 』

 

二人目は株式会社リブセンスの田中さんです。リブセンスさんでは複数のWebサービスを運用されていますが、MLシステムは横断組織として独立しているそうで、今回のトークはそのML基盤をどのように開発・運用しているのかについてのお話でした。

従来は各サービスにMLのシステムも全て独立して組み込んでいたそうなのですが、似たようなシステムが増えてきて、それぞれデプロイフローなども違うために運用や開発が回らなくなってきたそうです。そこで、システム間で共通化できるところは共通化し、ジョブ管理やデプロイフローも共通化しようというのがML基盤を作成されたきっかけだったそうです。  レコメンドアルゴリズムコンテナや前処理コンテナなどのコンポーネントごとに単一のdockerイメージにすることで、今までは別々に存在していたアルゴリズム実装をシステム間で再利用できるようにしたそうです。また、コンポーネントごとに個別に開発ができるので新規メンバーの参入障壁が低くなったということです。

その他、Google Kubernetes EngineやArgo Workflowを導入して、より柔軟性や利便性の高い基盤にしていったことなどの説明などがありました。

木虎 直樹 ( 株式会社ハカルス ) 

『 機械学習プロセスの進め方 』

メインセッション最後はハカルスのCDO木虎の発表でした。「機械学習プロセスの進め方」というテーマで、ハカルスでの機械学習プロジェクトの進め方や、各フェーズにおいて行っていることの詳細について順を追って説明がありました。まずは「ビジネスの理解」のフェーズの解説から始まり、解くべき問題は何か、どういうことをやりたいのかという目的や背景を理解することの重要性や、どのくらいのビジネスインパクトがあるのかといったことを知ることの大切さが説かれました。

続いて「データの理解」のフェーズでは、データを眺めることの重要性が説かれました。多くのデータを見ることでデータに関する直感が養われたり、データのアノテーションの人的ミスなどにも気づけたりする可能性があるということです。その後、データの準備や性能評価、実運用などの各フェーズの解説とそれぞれのフェーズで気をつけるべきことなどについて説明がありました。

普段はデータの分析や性能評価しか行わないという人も、今回の発表のようにプロジェクト全体の流れを理解し意識することは大切だなと感じました。

懇親会

 

メインセッションが終了するとすぐに懇親会が始まり大量のピザと飲み物が「デプロイ」されました!また、今回の懇親会では新しい試みとして、メインセッションの内容などに関連して質問がある人は質問を書いたポストイットをホワイトボードに貼り付けていくというシステムが導入されました。次々に質問の書かれたポストイットがホワイトボードに貼られていき、参加者の方々の熱意を感じました。その後ポストイットは書かれた内容を元に「人力クラスタリング」され、そのクラスタリングを元に参加者が集まって話すという形式が取られました。

LT

懇親会の途中から恒例のLT(ライトニングトーク)タイムが始まりました。今回は私もLTに参加して「SSTで異常検知してみた話」というテーマで発表しました。発表が終わった後に他の参加者の方とLTの内容に関連して会話が弾んだりしてLTをしてよかったと感じました。LTは他にも2名の発表がありましたが、それぞれとても興味深い内容でかつ時折笑いも起きるような面白さも含んでおり参加者の視線を釘付けにしていました。

まとめ

 

今回mlm-kansaiに初参加しましたが、メインセッションでは機械学習が会社のプロダクトにどのように使われているか、どのように開発・運用されているかなどを知ることができ、懇親会では様々な会社のエンジニアさんなどとお話をすることができ、とても参加してよかったと思えるイベントでした! mlm-kansaiはこれからも続いていくと思うので、興味を持った方はぜひ一度参加されることをオススメします!LTも参加者であって、かつ機械学習に関する内容が含まれている発表であれば何でもOKなので是非。次回イベント等の通知はconpassで[Machine Learning Meetup KANSAI](https://mlm-kansai.connpass.com/)のメンバーになると受け取れるのでこちらも是非!