GPUメモリが少ない場合
GPUのメモリが小さく、モデルを読み込めない場合は、以下の方法を試してみてください。
8ビットモードでモデルを読み込む
起動パラメータに --load-in-8bit
を追加します。
python server.py --load-in-8bit
これにより、メモリ使用量が半分に減少し、品質は大幅に低下しません。ただし、8ビットモードは新しいGPUのみがサポートしています。
複数のGPUとCPUにモデルを分割する
python server.py --auto-devices
このコマンドでモデルを読み込むことができますが、テキストを生成しようとするとメモリが不足してエラーが発生する場合は、GPUに割り当てるメモリ量を制限して、エラーが発生しなくなるまで減らしてみてください。
python server.py --auto-devices --gpu-memory 10
python server.py --auto-devices --gpu-memory 9
python server.py --auto-devices --gpu-memory 8
...
数値はGiB単位です。
より細かい制御をする場合は、MiBで単位を指定することもできます。
python server.py --auto-devices --gpu-memory 8722MiB
python server.py --auto-devices --gpu-memory 4725MiB
python server.py --auto-devices --gpu-memory 3500MiB
...
さらに、テキストを生成する際のGPU使用量を減らすために --no-cache
の値を設定することもできますが、これによってパフォーマンスが低下するため、--gpu-memory
の値を高く設定してネットのパフォーマンス向上を図ることができます。
モデルの一部のレイヤーをディスクにキャッシュする
最後の手段として、モデルをGPU、CPU、およびディスクに分割することができます。
python server.py --auto-devices --disk