PyTorch
PyTorch は Kaggle の深層学習コンペで事実上の標準(デファクトスタンダード)となっているフレームワークです。
基礎はチュートリアルで押さえ、学習と推論の高速化テクニックで実験の試行サイクルを速めます。
押さえどころ
- 基礎の習得は公式チュートリアル(日本語翻訳版あり)を一巡するのが近道である。『Deep Learning with PyTorch』日本語版など、体系的に学べる書籍も複数刊行されている。
- 学習や推論の高速化は実験回転数に直結する定番テーマである。DataLoader の設定、AMP 混合精度、量子化、プロファイリング(PyTorch Profiler)、分散学習(DDP や DeepSpeed)、TPU 活用(PyTorch/XLA)など確立された手法があり、解説記事やサーベイが繰り返し公開されている。
- Optimizer は SGD から Adam、AdamW、RAdam へと系譜をたどり、近年は Muon など新しい手法も上位解法で使われ始めている。モデルの重みを混ぜ合わせる手法(Model soups や weight averaging アンサンブル)も継続的な研究テーマとなっている。
- フレームワーク自体も進化を続けている。PyTorch 2.0 での torch.compile 導入をはじめ、PyTorch Lightning、Accelerate、timm、TorchMetrics など学習ループやモデル活用を定型化する周辺ライブラリの充実が、実装の生産性を支えている。
- 事前学習済みモデルの活用は画像認識コンペ、Transformer 系の fine-tuning は自然言語処理コンペを参照。
資料
基礎・チュートリアル・書籍
高速化・最適化テクニック
モデル・アーキテクチャ・損失関数研究
ライブラリ・フレームワーク・リリース情報
関連概念