Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
推論エンジンMAXの紹介
Search
Ryosuke Kamesawa
July 22, 2024
Technology
650
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
推論エンジンMAXの紹介
DeNA+GO AI技術共有会で発表したスライドです。
Ryosuke Kamesawa
July 22, 2024
More Decks by Ryosuke Kamesawa
See All by Ryosuke Kamesawa
ニューラルネットワークの量子化手法の紹介
emakryo
3
3.8k
MediaPipeの紹介
emakryo
0
130
Customizing Cargo for Cross Compiling
emakryo
0
58
Feature Store in DRIVE CHART
emakryo
0
110
Feature StoreをRustで実装した話
emakryo
0
67
なぜRustか?
emakryo
0
92
rustdef: Rust on Jupyter Notebook
emakryo
0
73
Cargo-makeを使ってみた
emakryo
0
610
Machine Learning on Graph Data @ICML2019
emakryo
0
69
Other Decks in Technology
See All in Technology
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
1
310
enechainの内製セルフサービスプラットフォーム
hiyosi
0
160
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
4
1.1k
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
160
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
160
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
900
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
260
Claude Code本って、 読む必要あるの?
oikon48
2
400
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
190
Tab5をRubyで動くパソコンにする
kishima
2
340
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
120
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
Featured
See All Featured
Navigating Team Friction
lara
192
16k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
410
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
890
Designing for Performance
lara
611
70k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
The World Runs on Bad Software
bkeepers
PRO
72
12k
Building an army of robots
kneath
306
46k
How to Ace a Technical Interview
jacobian
281
24k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
340
WENDY [Excerpt]
tessaabrams
13
39k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
500
Transcript
AI 2024.07.18 Ryosuke Kamesawa GO株式会社 推論エンジンMAX by Modular
AI 2 Outline 01|推論エンジン MAX 02|Mojo言語 03|まとめ
AI 3 01 推論エンジン MAX
AI 4 Modularが開発している推論エンジン - ✅ 速い(らしい) - ✅ Python &
C API - ✅ PyTorch & ONNXのモデルが実行可能 - ✅ 無償利用可(条件付きで商用利用含め) - ❌ CPU (x64, ARM) のみ(GPU対応版は未公開) - ❌ ソースコードは非公開 MAXとは
AI 5 - Chris LattnerがCEOしている会社 - LLVM (Clang), Swift を作ったげきつよ開発者
- GoogleではTensorFlowのディレクター - 今のところMAX, Mojo以外のプロダクトはなさそう - ビジネスモデルはよくわからない - 推論エンドポイントSaaS? ちなみにModularって?
AI 6 公式サイトでの記述 どれくらい速い・・? https://www.modular.com/max
AI 7 速そうだけどよくわからない(たぶんLLMでのベンチマーク) → 自分たちのユースケース(CV)で試してみる 1. MobileNetV2 2. MobileNetV3 (large)
3. EfficientNet Lite0 4. ResNet50 5. YOLOv8 segmentation どれくらい速い・・?
AI 8 ベンチマーク
AI 9 - AWS EC2 (c6i.4xlarge); Ubuntu22.04 - モデル実装 -
Torchvision: MobileNetV2/MobileNetV3/ResNet50 - Timm: EfficientNet Lite0 - Ultralytics: YOLOv8 - 100回推論するのにかかった時間を測定 - MAX (ONNX/torchscript) - ONNX runtime - PyTorch ベンチマーク環境・条件 https://github.com/emakryo/max-benchmark
AI 10 - 軽量CVモデルではMAXは速くない - EfficientNet Lite/MobileNetV2, 3 - ターゲットとしていないので最適化されていない?
- 比較的重いモデルでは同じくらいか多少速い - ResNet50/YOLOv8 - モデル入力はtorchscriptの方が多少速い場合が多い - MAXは初回のコンパイルが遅い ベンチマーク結果まとめ
AI 11 02 Mojo言語
AI 12 Modularが開発しているプログラミング言語 MAXがMojoで実装されている - Python風の文法 - 静的型(型推論、ジェネリクス、トレイト) - コンパイル時定数
- オーナーシップとライフタイム - Pythonとの相互呼び出し - 拡張可能な最適化パス、アクセラレータ固有型(MLIR) Mojo言語
AI 13 サンプルコード
AI 14 AI技術スタックの複雑さの軽減、全体最適化 モチベーション https://www.modular.com/blog/mojo-llvm-2023
AI 15 - 簡単な用途には使えるがエコシステムは未成熟 - パッケージマネージャーがない - 頑張れば、できないことは基本的にない - システムプログラミング言語(e.g.
C++)として設計されている - 使いこなす(最適化)にはMLIR dialectの知識が必要 - MLIR (Multi-Level Intermediate Representation) - LLVM IRの一般化 - MLIR dialect - LLVM IRにおける命令セットを拡張したもの - 言語におけるライブラリに近い 使える?
AI 16 - Pythonの完全な置き換えにはならない - コンパイルが必要→遅いのでinteractiveな実行に不向き - CythonやC/C++での拡張モジュールの置き換えは可能 - Pythonに近い文法なのでとっつきやすいかも
- CUDAの置き換えがOSSとしてできれば Nvidia以外のGPUメーカーが参戦してくるかも 流行る?
AI 17 MAX: ニューラルネットワーク推論エンジン - (今のところ)LLMでは速い、軽量モデルには不向き - ONNX, PyTorch (torchscript)
を実行できる Mojo: コンパイル可能なPython風プログラミング言語 - AIの技術スタックを統合、最適化(ができるポテンシャル) - 未成熟だが技術的には面白い まとめ