「[DEBUG] [dku.resource] - Process stats for pid ~」について
【状況】
無料版(インストール版)を使わせて頂いてます。
Code recipes - Pythonで処理(約500,000明細)をしたいのですが、処理開始するものの、(数時間後も)処理完了に至りません。(なので、ABORTを押下)
ログには、以下が継続的に出力され続けています。
[DEBUG] [dku.resource] - Process stats for pid 12345: {"pid":12345,"commandName":"C:\(略)\Scripts\python.exe","cpuCurrent":0.0,"cpuAverageOverPast60Seconds":0.0,"vmRSSTotalMBS":0}
【ご質問】
- 上記ログはCPUの不足を意味するものでしょうか?
- (PCのスペックの問題はあると思うのですが、PCは現状のものを使用する前提で、)処理完了の為に取り得る解決策はございますでしょうか?
【その他】
- PCスペック
プロセッサ Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
実装 RAM 8.00 GB - 以下「Max memory usage (MB)」は4,000(MB)に一旦変更済
DSS settings > COMPUTE & SCALING > Resources control > Analysis / Prepare processed limit > Max memory usage (MB) - 処理件数を一旦1,000明細に減らして実行した場合、処理完了することは確認済
追加で必要な情報等あれば仰って下さい。何卒よろしくお願いいたします。
Operating system used: Windows
Best Answers
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 144 Dataiker
@Hisanobu さん、ご質問ありがとうございます。以下、回答させていただきます。
1. 上記ログはCPUの不足を意味するものでしょうか?
→ 上記ログだけからは判断できないのですが、ご記載いただいた状況を拝見しますと、扱うデータサイズに対して物理メモリーのサイズが小さいために、OS側で必要なメモリーを確保できず、処理が終わらない状況になっているのではないかと推測されます。2.(PCのスペックの問題はあると思うのですが、PCは現状のものを使用する前提で、)処理完了の為に取り得る解決策はございますでしょうか?
→ すべてのデータをメモリー上に読み込むのではなく、メモリー上に読み込むデータサイズを制限した上で、逐次処理することで、対応できるかもしれません。Dataikuでは、以下のメソッドを提供しており、DataFrameのチャンクサイズを絞って、イテレーションすることが可能です。
import dataiku dataset = dataiku.Dataset("my_dataset") for df in dataset.iter_dataframes(chunksize = 5000): #dfの処理
上記のような対応、もしくはPythonのジェネレータ関数(yield)を利用するなどの案が考えられますが、私も実機では試せていないため、実際に効果があるかどうかお試しいただけますと幸いです。
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 144 Dataiker
上記 Dataset.iter_dataframes について、Dataiku Galleryに利用例のサンプルがありましたので、以下のURLも参考にしていただければと思います。
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 144 Dataiker
確認結果のご連絡をいただきまして、ありがとうございます。追加でいただいたご質問について、以下回答させていただきます。
1. Dataiku"無料版(インストール版)でも"、GPU搭載のPCを使用することで、(当然GPUやその他スペックによりますが)基本的には処理速度向上が見込まれる、という理解で合っていますでしょうか?
(比較として、Google Colabなどはクラウド上の環境を使用するので、ローカルPCにおけるGPU搭載の有無は、基本的には、処理速度に関係"しない")→ Dataikuの製品版では、SasS版・インストール版共にGPUを使って処理速度の向上を図ることが可能です。
一方、Dataikuの無料版では、GPUの利用を正式にはサポートしていないため、設定次第でGPUを利用可能な可能性はありますが、独自に検証を行なってお試しいただく必要がございます。特にWindows版に関しては、以下ページに記載のようにテスト用の位置付であるため、サポートが存在せず、GPUの利用が可能かどうかは明言が難しいという回答となってしまいます。
2. GPU搭載のPC(どのGPUにするか)を選ぶ際、Dataiku独自の留意点は、ありますでしょうか?
(推奨のGPU、あるいは、非推奨のGPU 等)→ Dataiku 製品版の場合、例えばVisual MLでGPUを利用したい場合、以下ドキュメントに記載のようにCUDA系のGPUをご利用いただくことになります。
PythonレシピやNotebookのPythonコード処理でGPUを利用する場合も、基本的にはCUDAをご利用いただく形になりますが、上記1の回答に記載のように、Windows用フリー版での利用は正式なサポートが存在しないため、大変恐縮ではございますが、明確な回答は難しい状況となります。
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 144 Dataiker
製品版に関しましては、Dataikuのどの機能を利用するのかにより、サポート対象のGPUバージョンが多少異なります。詳細は以下のドキュメントをご参照ください。
Deep Learning
Computer Vision
Time Series Forecasting
Hugging Face Models
一方で、今回お問い合わせをいただいておりますように、「CodeレシピやNotebookを利用して、独自のPythonコードを作成する」場合、Dataiku側では特にサポート対象のGPUは明示していない状況です。
CUDA(Nvidia)系のGPUのみに対応している点は同様なのですが、Dataiku側のサポートというよりは、「Python側の実装内容(利用するライブラリー)がどのGPUバージョンをサポートするのか」によって対応可否が異なってくると考えられますので、そのようにご理解をいただけますと幸いです。
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 144 Dataiker
「Dataiku内の設定」という観点では、上記ご質問のリンク先に記載のように、必要なライブラリーを事前にCode Envに登録しておく必要がございます。
またその前提として、こちらはDataiku外部の設定ではありますが、Python環境からGPUを利用できるように、OS側で必要なNVIDIAドライバーのインストールや設定が完了していることが前提となります。
Answers
-
ご回答・利用例、まことにありがとうございます。参考にさせて頂きます。
-
チャンクサイズを絞って実行したところ、おかげさまで処理終了に至りました。
他方で、自身のPC環境(機械学習に使用できるGPU搭載無し)では、処理時間が非常に長くかかっています。
─ 自然言語処理関連のライブラリを主に使用
─ Code recipes - Python処理(約500,000明細)で、15時間程度の処理時間のイメージ以下、追加ご質問させてください。
- Dataiku"無料版(インストール版)でも"、GPU搭載のPCを使用することで、
(当然GPUやその他スペックによりますが)基本的には処理速度向上が見込まれる、
という理解で合っていますでしょうか?
(比較として、Google Colabなどはクラウド上の環境を使用するので、
ローカルPCにおけるGPU搭載の有無は、基本的には、処理速度に関係"しない") - GPU搭載のPC(どのGPUにするか)を選ぶ際、Dataiku独自の留意点は、ありますでしょうか?
(推奨のGPU、あるいは、非推奨のGPU 等)
- Dataiku"無料版(インストール版)でも"、GPU搭載のPCを使用することで、
-
ありがとうございます。
#2のDataiku製品版の場合の「CUDA系のGPU」について、
教えて頂いたドキュメントでは「CUDA 11.2」とありますが、
「CUDA 11.X」なら、基本的にはGPU利用に問題ない、という理解であっていますでしょうか?
(添付は、無料のインストール版の方ですが、現状プルダウンで表示された内容です)また、「CUDA 10.X 以下」、「CUDA 12.X 以上」だと、現状、製品版のサポート対象外、という理解であっていますでしょうか?
-
詳細なご回答、まことにありがとうございました。参考にさせて頂きます。
-
追加でお伺いさせてください。
仮にGPUを利用することができる場合、
「Training models」の画面で「ACTIVATE GPU FOR TRAINING」をONにすれば良く、
その他、Dataiku内での事前の設定は不要という理解で合っていますでしょうか?(Windows版はテスト用の位置付、は認識しておりますので、可能な範囲でお伺いさせてください)
(Selection of GPU)
-
ありがとうございます。理解致しました。