TritonServer の複数モデルのデプロイメントをマルチ GPU の落とし穴に記録する | JD Cloud テクニカル チーム

1. 問題が発見された経緯

chatglm2 および llama2 を 4*V100 GPU マシンにデプロイするときに問題が発生する

config.pbtxt

指定された GPU にモデルを個別にデプロイするように構成されたインスタンス構成は有効になりません。

次の構成は、このモデルを gpu0 にデプロイし、count=1 インスタンスをデプロイし、このモデルを gpu1 にデプロイし、count=2 インスタンスをデプロイします。

インスタンスグループ [ { カウント: 1 種類: KIND_GPU gpus: [ 0 ] },

{ カウント: 2

種類: KIND_GPU

GPU: [ 1 ] } ]

デプロイ中に、すべてのモデル インスタンスが gpu0 にデプロイされることがわかりました。GPU には 16g のビデオ メモリしかないため、最初のモデル インスタンスが正常にデプロイされた後、2 番目のモデル インスタンスも gpu0 にロードされ、最終的に cuda がアウトになります。メモリ。

オンラインで検索すると、誰かが同じ問題に遭遇していることがわかりました。リンク: https://github.com/triton-inference-server/server/issues/6124

2. トラブルシューティングの詳細な手順

上司は解決策として次のように答えました。

3. 問題の解決方法

1.model.py の config.pbtxt で構成されている GPU 番号 gpus を手動で取得します: [0]

インスタンスグループ [

{

カウント: 1

種類: KIND_GPU

GPU: [ 0 ]

}

2.利用可能なGPU番号を設定します

os.environ["CUDA_VISIBLE_DEVICES"] = str(device_id)

3.正常に起動します

4. まとめと考察: 問題をより早く発見できるか? 再度問題を回避する方法など。

triton を起動するときに、nvidia-smi -l 2 を使用してグラフィックス カードとメモリを監視します。すべてのモデルが最初の GPU、gpu[0] にロードされていることがわかります。また、構成 config.pbtxt がロードされていないことがわかります。有効になります。

著者: JD Technology Yang Jian

出典:JD Cloud Developer Community 転載の際は出典を明記してください

Lei Jun: Xiaomi の新しいオペレーティング システム ThePaper OS の正式版がパッケージ化されました。Gome App の抽選ページのポップアップ ウィンドウは創設者を侮辱しています。Ubuntu 23.10 が正式にリリースされました。金曜日を利用してアップグレードするのもいいでしょう! Ubuntu 23.10 リリース エピソード: ヘイトスピーチが含まれていたため、ISO イメージが緊急に「リコール」されました 23 歳の博士課程の学生が Firefox で 22 年間続いた「ゴーストバグ」を修正しました RustDesk リモート デスクトップ 1.2.3 がリリースされましたWayland を強化して TiDB 7.4 をサポート リリース: MySQL 8.0 と正式互換. Logitech USB レシーバーを取り外した後、Linux カーネルがクラッシュしました. マスターは Scratch を使用して RISC-V シミュレータをこすり、Linux カーネルを正常に実行しました. JetBrains が Writerside ツールを開始しました技術文書の作成に。
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/4090830/blog/10119736