llm-jp / scripts

Apache License 2.0
1 stars 1 forks source link

Remove exclusive option in SLURM job submission #27

Closed YumaTsuta closed 2 months ago

YumaTsuta commented 2 months ago

モデルパラメタの最大3.5倍のVRAM (e.g., 13B model -> 46 GB)あれば動くため、ノードを効率的に運用するためにexclusive optionを削除します。 --gpus オプションは多くの場合 1 で十分のため、この値をデフォルトのままにします。

YumaTsuta commented 2 months ago

@odashi sbatch時のオプションのデフォルト値変えようかと思うのですが、どうでしょうか?

odashi commented 2 months ago

これ複数GPUの設定が必要な場合でも動きますかね。

YumaTsuta commented 2 months ago

これ複数GPUの設定が必要な場合でも動きますかね。

--gpusを適度に設定すればjobごとに占有して動くのではないかなと思っていますが、確認はできていないです。

GPUを共有する可能性について言及している場合、共有用の設定が必要みたいなので気にしなくて良さそうです https://slurm.schedmd.com/gres.html#Sharding

odashi commented 2 months ago

手元では --mem=128G で13Bモデルの評価が8並列で動いています。目安としてGPUの総メモリ量よりも多くRAMを確保しておけばよいと思いますが、Sakuraはノードあたり2,000,000 MBに設定しており余裕があるので、大きめにしてもよいと思います。

YumaTsuta commented 2 months ago

検証のほどありがとうございました。

--mem optionつけました。sakura以外のSLURM環境で実行するケースは少ないと思うのでsakuraの環境に合わせてます。 必要かわからないため--cpus-per-task=8をつけました。(デフォルトの1よりは良いと思うので) optionについてREADME,mdに追記

YumaTsuta commented 2 months ago

@odashi 以下の変更を行ったので、再度レビューお願いします。

--mem optionつけました。sakura以外のSLURM環境で実行するケースは少ないと思うのでsakuraの環境に合わせてます。 必要かわからないため--cpus-per-task=8をつけました。(デフォルトの1よりは良いと思うので) optionについてREADME,mdに追記

memとgpu sizeについてsample codeに具体的にサイズが欲しいとのことなので追記 W&B見てると メモリ使用は最大でも8GB超えない(大体5GB前後だった)ので、sample codeでは8GBで設定しています (CPUスレッドも300%超えないので、--cpus-per-task=2ぐらいでも良さそうですがとりあえずこのままで)