PT 日記 (2)
ほとんど進展なし。チュートリアルを一つ進めたくらい。
進展がない一番の理由は時間を割いていないからで、ふたつ目の理由は写経でタイポして原因究明に時間を使っていたから。タイポというか、自分の好みのスタイルに書き直した時に壊れてしまった。まあ一字一句おなじにタイプして壊れなくても特に体験としては意味ないので、書き直して壊すのも写経のうちかなと思う。PyTorch のデバッグのしやすさというのを体験できたのはよかった、かもしれない。
ところで nn.Module には training というフラグがあるのだが、このフラグによって評価時の戻り値の型が変わる (training 時には loss が、それ以外では inference 結果が返ってくる)という実装が普通に行われており、これが Python first の reality か・・・となった。
PyTorch DevCon 2019 のビデオをちらちら眺める。代表的なモデルはオフィシャルに色々実装されていることを知る。チュートリアルでも torchvision の pretrained MaskRCNN を使う例があってなるほどとおもったけれど、それだけではないらしい。CV の detectron2, BERT とか NLP の新しいやつらの fairseq など。モデルじゃないけど torchtext もあるし。アルゴリズムの実装を眺めたい時に品質のわからない野良コードを探して読む必要は必ずしもないことがわかってよかった。
そのほかおもしろかったビデオ:
- PyTorch on Google Cloud TPUs - Google, Salesforce, Facebook - YouTube PyTorch TPU 対応の話。Glow とか TorchScript とかではなく LazyTensor という独自の仕組みを使っているという。もうちょっとコミュニティの norm に載ったほうが将来トラブルすくなくてよいのでは・・・。
- PyTorch at Tesla - Andrej Karpathy, Tesla - YouTube Tesla の PyTorch 事例。FSD というチップを作って使ってるよ、とかいっててびびる。そんなスタック自分でもつ体力あるのかきみたち・・・。チップ部門のトップは Intel に行ってしまったと言うのに・・・。
- Privacy Preserving AI - Andrew Trask, OpenMined - YouTube PySyft という differencial privacy とかの実装をしている人たちのはなし。そういうのってライブラリにできるもんなのだな。