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
550
推論エンジンMAXの紹介
DeNA+GO AI技術共有会で発表したスライドです。
Ryosuke Kamesawa
July 22, 2024
Tweet
Share
More Decks by Ryosuke Kamesawa
See All by Ryosuke Kamesawa
ニューラルネットワークの量子化手法の紹介
emakryo
3
3.3k
MediaPipeの紹介
emakryo
0
73
Customizing Cargo for Cross Compiling
emakryo
0
36
Feature Store in DRIVE CHART
emakryo
0
58
Feature StoreをRustで実装した話
emakryo
0
47
なぜRustか?
emakryo
0
45
rustdef: Rust on Jupyter Notebook
emakryo
0
42
Cargo-makeを使ってみた
emakryo
0
450
Machine Learning on Graph Data @ICML2019
emakryo
0
36
Other Decks in Technology
See All in Technology
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
140
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.8k
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
150
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
590
MCP ✖️ Apps SDKを触ってみた
hisuzuya
0
360
HonoとJSXを使って管理画面をサクッと型安全に作ろう
diggymo
0
180
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
480
生成AI時代のPythonセキュリティとガバナンス
abenben
0
140
OCIjp_Oracle AI World_Recap
shinpy
1
180
What's new in OpenShift 4.20
redhatlivestreaming
0
240
RemoteFunctionを使ったコロケーション
mkazutaka
1
110
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
210
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Rails Girls Zürich Keynote
gr2m
95
14k
Context Engineering - Making Every Token Count
addyosmani
8
300
Docker and Python
trallard
46
3.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Scaling GitHub
holman
463
140k
BBQ
matthewcrist
89
9.9k
Building Adaptive Systems
keathley
44
2.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の技術スタックを統合、最適化(ができるポテンシャル) - 未成熟だが技術的には面白い まとめ