データ分析関連のまとめ

データ分析・機械学習周りのもくもく会LTやイベント参加をまとめていきます

Machine Learning Casual Talks #12 (Online)に参加しました

「Machine Learning Casual Talks #12 (Online)」に参加したので(オンライン)、まとめました。
間違っている箇所がある場合、指摘いただけると助かります。

目次

どんなイベント?

機械学習を用いたシステムを実運用している話を中心に、実践的な機械学習に関して気軽に話せる会を開催します。 実際に運用していく上での工夫や、知見を共有していきましょう! 今回のテーマは機械学習プロジェクトに関する「ベストプラクティスとアンチパターン」です!!

mlct.connpass.com

今回は3名のLTから構成されていました。

LT

"Cost-efficient and scalable ML-experiments in AWS with spot-instances, Kubernetes and Horovod"がベストプラクティスだと思う理由

speakerdeck.com 服部圭悟 @keigohtr さん

  • 文献についてABEJA Platformを踏まえてどこが良いと思ったかの紹介

    • プラットフォームを作る事を前提とした話
    • 機械学習に関わる仕事とは?
      • 学習→今回の話はこちらのプラットフォーム
      • 運用
    • お持ち帰り
      • データをどう持つか?→データセット:EBS、成果物はEFS
      • リソースとコストをどう最適化するか?
      • 機械学習ジョブをどう実行するか?
      • 分散学習はどうするか?
    • データをどう持つか?
      • 学習作業でデータをどう使うか?

        • 蓄積→S3
        • 読み込み→EBS
          • 総実行時間の短縮が出来る
          • 他に選択肢がない(EFS:読み込み遅い)
          • 辛い点
          • ABEJAでは?→EFSを使っている
        • 書き出し→EFS
          • 成果物のサイズを予想できない
          • Disk fullでジョブが死ぬ事を避けたい
          • ABEJAでは?
            • EFSを定期的に掃除
      • リソースとコストをどう最適化するか?また機械学習ジョブをどう実行するか?

        • やりたいこと
          • コストを抑え、安定した計算クラスタを作る
          • スケーリングの自動化
          • 可能な限り効率的に機械学習ジョブを実行
        • 文献では
          • Spot Instance
          • Kubernates Job(突然死に対応)
        • ABEJAでは?
          • Spot Instanceを管理するSpotlistを利用
          • インスタンスに使うイメージ、種類を固定
          • ユーザーのコードをEFS上で動かす
      • 分散学習をどうするか?

        • 複数のGPUを使った分散学習をやりたいが、既存のコードはなるべく変更したくない
        • 文献では
          • Horovod採用
          • Spot Instanceによるjobの突然死へ対応
        • ABEJAでは?
          • To Be Continued
  • 感想

    • 私があまり業務で関わる領域では無かったのですが、コストを考えた学習等を行う上でも理解していこうと思いました。

データマネジメントなき機械学習は、破綻する。

speakerdeck.com

@yuzutas0 さん

  • データが使い物にならないときに、どうするか?

    • データが使えないとは?

      • データ品質
        • 正確性、妥当性、有効性
        • 完全性
        • 一貫性、整合性、一貫性
        • 適時性
        • セキュリティ
      • MLで建材しがちな品質問題
        • human-readable, machine-unreadable:正規表現で頑張ったりする
        • 本来欲しいもの:human-readable, machine-unreadable
      • データマネジメントを伴うML(本来ほしいもの)
        • Sys/Opsあんていした業務PDSサイクル
    • なぜ問題が生じているか?

      • DataとOpsが繋がってないから
      • 例:営業データで、以下のように多くの問題を抱えている
        • 誰も把握できない全体像
        • 各自の担当者が手元でシート作る、入力でばらつき
        • マニュアルが整備されていない等
        • 誰もが目先の急務で手一杯
      • 同じ問題を繰り返しデータ活用にたどり着かない(machine learningに使えるデータにならない)
    • 解決のために何が出来るか?
      • データマネジメント(資産と捉える)事が大事
      • 11領域が定義されている
        • 各々の現場で何が出来て何が出来ていないか把握し、解消するために自分に何が出来て誰に相談すると良いか考える事が大事
  • 感想

    • 業務で行っている時に辛みとして抱えているものも出てきていました。
    • 要件が体系化されていたので、実際にどの程度出来ているか確認してみようと思いました。

使われる機能目指して測ったり試したり

www.slideshare.net

大嶋悠司 @overs_5121さん

  • EdgeAI技術を使ったアプリについて

    • Edge AIとは?:お客様の近くのデバイス上でMLの推論を行う技術
      • 何ができて、うれしい?
        • インターネット介さないからlatencyが低い
      • バイス上で推論するので、モデルサイズや消費電力の制限がある
    • 何のためにやるのか?
      • 制限は大きいが、低レイテンシネットを必要としない推論でUXを大きく改善する
    • フレームワーク
    • 何を作ったか?
      • バーコード出品の認知度向上
        • 撮影した商品画像が本等の場合にバーコード出品をサジェスト
      • モデル学習
        • Quantization Aware Training:量子化による精度劣化を防ぐ(学習の計算コストは上がる)
      • モデル軽量化・量子化、モデル形式変換
        • 即座にやりたい推論速度<50ms、モデルサイズ<10MB
        • TF Liteの変換オプションで量子化設定:file size、latencyの比較からweight only quantを選択
      • バイス上で実行
        • TF Lite & delegation:パフォーマンスの向上が狙える
        • ただ、今回はdelegationは行わなかった
      • 計測・改善
        • モデルの問題か?(精度やlatencyの問題か?)
        • UIか?(おそらくABテストで表示時間の妥当性を検討)、デザインの検討・改善
  • 感想

    • UX・UIを考えどう機械学習のモデルを作るかというところまで考え、開発出来る事が重要になっている事を実感しました。

他の参加者の方のブログ

kabayan55.hatenablog.com