top of page

ハマったこと Stucking

公開·1名のメンバー

PytorchをGPUで動かすときに必要なメモリサイズ


今この本で勉強中。自然言語処理もこんなところまで進んでいたのかとびっくりです。kerasを使ってCNNをやるだけで十分凄いと思っていたのですが...。今や学習済みモデルを活用するのがすでに常識になっいるみたいです。


本を半ばあたりまで読み進めて、書いてあるコードを写経して動かそうとすると、おなじみのエラーメッセージ。


CUDA out of memory. Tried to allocate 24.00 MiB (GPU 0; 4.00 GiB total capacity; 3.40 GiB already allocated; 0 bytes free; 3.47 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF


GPUのメモリが一杯です。


このプログラムは一体どれだけのメモリが必要なのでしょうか。メモリサイズに余裕があるCPUで動かしてみると、13.8Gも使っています。


本に書いてあるコードではバッチサイズは256。これを4まで落としてかろうじてGPUで処理しています。本に書いてあるとおり、最初から素直にGoogle Colabを使うべきでした。


もし自前でメモリサイズが大きいグラフィックボードを調達すると、どんな感じになるのでしょうか。パソコン工房のサイトを見てみると、


例えばこの写真のデスクトップモデルは、NVIDIAのGeForce RTX 4080というグラフィックボートを搭載していて、メモリは16GB。これなら今回の処理に使えそうです。ただしお値段は

364,800円~

と、サイバー大の半年分の授業料を上回っています。ノートで探しても16GBのタイプは、だいたいこの価格です。


最高のものを探してみると、RTX A6000というGPUはメモリサイズが48GBもあって余裕シャクシャクなのですが、これを搭載したPCのお値段が

1,072,800円~

と、サイバー大の3年に編入して卒業するまでの授業料と大差なくなってしまいます。


どうやら個人で学習のためにPytorchを使う、さらにはTransformersを使うということになるのですが、その際の環境は無理に自前で調達するよりも、Google Colab がおすすめです。

閲覧数:96
鑑定士
鑑定士
09. Okt. 2024

アドバイスありがとうございます。


GPUはちゃんと動いているのですが、何せメモリーが専用8G、共有16Gしかありませんので、これで限界でした。


ところであやね様のRTX4070TiSUPERはすさまじい性能ですね。僕の環境もこのクラスのものを導入する必要があるかもしれません。


真剣に検討してみます。


新規投稿をお知らせします。

登録ありがとうございます。

© 2023 by Healthy Together. Proudly created with Wix.com

bottom of page