12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

王林
發布: 2024-07-16 01:08:30
原創
895 人瀏覽過
沒想到,自 2012 年 AlexNet 開啟的深度學習革命已經過了 12 年。

而如今,我們也進入了大模型的時代。

近日,知名 AI 研究科學家 Andrej Karpathy 的一條帖子,讓參與這波深度學習變革的許多大佬們陷入了回憶殺。從圖靈獎得主 Yann LeCun 到 GAN 之父 Ian Goodfellow,紛紛憶往昔。

到目前為止,該帖子已經有 63 萬 + 的瀏覽量。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

在帖子中,Karpathy 提到:有一個有趣的事實是,很多人可能聽說過 2012 年 ImageNet/AlexNet 的時刻,以及它開啟的深度學習革命。不過,可能很少人知道,支援這次競賽獲勝作品的程式碼是由 Alex Krizhevsky 從頭開始,用 CUDA/C++ 手工編寫的。這個程式碼倉庫叫做cuda-convnet, 當時託管在Google Code 上:

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

https://code.google.com/archive/p/cuda-convnet/

Karpathy 想寫Karpathy 想已經關閉了(?),但他在GitHub 上找到了一些其他開發者基於原始程式碼創建的新版本,例如:

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

https://github.com/ulrichstern/cuda-convnet

「AlexNet 是最早將CUDA 用於深度學習的著名例子之一。」Karpathy 回憶說,正是因為使用了CUDA 和GPU,AlexNet 才能處理如此大規模的數據(ImageNet),並在圖像識別任務上取得如此出色的表現。 「AlexNet 不只是簡單地使用了GPU,還是一個多GPU 系統。例如AlexNet 使用了一種稱為模型並行的技術,將捲積運算分成兩部分,分別運行在兩個GPU 上。」

Karpathy 提醒大家,你要知道那可是2012 年啊! 「在2012 年(大約12 年前),大多數深度學習研究都是在Matlab 中進行,跑在CPU 上,在玩具級別的數據集上不斷迭代各種學習算法、網絡架構和優化思路。」他寫道。但AlexNet 的作者Alex、Ilya 和Geoff 卻做了一件與當時的主流研究風格完全不同的事情——「不再糾結於演算法細節,只需要拿一個相對標準的捲積神經網路(ConvNet),把它做得非常大,在一個大規模的資料集(ImageNet) 上訓練它,然後用CUDA/C++ 把整個東西實作出來。包括卷積、池化等深度學習中的基本操作。這種做法非常創新也很有挑戰性,需要程式設計師對演算法、硬體架構、程式語言等有深入理解。

從底層開始的編程方式複雜而繁瑣,但可以最大限度地優化性能,充分發揮硬體計算能力,也正是這種回歸根本的做法為深度學習注入了一股強大動力,構成深度學習歷史上的轉捩點。

有趣的是,這段描述勾起不少人的回憶,大家紛紛考古 2012 年之前自己使用什麼工具實現深度學習專案。紐約大學電腦科學教授 Alfredo Canziani 當時使用的是 Torch,「從未聽說有人使用 Matlab 進行深度學習研究...」 。

對此 Yann lecun 表示同意,2012 年大多數重要的深度學習都是用 Torch 和 Theano 完成的。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

Karpathy 有不同看法,他接話說,大多數專案都在用 Matlab ,自己從未使用過 Theano,2013-2014 年使用過 Torch。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

一部のネチズンは、ヒントンも Matlab を使用していることを明らかにしました。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

当時、Matlab を使用している人はあまりいなかったようです:

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

有名な GAN の父である Ian Goodfellow も現れ、Yoshua の研究室は当時 Theano を使用していたと言いました。また、ImageNet のリリース前に、Alex の cuda-convnet 用に Theano バンドルを作成したとも述べました。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

Google DeepMind ディレクターの Douglas Eck 氏が登場し、Matlab ではなく C++ を使用し、その後 Python/Theano に切り替えたと述べました。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

ニューヨーク大学教授 Kyunghyun Cho 氏は、2010 年にまだ大西洋の反対側にいたとき、Hannes Schulz らが作成した CUV ライブラリを使用していて、それが Matlab から Python への切り替えに役立ったと述べました。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

Lamini の共同創設者である Gregory Diamos 氏は、彼を確信させた論文は Andrew Ng 氏らの論文「COTS HPC システムによる深層学習」であると述べました。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

この論文は、Frankenstein CUDA クラスターが 10,000 CPU の MapReduce クラスターを上回ることができることを示しています。

12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場

論文リンク: https://proceedings.mlr.press/v28/coates13.pdf

しかし、AlexNet の大成功は孤立した出来事ではなく、AlexNet の開発傾向の縮図でした。当時のフィールド全体。一部の研究者は、ディープラーニングにはより大規模で強力なコンピューティング能力が必要であり、GPU が有望な方向性であることに気づいています。 Karpathy 氏は次のように書いています。「もちろん、AlexNet が登場する前から、深層学習の分野にはすでに大規模化の兆しがいくつかありました。たとえば、Matlab は、スタンフォード大学の Andrew Ng の研究室で最初に多くの研究を開始しました。 GPU の使用に向けて動いています。大規模な深層学習に向けた他の取り組みも並行して行われています。」考古学の終わりに、Karpathy 氏は次のように述べました。 AlexNet の時代と cuda-convnet の時代に戻ったような気がします。「

」現在のアプローチは、当時の AlexNet のアプローチに似ています。 AlexNet は、より高いパフォーマンスとより大きなスケールを追求するために、Matlab から CUDA/C++ に切り替えました。高レベルのフレームワークが利用できるようになりましたが、極端なパフォーマンスを簡単に達成できない場合は、やはり根本に戻って自分で CUDA/C++ コードを記述する必要があります。
ところで当時、国内の研究者は何を使っていたのでしょうか?ディスカッション用にメッセージを残していただくことを歓迎します。

以上是12年前上手深度學習,Karpathy掀起一波AlexNet時代回憶殺,LeCun、Goodfellow等都下場的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:jiqizhixin.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!