RamTorch
主な特徴
メモリ効率の高い線形層: オンデマンドの GPU 転送による CPU 保存パラメータ
非同期CUDAストリーム:データ転送と計算をオーバーラップしてレイテンシを最小化する
ZeRO-1 オプティマイザーのサポート: 複数の GPU にわたる分散オプティマイザー状態のシャーディング
ドロップイン置換: 既存の PyTorch コードと互換性がある
基本的にtorch.nn.Linearをram_modules.Linear(実際のサンプルコードではLinearだけを書けば良いように読み込まれている)に置き換えることでモデルの重みをDRAMに置いて処理できるライブラリ。
既存コードの最低限の置き換えで大型モデルの動作や学習にも(理論上)対応してるらしい
同作者