メインコンテンツへスキップ

PyTorchの内部構造が丸わかり!? Ezyang氏のブログがアツい

·1 分
2025/03 PyTorch 機械学習 内部構造 Ezyang ブログ

PyTorchの内部構造が丸わかり!? Ezyang氏のブログがアツい

引用元:https://news.ycombinator.com/item?id=43445931

smokel 2025-03-22T17:48:28

同じ作者のPyTorch Developer Podcast[1]も面白いよ。皿洗いしながらPyTorchの内部構造を知るのってなんか良くない?
[1] https://pytorch-dev-podcast.simplecast.com/

swyx 2025-03-22T20:52:54

ポッドキャスト形式の問題点は、ブログみたいな視覚的な媒体よりもAPIに対する知識を前提としてるところだと思うんだよね(皮肉だけど)。

smokel 2025-03-23T09:54:13

確かにね、でも誰かが挑戦してくれるのは嬉しいよ。天気の話とか、無駄話には興味ないんだよね。なぜかほとんどのポッドキャストはそれに焦点を当ててる気がする。

alexrigler 2025-03-22T18:12:32

これ懐かしいな。Edが発表したPyTorch NYC meetupの企画手伝ったんだけど、今までで最高の技術プレゼンの一つだと思う。手描きのスライドが最高だったのに、録画しとけばよかった…

zcbenz 2025-03-22T22:18:56

MLフレームワークの内部構造を学ぶには、MLXのソースコードを読むのがおすすめ。
https://github.com/ml-explore/mlx
MLXはモダンでクリーンなコードベースで、レガシーもないから、外部の記事を探さなくてもほとんど理解できる。

ForceBru 2025-03-22T23:57:42

なんでMLXはApple silicon専用なの?x86で動作しない根本的な理由があるの?一部のコア機能はApple siliconでのみ可能なの?それとも開発者がx86への移植を拒否してるの?
MLXはいい感じの自動微分機能があるみたいだよね。配列のミューテーションの微分もサポートしてるし。
普通のCPUでもこの機能が使えると嬉しいんだけど。

zcbenz 2025-03-23T00:54:33

ほとんどの機能はすでにx86 CPUでサポートされてるよ。Linuxならpip install mlxできるし、Windowsでも使える(まだ公式バイナリはないけど、ビルドはできてテストも通ってる)。

saagarjha 2025-03-23T01:51:00

unified memoryに大きく依存してるんじゃないかな。

chuckledog 2025-03-22T15:59:16

いい記事だね、投稿ありがとう。記事で言及されてる自動微分の概要はこちら。
https://medium.com/@rhome/automatic-differentiation-26d5a993

hargun2010 2025-03-22T17:28:40

スライドの長いバージョンって感じかな。内容は良いけどね。
https://web.mit.edu/~ezyang/Public/pytorch-internals.pdf

aduffy 2025-03-22T19:56:16

Edwardのプログラミング言語の授業、10年くらい前に受けたんだけど、スライド見てすぐにわかったよ!なんか嬉しいね。

lyeager 2025-03-23T18:42:53

わかるー!Edward、マジ最高だった。Haskellのモナドを理解できるようにめっちゃ頑張ってくれた。

aostiles 2025-03-24T01:17:52

StanfordのCS 240hでEdwardはホント親切だった。Safe HaskellとGHCの内部構造を理解するのに助けてくれた。

vimgrinder 2025-03-22T17:00:59

長文読むのが苦手な人向け:テキスト読み上げ機能と行のハイライト表示を試してみて。マジで効果あるよ。集中力切れるのが治った。

PeterStuer 2025-03-22T18:30:14

記事は問題なく読めたけど、スライドが目にキツイ…。

vimgrinder 2025-03-22T20:31:37

スライドが本文中で何度も参照されてるから、飛ばせないんだよねー。

quotemstr 2025-03-22T22:45:01

へー。TORCH_CHECKをこんな風に書くかな:
>TORCH_CHECK(self.dim() == 1)
> « ”Expected dim to be a 1-D tensor ”
> « ”but was ” « self.dim() « ”-D tensor”;

TORCH_CHECK()って、チェックが失敗した時だけstreaming operatorsを評価するように書けるんだね。(glogの仕組みをチェックしてみて。)

nitrogen99 2025-03-22T15:05:04

2019年の記事か。今でもどれくらい通用するんだろ?

mlazos 2025-03-22T16:58:23

数年前にPyTorchチームにオンボードする時にこの記事使ったよ。フレームワークのキーコンセプトを理解するのに役立つ。Torch.compileについては触れられてないけど、それ以外は今でもかなり参考になる。

もっとコメントを表示(1)
kadushka 2025-03-22T15:07:49

たぶん80%くらいかなー

sidkshatriya 2025-03-22T16:46:14

複雑なシステムを理解するには、よりシンプルなモデルシステムを理解するのが良い場合があるよね。同じシステムの古いバージョンが良いモデルシステムになることもある。いつもそうとは限らないけど、良い経験則だと思うよ。

pizza 2025-03-23T00:37:31

ところで、pytorchを汎用グラフライブラリとして使う良いリソースって誰か知らない?nets = forward-only(acyclic) digraphっていう前提を超えたやつ。

brutus1979 2025-03-22T17:19:14

これのビデオ版ってあるのかな?トークからのものみたいだけど。

記事一覧へ

海外テックの反応まとめ
著者
海外テックの反応まとめ
暇つぶしがてらに読むだけで海外のテックニュースに詳しくなれるまとめサイトです。