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億近くに達するだろう。

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

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

次世代ロボットは「人間と共存」するかもしれない。中国はこのチャンスをどうつかむのか?

「次世代のロボットは『人間と共存する』ものになるだろう。中国がこのチャンスをつかめば、ロボットイノ...

マイクロソフト、精度を80%以上に向上させるAIコードレビューツールを発表

Microsoft は、大規模言語モデルのパフォーマンスを向上させる新しいツール、Jigsaw を発...

...

「水中ドローン」が登場?柔らかいロボット魚が世界最深の海溝を探索

「陸地が3つ、海が7つ」。広大な海には数え切れないほどの謎が隠されている。深海探査は工学技術分野で常...

...

人工知能が世界をより安全な場所にする4つの方法

わずか数週間で、COVID-19パンデミックは私たちの日常生活を完全に変えてしまいました。多くの企業...

LLaMA2コンテキストを10万に拡張し、MITと香港中文大学はLongLoRAメソッドを開発

一般的に、大規模なモデルを事前トレーニングする場合、テキストの長さは固定されます。より長いテキストを...

香水アートとAIが出会うとき

[51CTO.com 速訳] 香水は依然として人工物とみなされており、「スーパーな鼻」を持つトップマ...

...

USTC 統合入力フィルタリング フレームワーク: すべてのデータ モダリティをサポートするフィルタリング可能性の最初の理論的分析

モバイル デバイスの計算能力が向上し、センサー データのリアルタイム分析の需要が高まるにつれて、モバ...

AIとビッグデータのつながり

ビッグデータと人工知能は、今日最も新しく、最も有用なテクノロジーの 2 つです。人工知能は10年以上...

2年半の訓練を経て、テスラのヒューマノイドロボット「オプティマス2」がオンラインになった。

何の前触れもなく、テスラのヒューマノイドロボット「オプティマス」の第2世代が登場しました。 12月1...

...

...