エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
概要 タイトルの通りなのだが、LightGBMをGPUで回すと結果の再現性が得られないことに気づいた。 CPUの... 概要 タイトルの通りなのだが、LightGBMをGPUで回すと結果の再現性が得られないことに気づいた。 CPUの場合は乱数seedを42などに固定すれば、同じ条件で何回回しても毎回同じ結果が得られる。 しかし、GPUの場合は乱数seedを固定しても回すたびに結果が変わってしまうのだ。 なぜ再現性がないのか? この問題はLightGBMの公式のissueでも議論されている。 まず、GPUを使う場合は並列で計算できる部分は並列処理をすることで効率化している。 さらに、並列化した結果を足し算するときに、順番によって微妙に値が変わってしまうということだ。 もちろん数学的には足し算の順番が変わっても結果が変わることなんてないんだけど、コンピュータでfloatなどの値を計算する以上、丸め誤差だったり複数の要因で結果が「ほんのわずかに」違うということが起きうる。 さらに、LightGBMをGPUで回した