- はじめに
- Machine Learning Casual Talksをはじめた理由
- 「エムスリーにおける機械学習活用事例と開発の効率化」
- 「BEDOREにおける対話エンジンの開発と運用」
- LT「bfloat16について」
- LT「強化学習を可視化する。chainerrl-visualizerを動かしてみた」
- LT「分散深層学習のチューニングや辛い話」
- パネルディスカッション
- おわりに
- おまけ
はじめに
本日開催された「Machine Learning Casual Talks #8」に参加しました。今回は「Blog枠」での参加です。
機械学習を用いたシステムを実運用している話を中心に、実践的な機械学習に関して気軽に話せる会を開催します。 実際に運用していく上での工夫や、知見を共有していきましょう!
以前から行きたいとは思っていたのですが上手く日程が合わず、今回が初参加です。登壇者の方は以前にもお会いしたことがある方が多く、興味津々で臨みました。
Youtube配信は、こちらです。
「エムスリーにおける機械学習活用事例と開発の効率化」
@m_nishiba さん、エムスリー株式会社 機械学習エンジニア
発表資料
概要
所感
- 発表では割愛された部分も多いほど、情報量が多い素晴らしい資料
- 「機械学習チームにも利益目標を設定」辺りの部分は、ちょうど昨日に書評を書きながら色々考えた話だったので、特に興味深く話を聞いた
「BEDOREにおける対話エンジンの開発と運用」
@naohachi89 さん、株式会社BEDORE 機械学習エンジニア
概要
- BtoB領域で提供している機械学習プロダクトを提供していく中で遭遇した課題と解決策を紹介
- 特に自然言語処理に関する案件を担当(対話エージェントなど)
- 課題1: モデルの予測性能がある日突然急激に低下
- 対策1: スナップショットの保存、分析用のログ
- 課題2: 互換性の欠如によるエラーの発生
- 対策2: バージョン管理、CIによる後方互換性の担保
- 課題3: デプロイに時間がかかる
- 対策3: 学習済モデルをS3からではなく、Flastic File Systemから読み込んでしまう
- 現在調整中で、確率的にマウントに失敗する問題がある
- 課題4: 学習に異常に時間がかかる
- 対策4: コストに対してパフォーマンスの見合わない施策を削除する
- BtoBでは削除に労力を要するので、事前の検討が大事
LT「bfloat16について」
@roishi2j2 さん
発表資料
概要
- bfloat16とは?
- TensorFlow(に限らず深層学習)で使うデータ型
- GPUが扱える (高速化のために必須)
- サイズが小さい (高速化のために必須)
- 精度は十分
所感
- 存在自体を知らなかった
- この辺りきちんと勉強していきたい
LT「分散深層学習のチューニングや辛い話」
@vaaaaanquish さん
発表資料
概要
- Yahoo!のスパコンKukaiを利用したEコマースの偽物検知モデル
- KaggleのAvitoの1st solutionを参考にした
- 分散処理のためChainerMNを用いて実装
- 課題
- 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 さんからノベルティを頂きました。今回のイベントで初配布とのことです。ありがとうございます!
便利なノベルティおきました! #mlct pic.twitter.com/J1JyWfhd1W
— nishiba (@m_nishiba) January 28, 2019