PyTorch ライブラリの 95% がこのバグの影響を受けます。テスラのAIディレクターも例外ではなかった

PyTorch ライブラリの 95% がこのバグの影響を受けます。テスラのAIディレクターも例外ではなかった

[[393110]]

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

どのようなバグが Pytorch ライブラリの95% に影響を及ぼし、 Tesla の AI ディレクターにさえ問題を引き起こす可能性があるのでしょうか?

この虫は確かに小さいですが、かなり「狡猾」です。

これは最近 Reddit で話題になっています。ネットユーザーが一般的なPytorch+Numpy の組み合わせを使用しているときにこれを発見しました。

最も重要なことは、コードがスムーズに実行できたとしても、モデルの精度に影響するということです。

さらに、ネットユーザーの間で熱く議論されたもう一つのポイントは次の通り。

しかしそれはバグでしょうか?

[[393111]]

何が起こっているのか?

この事件の原因は、PyTorchでNumPyを使用して乱数を生成する際に、データの前処理の制限により、複数のプロセスがデータを並列にロードするが、最終的に各プロセスから返される乱数は同じになることをネットユーザーが発見したことでした。

彼はまた、自分の主張を裏付ける例も挙げた。

以下は、3 つの要素のランダムなベクトルを返すデータセットの例です。ここで使用されるバッチ サイズは 2 で、ワーカー プロセスの数は 4 です。

すると、不思議なことが起こりました。各プロセスによって返される乱数が同じになったのです。

この結果は本当にわかりにくいです。ちょうど、Xiao Ming が特定の距離を歩くのにどれくらい時間がかかるかを尋ねる数学の文章題で、計算すると負の数になるようなものです。

この問題を発見した後、ネットユーザーはGitHubから10万個以上のPyTorchライブラリをダウンロードし、同じ方法を使って乱数を生成した。

結果はさらに衝撃的で、 95% 以上のライブラリがこの問題に悩まされています。

その中には、PyTorch の公式チュートリアルや OpenAI のコードも含まれています。Tesla AI ディレクターの Karpathy 氏でさえ、「騙された」と認めています。

しかし、正直に言うと、このバグを解決するのは難しくありません。各エポックでシードをリセットするか、 Python の組み込み乱数ジェネレーターを使用してこの問題を回避します。

それはバグですか?

この問題はすでに解決できるのに、なぜこれほど大きな議論を呼んでいるのでしょうか?

ネットユーザーの注目が「哲学的」なレベルにまで高まったからだ。

これはバグですか?

Reddit の誰かがこう考えました: これはバグではありません。

この問題は非常に一般的ですが、バグではなく、デバッグ中に無視できないポイントです。

この見解が大きな騒動を引き起こし、多くの人が彼が問題の核心を見落としていると考えました。

これは疑似乱数を生成する問題ではなく、numpy の問題でもありません。問題の核心は、PyTorch の DataLoader の実装にあります。

ランダムな変換を含むデータ読み込みパイプラインの場合、これはすべてのワーカーが「同じ」変換を選択することを意味します。

NN の多くのデータ読み込みパイプラインは現在、データ拡張のために何らかのランダム変換を使用しているため、再初期化を行わないことがデフォルトになっている可能性があります。

別のネットユーザーも、このバグは実際にはデフォルトのプログラムで実行している場合にのみ発生するため、より多くのユーザーに指摘されるべきだと述べた。

そして、Pytorch ライブラリの 95% 以上がこれに悩まされていますが、これは決して誇張ではありません。

ある人は、以前の辛い経験を次のように話しました。

データセットを作成するために多くのプロセスを実行したときに、データの半分が重複していることに気付きました。何が問題なのかを突き止めるのに長い時間がかかりました。

また、95% 以上のユーザーが使用時にエラーを経験する場合、コードが間違っていると付け加えたユーザーもいます。

ちなみに、これはカルパシーの法則の別の例を示しています。つまり、非常に基本的なコードを台無しにしたとしても、「ニューラル ネットは機能しようとします」。

PyTorch で落とし穴に遭遇したことがありますか?

上記のバグは偶然ではありません。PyTorch を使用する人が増えるにつれて、バグもどんどん発見されます。ある Web サイトには PyTorch の落とし穴をまとめた記事もあり、49 万回も閲覧されています。

ベクトル、関数から model.train() まで、それが実際のバグであるか、自ら招いたバグであるかにかかわらず、誰もが経験する血と涙の物語は本当に異なります。

それで、PyTorch での経験について、共有できる血と涙の物語はありますか?

<<:  音声認識技術は急速に発展しており、その規模は今後5年間で300億近くに達するだろう。

>>:  アルゴリズムから離れた「ジレンマ」に直面し、専門家はシナリオベースの洗練されたガバナンスの実行を提案している。

ブログ    
ブログ    
ブログ    

推薦する

DALL·Eの超進化により、写真の品質と芸術性が大幅に向上し、写真をシームレスに修正することもできるようになりました。

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

...

11月に最も人気のあるオープンソース機械学習プロジェクトとRedditの議論トップ5

導入データ サイエンティストになる上で最も良いことの 1 つはプログラミングです。多くの場合、私は...

2つのセッションにおけるインターネット大手の提案の要約:デジタル経済とスマートカーが頻出語に

[[385182]]中国人民政治協商会議第13期全国委員会第4回会議が2021年3月4日に北京で開催...

...

巨大企業の障壁の中で、人工知能のサブセクターでリーダーが出現している。これはAIにとって真の新しいチャンスである。

ディープラーニングと機械学習を中核とするAI技術は、主にコンピューティング能力とアルゴリズムのブレー...

テクノロジーはサプライチェーンの未来をどう変えるのか

古代のシルクロードから、今日の AI 主導の超高精度な小売補充需要予測に至るまで、テクノロジーは常に...

張震: AIOps の 6 つの技術的難しさと CreditEase の運用と保守における大きな変化

[51CTO.com からのオリジナル記事] 運用と保守の発展プロセスは産業革命に似ています。3 つ...

AIと機械学習プロジェクトのセキュリティを確保する方法

人工知能と機械学習はメリットをもたらす一方で、新たな脆弱性ももたらします。この記事では、いくつかの企...

アルトマンのYCスピーチ: ChatGPTを攻撃する者は死ぬ、私ができるからといって、あなたにもできるとは限らない

ウルトラマンのシンプルな言葉はAIスタートアップ企業を震え上がらせた。 「Shelling」Open...

...

脱ぐ!ドローンは1000億元の農薬市場の発展を加速させている

現在、農業の需要と供給の矛盾がますます顕著になる中、植物保護分野におけるドローンの導入と応用は、農業...

私、シュシュもVRヘッドセットを持っています!コーネル大学の研究者らがマウスの頭蓋骨を開き、脳と行動の没入型研究を行っている。

最近、マウスの世界でも仮想現実の時代が到来しました。はい、すべての人間が VR ヘッドセットを持って...