Pytorch フレームワークを使用するよりも 200 倍高速です。 0.76秒後、ラップトップ上のCNNはMNISTを解いた。

Pytorch フレームワークを使用するよりも 200 倍高速です。 0.76秒後、ラップトップ上のCNNはMNISTを解いた。

[[417184]]

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

MNIST のトレーニングは、コンピューター ビジョンにおける「Hello World」タスクと言えます。

PyTorch の標準コードを使用して CNN をトレーニングする場合、通常は約 3 分かかります。

しかし今では、ラップトップを使えばその時間を 200 倍以上短縮できます。

速度は0.76秒に達します!

それで、たった 1 エポックのトレーニングで 99% の精度をどうやって達成したのでしょうか?

200倍のスピードアップを実現する8つのステップ

これは、GeForce GTX 1660 Ti GPU を搭載したラップトップです。

Python 3.x と Pytorch 1.8 も必要です。

まずトレーニング用のデータセットをダウンロードし、毎回 14 エポックのトレーニングを実行します。

現時点では、テスト セットでの 2 回の実行の平均精度は 99.185%、平均実行時間は 2 分 52 秒 ± 38.1 ミリ秒です。

次に、トレーニング時間を段階的に短縮します。

1. 早めにトレーニングをやめる

3 ~ 5 エポック後、テスト精度が 99% に達するとトレーニングは早期に停止されます。

このとき、トレーニング時間は約 1/3 に短縮され、57.4 秒±6.85 秒になりました。

2. ネットワークのサイズを縮小し、正規化技術を使用して収束を高速化する

具体的には、最初の conv レイヤーの後に 2x2 最大プール レイヤーを追加して、完全接続レイヤーのパラメーターを 4 倍以上削減します。

次に、2 つのドロップアウト レイヤーのうち 1 つを削除します。

このようにして、収束に必要なエポック数は 3 未満に削減され、トレーニング時間は 30.3 秒±5.28 秒に短縮されます。

3. データの読み込みを最適化する

data_loader.save_data() を使用して、データセット全体を以前に処理した方法で pytorch 配列としてディスクに保存します。

つまり、ディスクからデータを何度も読み取るのではなく、データセット全体が一度に読み込まれ、GPU メモリに保存されます。

現時点では、平均トレーニング時間を 7.31 秒 ± 1.36 秒に短縮するために必要なエポックは 1 つだけです。

4. バッチサイズを増やす

バッチ サイズを 64 から 128 に増やすと、平均トレーニング時間が 4.66 秒 ± 583 ミリ秒に短縮されます。

5. 学習率を上げる

指数関数的減衰の代わりにスーパーコンバージェンスを使用します。

学習率はトレーニング開始時は 0 で、途中で最大値 (4.0) まで直線的に増加し、その後ゆっくりと 0 まで減少します。

これにより、トレーニング時間は 3.14 秒 ± 4.72 ミリ秒に短縮されます。

6. バッチサイズを再度増やし、ネットワークサイズを縮小する

手順 2 を繰り返し、バッチ サイズを 256 に増やします。

残りのドロップアウト層を削除し、畳み込み層の幅を狭めて補正しながら、手順 4 を繰り返します。

最終的に平均時間は 1.74 秒±18.3 ミリ秒に短縮されました。

7. 最終的な微調整

まず、最大サンプリング層が ReLU アクティベーションの前に移動されます。

次に、畳み込みカーネルのサイズを 3 から 5 に増やします。

最後に、ハイパーパラメータの調整を実行します。

学習率を 0.01 (デフォルトは 0.001)、beta1 を 0.7 (デフォルトは 0.9)、beta2 を 0.9 (デフォルトは 0.999) に設定します。

この時点で、トレーニングは 1 エポックに短縮され、762 ミリ秒 ± 24.9 ミリ秒で 99.04% の精度を達成しました。

「これは単なるHello Worldの例です」

この最終結果をありふれたものだと考える人もいます:

データの読み込み時間を最適化し、モデル サイズを縮小し、SGD の代わりに ADAM を使用することは、すべて常識的なことです。

MNIST は機械学習の「Hello World」であり、その目的は最小臨界値を示してフレームワークに慣れてもらうことだけなので、実際に MNIST を高速化しようとする人はいないと思います。それに、3 分というのはそれほど長い時間ではありません。

一部のネットユーザーは、ほとんどの人の仕事はMNISTのようなスーパークラスターにはないと考えています。したがって、彼は次のように述べた。

私が望むのは、トレーニング時間を本当に最小限に抑えることに重点を置いた取り組みをさらに進めることです。

GitHub:
https://github.com/tuomaso/train_mnist_fast

<<:  1780億のパラメータを持つこの言語モデルは、王者GPT-3に挑戦するためだけに作られたのでしょうか?

>>:  トレンド検索No.1!韓国、ハリー・ポッターの「透明マント」を作るためにカメレオン型ソフトロボットを開発

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

推薦する

2020年のビジネスにおけるAIトレンドトップ10 人工知能技術は驚異的な速度で成長している

人工知能は 2010 年代の技術であり、時が経つにつれて、ますます多くの AI 技術が登場しています...

自動運転制御プロセスにおいて解決すべき規制上の問題は何ですか?

自動運転車は自動車の知能化の究極の目標であると広く考えられていますが、自動車技術のさまざまな段階の発...

...

流行は収まったが、学校の開始は何度も延期されている。プログラムシミュレーションでその理由がわかる

全国的な「オンライン授業」が始まって1か月、湖北省以外の省では新型コロナウイルスの新規感染者もそれほ...

Shell、EY、GE で変革を推進している AI Center of Excellence はどれほど素晴らしいのでしょうか?

シェルが2013年に初めて「AI Center of Excellence」を立ち上げたとき、それは...

...

ペンシルバニア大学の最新研究:AI はアイデア生成において人間よりも 7 倍効率的であり、GPT の創造力は人間の 99% を上回ります。

囲碁からゲームのプレイ、さまざまな反復作業の完了まで、AI の能力は多くの面で人間をはるかに上回って...

世界で最も先進的なロボット20台は、考えてみると本当に恐ろしい

科学技術の発展に伴い、ロボットは必然的に徐々に私たちの生活に入り込み、多くの分野で人間に取って代わる...

2024 年の AI セキュリティに関するトップ 10 の予測

水曜日、英国、米国、中国(および欧州連合)を含む約30カ国がAI安全サミットで初の世界的なAI安全合...

競争相手に差をつけるための機械学習プロジェクトのアイデア 8 つ

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

GPT-4 の王冠は落ちていません!クロード3アリーナの人間投票結果が発表されました: 3位のみ

クロード 3 のアリーナ ランクがついに登場:わずか 3 日間で 20,000 票が集まり、リストの...

李開復氏は、AIが今後20年間で5つの主要産業に大きな影響を与えると予測している。

最近、Sinovation Venturesの創設者であるKai-Fu Lee氏が「AIの急速な時代...

...

北京が初の政策実験区を設置:自動運転は今年中に試験運用へ

車に乗り込み、コードをスキャンすると、運転手が操作しなくても黒い「タクシー」が動き出す。横断歩道では...

北京で人工知能アイスクリームマシンがデビュー、IBMは「AI + ブロックチェーン」でダイヤモンドを識別

1. 人工知能搭載のアイスクリームセルフサービス機が北京でデビューDairyXmas AI人工知能ア...