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
RustとCADDi AI LabとML
Search
vaaaaanquish
June 10, 2022
Technology
1
1k
RustとCADDi AI LabとML
Rust、何もわからない... #2
https://estie.connpass.com/event/246429/
登壇資料です
vaaaaanquish
June 10, 2022
Tweet
Share
More Decks by vaaaaanquish
See All by vaaaaanquish
エムスリー流!難読クイズを作ってPythonの深淵に触れるコツ! - 技育CAMPアカデミア
vaaaaanquish
1
250
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
6
5.9k
Pythonのパッケージ管理の中級者の壁を超える stapy#98
vaaaaanquish
19
21k
Tech LT #4 人を選ぶ技術
vaaaaanquish
3
4.3k
CADDi AI LabにおけるマネージドなMLOps
vaaaaanquish
2
3.5k
機械学習OSSの変遷と未来
vaaaaanquish
2
4.1k
文字列(ダジャレを言いシャレ)
vaaaaanquish
1
16k
xonshとかいうshellの話
vaaaaanquish
1
1.9k
gokartの運用と課題について
vaaaaanquish
5
14k
Other Decks in Technology
See All in Technology
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
1
310
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
14
4.8k
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
1
110
技術者はかっこいいものだ!!~キルラキルから学んだエンジニアの生き方~
masakiokuda
2
270
Automatically generating types by running tests
sinsoku
2
3.1k
SDカードフォレンジック
su3158
1
620
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
3k
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
1
170
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
730
Amazon CloudWatch Application Signals ではじめるバーンレートアラーム / Burn rate alarm with Amazon CloudWatch Application Signals
ymotongpoo
5
520
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
1
580
AIエージェント開発手法と業務導入のプラクティス
ykosaka
2
480
Featured
See All Featured
Site-Speed That Sticks
csswizardry
5
490
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.6k
Building Applications with DynamoDB
mza
94
6.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
178
53k
GraphQLとの向き合い方2022年版
quramy
46
14k
Building an army of robots
kneath
304
45k
Designing for Performance
lara
608
69k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Transcript
RustとCADDi AI LabとML Rust、何もわからない... #2 2022/05/19 CADDi AI Lab Tech
Lead Shunsuke Kawai
I AM • CADDi, inc. AI Lab Tech Lead M3,
inc. Engineering Fellow Developers Guild Bolder’s Owner • OSS • XGBoost、LightGBM、Rust wrapper • gokart • xonsh Shunsuke Kawai (@vaaaaanquish)
AGENDA 1. CADDi AI LabでのRust 2. RustとCV/ML 3. まとめ
CADDi AI Lab × Rust
CADDi, inc. • Webアプリケーション開発 async-graphql, axum, diesel, tonic ...etc •
アルゴリズム開発 tract-onnx, rayon, tokio, wasm-bindgen ...etc • speakerdeckをチェック! https://caddi.connpass.com/event/239652/ https://caddi.connpass.com/event/243143/
WHY CADDi AI Lab × Rust • 図面における画像処理 • 2Dでも非常に大きい
A1,2サイズも、8000*6000pxとか • 非常にスパース • 速度、並列化、計算量意識がMust • 情報が潰れないよう捜査、ベクタライズ • 3Dデータについては言わずもがな
MEMBERS PdM/EM ex-PFN, NTT, Venture CTO DataEng ex-Yahoo! DataAnalyst AlgorithmEng
2D/3D Image Processing AtCoder Ranker MLEng ex-DeNA, M3, Mackinsey Kaggle Master Grand Master
from: Tech Talk slide for external audiences https://speakerdeck.com/caddi_eng/deiputoarugogatatuguwozu-mu-kiyadeitu-mian-jie-xi-falsetekufalserozinipo-ru-caddi Deep Learning
CASE: Image Processing to DNN • 図面を捜査し”矢印”候補を検出する • precisionが高くなるよう調整 • DeepLearningモデルでの0/1判定へ • Rustでの実現 • Pythonで学習したモデルをONNX形式へ • tract-ONNXでの推論 • rayonで全体を並列化
CASE • 他にもCASE色々 • nalgebra等を用いた画像処理アルゴリズム • Next.js, wasm-bindgenを利用したアノテーションツール、Viwer • CLIツール
• tokio APIサーバ 「はじめてのディープラーニング」をモブプロでRustで再実装してみたり 言語としてMLE/DEも学ぶ環境を用意している
RustとML
AWESOME RUST MACHINE LEARNING • Rustにおける機械学習モデルや画像処理、 自然言語処理に関する実装、論文、ブログ をまとめたrepogitory • 470starくらい
• 応用事例は大体書いてあると思う https://github.com/vaaaaanquish/Awesome-Rust-MachineLearning
VOGUE • CV、NLP、検索エンジンが盛り上がっている • CV/MLは大きくDeep Learningの流行が続く • tch-rs, tensorflow/rust •
推論系のフレームワーク開発が継続/活発 • tract, orkhon, wonnx, onnxruntime-rs • こと”学習”においてはDeep Learning周辺の多くがPythonないし Pythonをターゲットにしたツール(DNNフレームワーク, GPU回り, ...) • C/C++、OpenCL、OpenGLがあり学習面では恩恵を受けづらい • 推論の高速化、省メモリ化、wasmによるプラットフォームの拡大
HOW • 独自のモデルファイル形式を通す • tch-rs • tensorflow/rust • ONNXを介す •
ONNX: Microsoft、Facebookが提案した DeepLearningモデル用の ファイルフォーマット及び周辺ツール • CADDiでも利用 (tract-ONNX) https://vaaaaaanquish.hatenablog.com/entry/2021/09/07/141531 https://github.com/dskkato/rust-machine-learning-api-example
ONNX in Rust • tract ◦ CPUに特化したONNXでの推論フレームワーク群 ◦ 独自のNNEF拡張な中間表現であるtract-oplを定義 ▪
trainingに関連する機能の削除 (decluttering) ▪ scan operatorによるユニットの繰り返し処理の削減 • orkhon ◦ ONNX or PythonランタイムをPyO3経由で叩く形式をサポートした推論フレームワーク ◦ tract, rayonにより高速な推論を実現 • onnxruntime-rs ◦ microsoft/onnxruntimeのrust wrapper ◦ Multi platform、WebGLによるGPU上での推論 • wonnx ◦ GPUをターゲットにしたPure RustなONNX推論ランタイム ◦ Vulkan/Metal/DX12を利用して各PlatformのGPU上で推論 https://github.com/sonos/tract https://www.reddit.com/r/rust/comments/s0vi54/ wonnx_deep_learning_on_webgpu_using_the_onnx/
tract / wonnx tract wonnx
まとめ
SUMMARY • CADDi AI Labが今面白い • Rust x MLの活用事例の多くが推論に寄っている •
ONNX関連のツールを紹介 .o0(rust wasmでwebGL CAD作る実験を個人的にしてるので、そこに載ると面白いだろうなあ…誰か手伝ってくれないかなあ…)
~ 未来を作ろう ~ Twitterを今すぐフォロー!