AlexNet: 2012 च्या यशामागील CUDA अभियांत्रिकी

2012 मध्ये AlexNet च्या यशाने सिद्ध केले की CUDA-सक्षम GPU सोबत जोडलेले डीप न्यूरल नेटवर्क दशकांच्या पारंपरिक कॉम्प्युटर व्हिजन अभियांत्रिकीला मागे टाकू शकतात. ImageNet Large Scale Visual Recognition Challenge (ILSVRC) मध्ये Alex Krizhevsky, Ilya Sutskever आणि Geoffrey Hinton यांनी 15.3% चा टॉप-5 त्रुटी दर गाठला, आणि उपविजेत्याच्या 26.2% ला जवळपास 11 टक्केवारी गुणांनी मागे टाकले.
हार्डवेअरचा अडथळा आणि उपाय
त्या वेळी PyTorch आणि TensorFlow सारखे डीप लर्निंग फ्रेमवर्क अस्तित्वात नव्हते, आणि ग्राहक-श्रेणीच्या GPU च्या मेमरीला कठोर मर्यादा होत्या.
- ग्राहक गेमिंग हार्डवेअर: टीमने नेटवर्क एका बेडरूममध्ये दोन ग्राहक-श्रेणीच्या NVIDIA GTX 580 GPU वर प्रशिक्षित केले. प्रत्येक कार्डमध्ये फक्त 3 GB VRAM होती, जी 6 कोटी पॅरामीटर असलेले संपूर्ण नेटवर्क एकाच चिपवर ठेवण्यासाठी पुरेशी नव्हती.
- CUDA द्वारे मॉडेल पॅरलेलिझम: Alex Krizhevsky यांनी नेटवर्क दोन्ही GPU मध्ये उभे विभागण्यासाठी कस्टम CUDA C++ कर्नल (cuda-convnet) लिहिले. प्रत्येक GPU ने स्वतःच्या 3 GB मेमरी पूलमध्ये निम्मे न्यूरॉन आणि कर्नल साठवले.
- निवडक क्रॉस-GPU संवाद: मदरबोर्डच्या PCIe बसवरून GPU दरम्यान डेटा हस्तांतरित करणे संथ होते, म्हणून Krizhevsky यांनी GPU ना फक्त विशिष्ट लेयरवर (जसे Layer 3) संवाद साधण्यासाठी प्रोग्राम केले. इतर लेयर प्रत्येक कार्डवर पूर्णपणे स्वतंत्रपणे चालले, ज्यामुळे बँडविड्थमधील अडथळे कमी झाले.
प्रमुख आर्किटेक्चरल यश
कच्ची CUDA कॉम्प्युट शक्ती मिळाल्याने टीमला अनेक महत्त्वाची तंत्रे एकत्र वापरता आली, जी पूर्वी मोठ्या प्रमाणावर तपासण्यासाठी खूप संथ होती:
- खोल आर्किटेक्चर: AlexNet मध्ये 8 शिकणारे लेयर होते (5 कन्व्होल्यूशनल लेयर आणि त्यानंतर 3 फुली कनेक्टेड लेयर), जे आधीच्या न्यूरल नेटवर्कपेक्षा खूपच खोल होते.
- ReLU अॅक्टिव्हेशन फंक्शन: पारंपरिक tanh किंवा sigmoid गणिताऐवजी त्यांनी Rectified Linear Units (ReLU) वापरले. CUDA मध्ये ReLU गणनेच्या दृष्टीने सोपे आहे आणि त्यामुळे ग्रेडियंट नाहीसे न होता खोल नेटवर्क सुमारे सहा पट वेगाने प्रशिक्षित झाले.
- डेटा ऑगमेंटेशन आणि ड्रॉपआउट: GPU मॅट्रिक्स गणित करत असताना CPU ने ओव्हरफिटिंग टाळण्यासाठी रिअल-टाइम इमेज रूपांतरणे (क्रॉप आणि फ्लिप) तयार केली. त्यांनी Dropout देखील वापरले, ज्यात प्रशिक्षणादरम्यान न्यूरॉन यादृच्छिकपणे बंद केले जातात, जेणेकरून नेटवर्क मजबूत वैशिष्ट्ये शिकेल.
याने डीप लर्निंग क्रांती का सुरू केली
सप्टेंबर 2012 पूर्वी बहुतेक कॉम्प्युटर व्हिजन संशोधक कडा आणि आकार ओळखण्यासाठी हाताने बनवलेल्या अल्गोरिदम (जसे SIFT आणि HOG) वर अवलंबून होते, आणि डीप न्यूरल नेटवर्ककडे बंद गल्लीसारख्या सिद्धांताच्या रूपात पाहत होते.
- प्रशिक्षण वेळ: कस्टम CUDA ऑप्टिमायझेशन असूनही AlexNet ला 12 लाख उच्च-रिझोल्यूशन इमेजवर प्रशिक्षित होण्यास 5 ते 6 दिवस लागले. CUDA शिवाय तोच प्रयोग CPU वर महिने घेतला असता.
- उद्योगातील बदल: AlexNet ने ImageNet वर प्रत्येक पारंपरिक पद्धतीला मागे टाकल्यावर, संपूर्ण एआय संशोधन समुदायाने जवळपास रात्रीतून हाताने बनवलेली वैशिष्ट्ये सोडून दिली. संशोधक NVIDIA GPU खरेदी करायला धावले, ज्यामुळे NVIDIA एआय कडे वळले आणि दोन वर्षांनी cuDNN प्रसिद्ध केली.