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ల మధ్య డేటా బదిలీ నెమ్మదిగా ఉండటంతో, నిర్దిష్ట లేయర్లలో మాత్రమే (ఉదాహరణకు లేయర్ 3) GPUలు సంభాషించేలా Krizhevsky ప్రోగ్రామ్ చేశారు. మిగతా లేయర్లు ప్రతి కార్డుపై పూర్తిగా స్వతంత్రంగా పనిచేసి, బ్యాండ్విడ్త్ అడ్డంకులను తగ్గించాయి.
ప్రధాన ఆర్కిటెక్చర్ పురోగతులు
ముడి CUDA కంప్యూట్ శక్తి ఉండటంతో, పెద్ద ఎత్తున పరీక్షించడానికి ముందు మరీ నెమ్మదిగా ఉన్న అనేక కీలక పద్ధతులను బృందం కలపగలిగింది:
- లోతైన ఆర్కిటెక్చర్: AlexNet 8 నేర్చుకునే లేయర్లను (5 కన్వల్యూషనల్ లేయర్లు, ఆ తర్వాత 3 పూర్తిగా అనుసంధానించిన లేయర్లు) పేర్చింది; ఇది గత న్యూరల్ నెట్వర్క్ల కంటే చాలా లోతైనది.
- ReLU యాక్టివేషన్ ఫంక్షన్: సంప్రదాయ tanh లేదా sigmoid గణితానికి బదులుగా వారు Rectified Linear Units (ReLU) ఉపయోగించారు. ReLU CUDAలో గణనపరంగా సరళమైనది; గ్రేడియంట్లు మాయం కాకుండా లోతైన నెట్వర్క్ దాదాపు ఆరు రెట్లు వేగంగా శిక్షణ పొందడానికి ఇది వీలు కల్పించింది.
- డేటా ఆగ్మెంటేషన్ మరియు డ్రాపౌట్: GPUలు మ్యాట్రిక్స్ గణితాన్ని చేస్తుండగా, ఓవర్ఫిట్టింగ్ను నివారించడానికి CPU నిజ-సమయ చిత్ర పరివర్తనలను (క్రాప్లు, ఫ్లిప్లు) సృష్టించింది. వారు డ్రాపౌట్ను కూడా వర్తింపజేశారు; శిక్షణ సమయంలో న్యూరాన్లను యాదృచ్ఛికంగా ఆఫ్ చేసి, బలమైన లక్షణాలను నేర్చుకోవడానికి నెట్వర్క్ను బలవంతం చేశారు.
ఇది డీప్ లెర్నింగ్ విప్లవానికి ఎందుకు నాంది పలికింది
2012 సెప్టెంబర్కు ముందు, చాలా మంది కంప్యూటర్ విజన్ పరిశోధకులు అంచులను, ఆకారాలను గుర్తించడానికి చేతితో రూపొందించిన అల్గారిథమ్లపై (SIFT, HOG వంటివి) ఆధారపడేవారు, డీప్ న్యూరల్ నెట్వర్క్లను ముందుకు దారి లేని సిద్ధాంతంగా భావించేవారు.
- శిక్షణ సమయం: కస్టమ్ CUDA ఆప్టిమైజేషన్ ఉన్నప్పటికీ, 12 లక్షల అధిక రిజల్యూషన్ చిత్రాలపై AlexNet శిక్షణకు 5 నుండి 6 రోజులు పట్టింది. CUDA లేకుంటే, అదే ప్రయోగానికి CPUలపై నెలలు పట్టేది.
- పరిశ్రమలో మార్పు: ImageNetలో AlexNet ప్రతి సంప్రదాయ పద్ధతిని అధిగమించినప్పుడు, మొత్తం AI పరిశోధన సమాజం చేతితో రూపొందించిన లక్షణాలను దాదాపు ఒక్క రాత్రిలో వదిలేసింది. పరిశోధకులు NVIDIA GPUలను కొనడానికి పరుగులు తీశారు; ఇది NVIDIAను AI వైపు మళ్లించి, రెండు సంవత్సరాల తర్వాత cuDNNను విడుదల చేయడానికి దారితీసింది.