Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LPIXEL×CADDi_kaerururu

 LPIXEL×CADDi_kaerururu

kaerururu

March 14, 2024
Tweet

More Decks by kaerururu

Other Decks in Programming

Transcript

  1. Who are you? • kaerururu • 仕事: MLOps 修行中の MLE

    • 専攻: 経済史 • 趣味: Kaggle, 釣り • Kaggle ◦ あと金一枚で GM (誰か力貸してください) ◦ 画像やテキスト系のコンペを好んで参加 会社・ロール ドメイン × データ キャリアチェンジ前 金融系の営業とか SE とか ストックマーク  MLE DMM.com  MLE CADDi  MLE  MLOps ビジネスニュース × NLP エンタメ × テーブル, 検索改善 製造業 × 画像
  2. Who are you? • kaerururu • 仕事: MLOps 修行中の MLE

    • 専攻: 経済史 • 趣味: Kaggle, 釣り • Kaggle ◦ あと金一枚で GM (誰か力貸してください) ◦ 画像やテキスト系のコンペを好んで参加 会社・ロール ドメイン × データ キャリアチェンジ前 金融系の営業とか SE とか ストックマーク  MLE DMM.com  MLE CADDi  MLE  MLOps ビジネスニュース × NLP エンタメ × テーブル, 検索改善 製造業 × 画像 製造業ドメインないです
  3. 例) 溶接記号 (一部抜粋) 記号 旧記号 記号 旧記号 • 図面内で使われる記号 •

    日本の国家規格 (JIS) で定められている ◦ 規格の新旧で違う記号が存在 • ここにあげたものだけでも 17クラス • 組み合わせで登場することも
  4. (MLE からみた) 図面の特徴 • いわゆる公開データセットやモデルみたいなものがない ◦ 設計図 = 競争力 なので公開するインセンティブがない

    • デカい ◦ 現場ではテーブルに広げたりする ◦ よくある大きさ (表) • 自由度が高い ◦ 共通プロトコルはあるが ... ◦ 手書き、取消線、社内ルール ◦ AI ってやつでなんとかして 画像サイズ (px) A0 11,589 × 16,384 A1 8,185 × 11,589 A3 4,093 × 5,787 A4 2,894 × 4,093
  5. データセット作成 • どういうアノテーションのコンペは良コンペ だった ? • 何枚くらいアノテーションすればいい ? Kaggleの 知見

    アノテーションデータを作成する • 定義 • 対象データ収集 • アノテーション実施 実務の 課題 Kaggle でアノテーションのやり方は身につかないが … 多数のコンペに参加して得た勘所が活きる
  6. • 推論結果 = 顧客価値につながるため、ユースケースを考えて定義 ◦ PdM や社内の製造業ドメインエキスパートと相談 • 溶接記号検出のユースケース ◦

    溶接する必要があるか否か ◦ どこを溶接するか ▪ ハイライトしたい etc… アノテーションの定義をする A B 記号部分のみ ピンポイント 周囲の数字とか 文字とかまで シングル ラベル マルチ ラベル
  7. アノテーション対象のデータを集める • 同一ホスト過去コンペのデータに擬似ラベルをつけて学習データを増やす (Pseudo Labeling) • ベースラインモデルをサクッと作り、高速に検証を回す Kaggleの 知見 •

    CADDi で預かっているたくさんの図面から学習に必要な図面のみを集めたい • アノテーションの工数削減のためプレアノテーションを実施したい • 一度のアノテーションで欲しいラベルが全て集まるとは限らない 実務の 課題 Pseudo Labeling の経験やモデル作成の速さは アノテーションプロセスの効率化にも活きる
  8. モデリング・評価 Kaggle 実務 評価データ 評価指標 モデル 再現性 固定 精度 アンサンブルし

    てでも精度 自分のために 重要 変動あり 精度 速度 シンプルさも重 要 チームの運用 のために重要 変動する事業状況に追従し、チーム全体でプロダクトとしての性能要求 (精度+α)を満たすこと、運用まで見据えたモデリングが重要
  9. 推論コード作成 • local で学習して、kaggle notebook で推論 • 学習と推論で前処理を揃える (CV 通りのスコアがでるよう過不足なく

    ) • 環境差分への配慮 (Kaggle Docker の利用) Kaggleの 知見 • 未知データに対して検証時と同様の精度を担保したい • 運用を見据えたコード品質 ◦ 単体テスト、型ヒント、静的解析 ◦ ロギング、例外処理 • コンテナ化 実務の 課題 Code Competition の普及、学習と推論を別環境でやる経験値は身に付く
  10. 運用 CADDi の ML チームで実際に見ているダッシュボード (抜粋) 他にも、レイテンシ, レプリカ数, レスポンス数 なども追っている

    デプロイしてからが本番 安定して顧客価値を届けるために日々挙動を確認 もしもの時は迅速に対応する
  11. • データを集める工夫が面白い ◦ データセントリックなアプローチ ◦ プレアノテーション • 精度だけじゃないモデル評価 ◦ 精度はもちろん、コストやレイテンシとのバランスも大事

    ◦ どの関数で何秒かかっているのかとかも計測 • 運用が大事 ◦ デプロイしてからが価値提供の本番 ◦ バグを産みにくくするためコード品質向上の徹底 ◦ 迅速な不具合対応のためのモニタリング CADDi の ML チームでの学び