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
推論エンジンMAXの紹介
Search
Ryosuke Kamesawa
July 22, 2024
Technology
1
540
推論エンジンMAXの紹介
DeNA+GO AI技術共有会で発表したスライドです。
Ryosuke Kamesawa
July 22, 2024
Tweet
Share
More Decks by Ryosuke Kamesawa
See All by Ryosuke Kamesawa
ニューラルネットワークの量子化手法の紹介
emakryo
3
3.1k
MediaPipeの紹介
emakryo
0
67
Customizing Cargo for Cross Compiling
emakryo
0
33
Feature Store in DRIVE CHART
emakryo
0
52
Feature StoreをRustで実装した話
emakryo
0
44
なぜRustか?
emakryo
0
42
rustdef: Rust on Jupyter Notebook
emakryo
0
39
Cargo-makeを使ってみた
emakryo
0
410
Machine Learning on Graph Data @ICML2019
emakryo
0
32
Other Decks in Technology
See All in Technology
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
24
12k
JavaScript 研修
recruitengineers
PRO
6
1.3k
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
340
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
380
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
380
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
180
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
110
AI時代にPdMとPMMはどう連携すべきか / PdM–PMM-collaboration-in-AI-era
rakus_dev
0
200
Vault meets Kubernetes
mochizuki875
0
140
PRDの正しい使い方 ~AI時代にも効く思考・対話・成長ツールとして~
techtekt
PRO
0
100
実運用で考える PGO
kworkdev
PRO
0
120
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
850
Featured
See All Featured
Side Projects
sachag
455
43k
Into the Great Unknown - MozCon
thekraken
40
2k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Music & Morning Musume
bryan
46
6.8k
How to Ace a Technical Interview
jacobian
279
23k
GitHub's CSS Performance
jonrohan
1032
460k
Code Reviewing Like a Champion
maltzj
525
40k
Navigating Team Friction
lara
189
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Fireside Chat
paigeccino
39
3.6k
BBQ
matthewcrist
89
9.8k
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の技術スタックを統合、最適化(ができるポテンシャル) - 未成熟だが技術的には面白い まとめ