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
Mojo Dojo
Search
Henry Cui
October 28, 2023
Programming
1
160
Mojo Dojo
Henry Cui
October 28, 2023
Tweet
Share
More Decks by Henry Cui
See All by Henry Cui
プロダクション言語モデルの情報を盗む攻撃 / Stealing Part of a Production Language Model
zchenry
0
34
Direct Preference Optimization
zchenry
0
230
Diffusion Model with Perceptual Loss
zchenry
0
140
レンズの下のLLM / LLM under the Lens
zchenry
0
130
Go with the Prompt Flow
zchenry
0
110
ことのはの力で画像の異常検知 / Anomaly Detection by Language
zchenry
0
280
驚愕の事実!LangChainが抱える問題 / Problems of LangChain
zchenry
0
140
MLOps初心者がMLflowを触る / MLflow Brief Introduction
zchenry
0
70
{{guidance}}のガイダンス / Guidance of guidance
zchenry
0
130
Other Decks in Programming
See All in Programming
コード生成を伴うLLMエージェント - 2024.07.18 Tokyo AI
smiyawaki0820
11
4.1k
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
Ruby メモリ管理 プログラミング
megmogmog1965
0
130
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.3k
Android開発者のための Kotlin Multiplatform入門
ntaro
0
190
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
AHC035解説
terryu16
0
710
CSC307 Lecture 10
javiergs
PRO
0
310
12年前の『型システム入門』翻訳の思い出話
mame
11
1.2k
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
ドメイン駆動設計の実践
masuda220
PRO
17
5.1k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
The Language of Interfaces
destraynor
151
23k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
Documentation Writing (for coders)
carmenintech
63
4.2k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
Git: the NoSQL Database
bkeepers
PRO
423
64k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
GraphQLとの向き合い方2022年版
quramy
36
13k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
Transcript
Mojo Dojo 機械学習の社会実装勉強会第28回 Henry 2023/10/28
WELCOME 2
Barbie Mojo ▪ Modular社がリリースしたPythonのスーパーセット ▪ Modular社の共同創業者・CEO Chris Lattner は、今まで SwiftやTPUなどを携わってきた
▪ MojoはPythonより何倍も速い! ▪ スーパーセットなので、既存のPytorchなどのコードもそのまま 動く! ▪ Pythonの柔軟性を維持しつつ、Rustにあるような厳密性も! 3
Mojo Toolbox ▪ Mojo driver • 実行シェル • 実行ファイルのビルドも •
Linux版とMac版がすでにリリース • 今日主に見ていく ▪ VS Code 拡張 • 文法ハイライトなど ▪ Jupyter kernel • Mojo notebookが書ける ▪ デバッグツール(未公開) 4
Mojoのインストール ▪ https://developer.modular.com/download から ▪ アカウント作成が必要 ▪ 認証コード付きのURLが生成される ▪ https://github.com/modularml/mojo/tree/main/examples
• 認証コードを使ったDocker環境も作れます 5
Hello World ▪ Mojo ▪ mainで名付けているので、別途呼び出さなくて良い ▪ mojo buildで単体で実行可能なファイルをビルド ▪
Pythonファイルの場合、怒られる • mojo hello.py ▪ mojo: error: no such command 'hello.py' • mojo build hello.py ▪ mojo: error: cannot open 'hello.py', since it does not appear to be a Mojo file (it does not end in '.mojo' or '.🔥') • mojo hello_py.mojoの場合は文法エラー 6
Hello Worldの時間 ▪ timeコマンドで計測 ▪ python hello.py は 0.017s ▪
mojo hello.mojo は 0.089s ▪ ./hello はなんと 0.005s 7
matmulベンチマーク ▪ https://github.com/modularml/mojo/blob/main/examples/m atmul.mojo に用意されている ▪ 比較用のPythonはナイーブな行列掛け算しか実装されてない ▪ mojoのほうは様々な最適化が施されている 8
matmulベンチマーク ▪ ビルド自体は0.825s ▪ ビルドした実行ファイルを実行時に下記のエラーになることが ある • Mojo/Python interoperability error:
Unable to locate a suitable libpython, please set `MOJO_PYTHON_LIBRARY` • https://github.com/modularml/mojo/issues/551 を参考に、export MOJO_PYTHON_LIBRARY="/usr/lib/x86_64-linux-gnu/libpython3 .8.so" してからビルドし直すことで解決 9
matmulベンチマーク ▪ 恐ろしい実行結果 • mojo matmul.mojo • ./matmul 10
matmulベンチマーク ▪ Pythonでforループをやめて、np.matmulを使う場合 • それでも速かった 11
まとめ ▪ mojoの紹介 ▪ 簡単なベンチマーク 12