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
1.2k
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
人はいかにして 確率的な挙動を 受け入れていくのか
vaaaaanquish
6
3.4k
生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
vaaaaanquish
36
20k
LLMが機械学習分野と他分野に起こしたキャズムから見極めるエンジニアの未来像
vaaaaanquish
1
360
エムスリー流!難読クイズを作ってPythonの深淵に触れるコツ! - 技育CAMPアカデミア
vaaaaanquish
2
460
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
6
6.6k
Pythonのパッケージ管理の中級者の壁を超える stapy#98
vaaaaanquish
19
22k
Tech LT #4 人を選ぶ技術
vaaaaanquish
3
4.8k
CADDi AI LabにおけるマネージドなMLOps
vaaaaanquish
2
3.7k
機械学習OSSの変遷と未来
vaaaaanquish
2
4.8k
Other Decks in Technology
See All in Technology
Context Engineeringの取り組み
nutslove
0
320
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
530
2026年、サーバーレスの現在地 -「制約と戦う技術」から「当たり前の実行基盤」へ- /serverless2026
slsops
2
220
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
120
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
今日から始めるAmazon Bedrock AgentCore
har1101
4
400
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
370
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.2k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
3
1.2k
Featured
See All Featured
Deep Space Network (abreviated)
tonyrice
0
47
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
63
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Code Review Best Practice
trishagee
74
20k
Are puppies a ranking factor?
jonoalderson
1
2.7k
Documentation Writing (for coders)
carmenintech
77
5.2k
Test your architecture with Archunit
thirion
1
2.1k
We Have a Design System, Now What?
morganepeng
54
8k
Building Applications with DynamoDB
mza
96
6.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
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を今すぐフォロー!