Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LPIXEL×CADDi_kaerururu
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kaerururu
March 14, 2024
Programming
590
3
Share
LPIXEL×CADDi_kaerururu
kaerururu
March 14, 2024
More Decks by kaerururu
See All by kaerururu
kaggler なら知っておきたい GPU の話
kaerururu
0
3.1k
Other Decks in Programming
See All in Programming
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
500
ふつうのFeature Flag実践入門
irof
7
3.4k
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
180
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
210
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
540
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
180
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
280
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1k
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
490
関係性から理解する"同一性"の型用語たち
pvcresin
2
620
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
990
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
KATA
mclloyd
PRO
35
15k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Color Theory Basics | Prateek | Gurzu
gurzu
0
320
The SEO Collaboration Effect
kristinabergwall1
1
470
BBQ
matthewcrist
89
10k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
210
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Transcript
kaerururu @ CADDi 実例で示すKaggleコンペと開発実務の差
Who are you? • kaerururu • 仕事: MLOps 修行中の MLE
• 専攻: 経済史 • 趣味: Kaggle, 釣り • Kaggle ◦ あと金一枚で GM (誰か力貸してください) ◦ 画像やテキスト系のコンペを好んで参加 会社・ロール ドメイン × データ キャリアチェンジ前 金融系の営業とか SE とか ストックマーク MLE DMM.com MLE CADDi MLE MLOps ビジネスニュース × NLP エンタメ × テーブル, 検索改善 製造業 × 画像
Who are you? • kaerururu • 仕事: MLOps 修行中の MLE
• 専攻: 経済史 • 趣味: Kaggle, 釣り • Kaggle ◦ あと金一枚で GM (誰か力貸してください) ◦ 画像やテキスト系のコンペを好んで参加 会社・ロール ドメイン × データ キャリアチェンジ前 金融系の営業とか SE とか ストックマーク MLE DMM.com MLE CADDi MLE MLOps ビジネスニュース × NLP エンタメ × テーブル, 検索改善 製造業 × 画像 製造業ドメインないです
Contents • 図面について • Kaggle とCADDi での機械学習モデル開発の比較 • まとめ
None
What is 図⾯
What is 図面
図面には読み取るべき情報が多い 角を切り 落とす 穴 溶接 長さ 注意書き 製図者、材質、加 工の内容 etc
例) 溶接記号 (一部抜粋) 記号 旧記号 記号 旧記号 • 図面内で使われる記号 •
日本の国家規格 (JIS) で定められている ◦ 規格の新旧で違う記号が存在 • ここにあげたものだけでも 17クラス • 組み合わせで登場することも
(MLE からみた) 図面の特徴 • いわゆる公開データセットやモデルみたいなものがない ◦ 設計図 = 競争力 なので公開するインセンティブがない
• デカい ◦ 現場ではテーブルに広げたりする ◦ よくある大きさ (表) • 自由度が高い ◦ 共通プロトコルはあるが ... ◦ 手書き、取消線、社内ルール ◦ AI ってやつでなんとかして 画像サイズ (px) A0 11,589 × 16,384 A1 8,185 × 11,589 A3 4,093 × 5,787 A4 2,894 × 4,093
図面ドメインでの機械学習タスク 結構シンプル! 類似図面検索の精度向上 図面OCR 図面特有の記号認識 • 画像ベクトル • Object Detection
• Text Recognition • Object Detection • Classification
Kaggle と CADDi での ML モデル開発の取り組み⽅の⽐較
CADDi での ML モデル開発の流れ タスク設計 データセット 作成 モデリング 評価 推論コード
作成 デプロイ 運用
データセット作成 • どういうアノテーションのコンペは良コンペ だった ? • 何枚くらいアノテーションすればいい ? Kaggleの 知見
アノテーションデータを作成する • 定義 • 対象データ収集 • アノテーション実施 実務の 課題 Kaggle でアノテーションのやり方は身につかないが … 多数のコンペに参加して得た勘所が活きる
• 推論結果 = 顧客価値につながるため、ユースケースを考えて定義 ◦ PdM や社内の製造業ドメインエキスパートと相談 • 溶接記号検出のユースケース ◦
溶接する必要があるか否か ◦ どこを溶接するか ▪ ハイライトしたい etc… アノテーションの定義をする A B 記号部分のみ ピンポイント 周囲の数字とか 文字とかまで シングル ラベル マルチ ラベル
アノテーション対象のデータを集める • 同一ホスト過去コンペのデータに擬似ラベルをつけて学習データを増やす (Pseudo Labeling) • ベースラインモデルをサクッと作り、高速に検証を回す Kaggleの 知見 •
CADDi で預かっているたくさんの図面から学習に必要な図面のみを集めたい • アノテーションの工数削減のためプレアノテーションを実施したい • 一度のアノテーションで欲しいラベルが全て集まるとは限らない 実務の 課題 Pseudo Labeling の経験やモデル作成の速さは アノテーションプロセスの効率化にも活きる
モデリング・評価 Kaggle 実務 評価データ 評価指標 モデル 再現性 固定 精度 アンサンブルし
てでも精度 自分のために 重要 変動あり 精度 速度 シンプルさも重 要 チームの運用 のために重要 変動する事業状況に追従し、チーム全体でプロダクトとしての性能要求 (精度+α)を満たすこと、運用まで見据えたモデリングが重要
推論コード作成 • local で学習して、kaggle notebook で推論 • 学習と推論で前処理を揃える (CV 通りのスコアがでるよう過不足なく
) • 環境差分への配慮 (Kaggle Docker の利用) Kaggleの 知見 • 未知データに対して検証時と同様の精度を担保したい • 運用を見据えたコード品質 ◦ 単体テスト、型ヒント、静的解析 ◦ ロギング、例外処理 • コンテナ化 実務の 課題 Code Competition の普及、学習と推論を別環境でやる経験値は身に付く
運用 CADDi の ML チームで実際に見ているダッシュボード (抜粋) 他にも、レイテンシ, レプリカ数, レスポンス数 なども追っている
デプロイしてからが本番 安定して顧客価値を届けるために日々挙動を確認 もしもの時は迅速に対応する
• データを集める工夫が面白い ◦ データセントリックなアプローチ ◦ プレアノテーション • 精度だけじゃないモデル評価 ◦ 精度はもちろん、コストやレイテンシとのバランスも大事
◦ どの関数で何秒かかっているのかとかも計測 • 運用が大事 ◦ デプロイしてからが価値提供の本番 ◦ バグを産みにくくするためコード品質向上の徹底 ◦ 迅速な不具合対応のためのモニタリング CADDi の ML チームでの学び
まとめ
• 図面ドメインは解くべき課題、取れるアプローチが多い • CADDi での ML モデル開発タスクの取り組み方を例に、どのように Kaggle で培っ た経験が活きるかをお話しした
• Kaggle と異なる視点での機械学習モデルの開発運用は楽しい まとめ