u++の備忘録

Machine Learning Casual Talks #8 に参加しました&全発表まとめ

はじめに

本日開催された「Machine Learning Casual Talks #8」に参加しました。今回は「Blog枠」での参加です。

機械学習を用いたシステムを実運用している話を中心に、実践的な機械学習に関して気軽に話せる会を開催します。 実際に運用していく上での工夫や、知見を共有していきましょう!

mlct.connpass.com

以前から行きたいとは思っていたのですが上手く日程が合わず、今回が初参加です。登壇者の方は以前にもお会いしたことがある方が多く、興味津々で臨みました。

Youtube配信は、こちらです。

youtu.be

Machine Learning Casual Talksをはじめた理由

@chezou さん

発表資料

docs.google.com

「エムスリーにおける機械学習活用事例と開発の効率化」

@m_nishiba さん、エムスリー株式会社 機械学習エンジニア

発表資料


概要

  • 小規模な「AI・機械学習チーム」で、機械学習プロジェクトを推進していくやり方について、エムスリーの事例やTipsを紹介
  • 機械学習を生業にする人としてのキャリア論も展開
    • 「出世したいなら上司を出世させる」というメッセージが印象的だった
    • ビジネス貢献・組織貢献・技術貢献のどこに焦点を合わせていくか

所感

  • 発表では割愛された部分も多いほど、情報量が多い素晴らしい資料
  • 機械学習チームにも利益目標を設定」辺りの部分は、ちょうど昨日に書評を書きながら色々考えた話だったので、特に興味深く話を聞いた

upura.hatenablog.com

「BEDOREにおける対話エンジンの開発と運用」

@naohachi89 さん、株式会社BEDORE 機械学習エンジニア

概要

  • BtoB領域で提供している機械学習プロダクトを提供していく中で遭遇した課題と解決策を紹介
  • 特に自然言語処理に関する案件を担当(対話エージェントなど)
  • 課題1: モデルの予測性能がある日突然急激に低下
  • 対策1: スナップショットの保存、分析用のログ
  • 課題2: 互換性の欠如によるエラーの発生
  • 対策2: バージョン管理、CIによる後方互換性の担保
  • 課題3: デプロイに時間がかかる
  • 対策3: 学習済モデルをS3からではなく、Flastic File Systemから読み込んでしまう
    • 現在調整中で、確率的にマウントに失敗する問題がある
  • 課題4: 学習に異常に時間がかかる
  • 対策4: コストに対してパフォーマンスの見合わない施策を削除する
    • BtoBでは削除に労力を要するので、事前の検討が大事

所感

  • 機械学習ドリブンなプロダクト」(機械学習モデルを必須としたプロダクト)を展開しているBEDOREならではの、実用的な知見が詰まった発表だった

LT「bfloat16について」

@roishi2j2 さん

発表資料

docs.google.com

概要

  • bfloat16とは?
  • TensorFlow(に限らず深層学習)で使うデータ型
    • GPUが扱える (高速化のために必須)
    • サイズが小さい (高速化のために必須)
    • 精度は十分

cloud.google.com

所感

  • 存在自体を知らなかった
  • この辺りきちんと勉強していきたい

LT「強化学習を可視化する。chainerrl-visualizerを動かしてみた」

@mogamin さん

概要

  • 強化学習のつらい所
    • 報酬設計が難しい
    • マルチワーカーが苦手
    • シミュレータの開発コストが高い
    • 方策設計はどうあるべきか
    • アルゴリズム部、Deep Q-Network部の試行錯誤
  • chainerrl-visualizer
    • STEP時系列なOUTPUT層や、各STEPでの取るべきアクションなどを可視化してくれる
    • git cloneしてexampleを手軽に実行できる

所感

  • 一度手元で動かしてみたい

LT「分散深層学習のチューニングや辛い話」

@vaaaaanquish さん

発表資料


概要

  • Yahoo!スパコンKukaiを利用したEコマースの偽物検知モデル
  • 課題
    • Eコマースは最終的には人間がBANするが、人手には限界があるので精度が重要
    • 違反者が少ない不均衡データ(Samplerが重要)
    • 常に新しい手法が出続ける(Overfitに注意、Samplerが重要)
    • サービスの文化や変動の課題(Samplerが重要)
  • 深層学習に対する工夫
    • 学習の進み具合に応じて正例:負例の割合を調整(最初は1:1で徐々に実情に合わせていく)
    • 機械学習向けにカテゴリを再編
    • カテゴリ情報をEmbeddingレイヤーで表現
  • 分散深層学習に対する工夫
    • 特定ノードでCVを出し、学習途中で精度の低いカテゴリを特定しSamplerを調整
    • 画像同士のphashを計算し同一画像をなるべく使わないようにする
    • 複数のGPUを利用したパラメータ探索
  • 「分散深層学習は機械学習モデリングとソフトウェアエンジニアリングの総合格闘技

所感

  • 分散深層学習を用いたプロダクトの細かな知見が詰め込まれた発表だった

パネルディスカッション

@m_nishiba さん、@naohachi89 さん、@hurutoriya さんの3人によるパネルディスカッションでした。

ここでは質問内容だけ列挙しておきます。気になる質問があれば、Youtube配信をご覧ください。

  • プロジェクトの取捨選択をできる人はどれだけいますか?
  • 売上を目標に設定すると、KPIの奪い合いが起きるのでは?
  • FAQ分類タスクはマルチクラスだと大変なのでは二値分類を重ねるほうが良い?(@naohachi89 さん)
  • 精度とスピード(計算量)のトレードオフはどう対応している?
  • AWS/GCP/オンプレなどの選択は?
  • データ分析はどれくらいやっている?(@m_nishiba さん)
  • 精度の閾値はどうやって決めている?
  • 機械学習を使わない解決策はチームの評価に含まれるのか?
  • 機械学習未経験でも採用される可能性があるか?
  • 全てのMLフレームワークに精通しているか?
  • 機械学習チームのデータエンジニアやアプリケーションエンジニアは、常に仕事がある状態になっているのか?
  • イノベーションのジレンマに陥ることは?
  • スマホ監視をどう実現したか?(ゲスト:@vaaaaanquish さん)

おわりに

本記事では、ブログ枠で参加した「Machine Learning Casual Talks #8」について、全発表の概要や感想などをまとめました。所感などは、帰宅後に追記したいと思います。

おまけ

エムスリーの@m_nishiba さんからノベルティを頂きました。今回のイベントで初配布とのことです。ありがとうございます!