සිංහල පුවත්
නවතම
රට යළි බංකොලොත් භාවයකට ගමන් කරමින් සිටින බවට හිටපු අමාත්‍ය රාජිත සේනාරත්න අනතුරු ඇඟවීය.තඹුත්තේගම අසරණ පවුලකට හිටපු ජනපතිගෙන් නිවසක්රෝගීන් වැඩි ප්‍රමාදයකට මුහුණ දෙන බැවින් රුපියල් බිලියන ගණනක පිළිකා ප්‍රතිකාර යන්ත්‍ර අක්‍රිය වේසුවිශේෂී වසරක්: එක් නළුවෙකුට වසරක් තුළ ඉන්දීය රුපියල් බිලියන 2 බැගින් උපයන චිත්‍රපට තුනක්පාකිස්තානයේ ටර්බෙලා ජල විදුලි ව්‍යාපෘතියේ රැඳවුම් බැම්ම කඩා වැටී ඇතැයි වාර්තා වේශ්‍රී ලංකා සංචාරක ව්‍යාපාරය සඳහා ජාත්‍යන්තර විකාශකයින් සහයෝගය ලබාදෙන බව අමාත්‍යවරයා පවසයිනොච්චියාගම ඝාතනයට සහය දුන් බව කියන පුද්ගලයෙකු පොලිසිය අත්අඩංගුවටසිංහරාජයේ වනජීවී එකතු කළැයි කියන චීන ජාතිකයන් හතර දෙනෙක් රිමාන්ඩ්
AI සහ තාක්ෂණය

cuda-convnet ඇතුළත: AlexNet හි GPU දෙකේ ස්ථර සහ ImageNet යුගය

ප්‍රොසෙසර් ඩයි එකක නිදර්ශන විස්තරයක්; මෙය ලිපියේ සාකච්ඡා කරන NVIDIA GPU එක නොවේ.
ප්‍රොසෙසර් ඩයි එකක නිදර්ශන විස්තරයක්; මෙය ලිපියේ සාකච්ඡා කරන NVIDIA GPU එක නොවේ.

2012 දී AlexNet ලබාගත් සන්ධිස්ථානය රඳා පැවතියේ පහත් මට්ටමේ GPU ඉංජිනේරු කාර්යය (cuda-convnet) සහ බෙදූ GPU දෙකක ගෘහ නිර්මාණය මත වන අතර, එය වඩා ගැඹුරු සහ වඩා කාර්යක්ෂම පරිගණක දෘෂ්ටි ආකෘති කරා වේගවත් තරඟයක් කෙලින්ම අවුලුවාලීය.

1. cuda-convnet ඇතුළතින් ක්‍රියා කළ ආකාරය

NVIDIA විසින් cuDNN නිර්මාණය කිරීමට පෙර, Alex Krizhevsky මුල් Fermi ගෘහ නිර්මාණයේ GPU (GTX 580) වලින් උපරිම වේගය ලබාගැනීමට cuda-convnet අමු CUDA C++ වලින් ලීවේය. නූතන පුස්තකාල සාමාන්‍යයෙන් convolution විශාල න්‍යාස ගුණ කිරීම් බවට (im2col) විහිදුවන අතර, එයින් මතකය විශාල ප්‍රමාණයක් වැය වේ. GTX 580 එකක VRAM තිබුණේ 3 GB ක් පමණක් නිසා, Krizhevsky සෘජු, මතකය ඉතිරි කරන GPU රුටින නිර්මාණය කළේය.

  • Batch-First මතක පිරිසැලසුම (CHWN). නූතන රාමු පෙරනිමියෙන් NCHW (Batch, Channels, Height, Width) භාවිත කරන අතර, එහිදී එක් රූපයක සියලු පික්සල මතකයේ එකිනෙක ළඟ තබයි. Krizhevsky tensor CHWN පිළිවෙළට ගබඩා කළේය; එනම් batch මානය (N) අගට තැබුවේය. warp එකක GPU නූල් 32 ක් එකම පික්සල ස්ථානයේ වෙනස් රූප 32 ක් සැකසූ විට, ඒවායේ මතක කියවීම් සම්පූර්ණයෙන්ම සන්නිවේශිත (coalesced) වූ අතර, VRAM කලාප පළල උපරිම ලෙස භාවිත විය.
  • Shared Memory Tiling. ගෝලීය VRAM වෙතින් කියවීමට ඔරලෝසු චක්‍ර සිය ගණනක් ගත වන අතර, චිපය මත ඇති Shared Memory (GTX 580 හි Streaming Multiprocessor එකකට 48 KB ක් පමණි) සඳහා ගත වන්නේ චක්‍ර කිහිපයක් පමණි. නූල් කුට්ටි රූප පික්සල සහ පෙරහන් බර වල කුඩා 2D කොටස් Shared Memory වෙත පූරණය කර, අවසාන ප්‍රතිඵල නැවත VRAM වෙත ලිවීමට පෙර ඩොට් ගුණිත දුසිම් ගණනක් ගණනය කළේය.
  • Warp-Level Register Reuse. Krizhevsky සෑම නූල් කුට්ටියකටම එකවර පෙරහන් කිහිපයක් හරහා ප්‍රතිදාන පික්සල වල ටයිල් එකක් ගණනය කිරීමට පැවරුවේය. පෙරහන් බර වේගවත් GPU රෙජිස්ටර වල තබාගැනීමෙන්, Shared Memory වෙතින් පූරණය කළ එක් රූප කොටසක් එකවර බොහෝ පෙරහන් හරහා නැවත භාවිත වූ අතර, මතක ගමනාගමනය විශාල ලෙස අඩු විය.

2. AlexNet හි විශේෂිත ස්ථර සහ GPU දෙකකට බෙදීම

AlexNet හි ඉගෙනගත් ස්ථර 8 ක් (convolutional 5 ක් සහ සම්පූර්ණයෙන්ම සම්බන්ධිත 3 ක්) තිබූ අතර, සමස්ත පරාමිති ප්‍රමාණය ආසන්න වශයෙන් මිලියන 60 කි. activations, බර සහ gradients සඳහා අවශ්‍ය 3 GB+ VRAM තනි GTX 580 එකක නොතිබූ නිසා, Krizhevsky ජාලය සිරස් අතට සමාන්තර ධාරා දෙකකට බෙදීය.

ස්ථරයවර්ගයමුළු පෙරහන් / නියුරෝනGPU එකකට බෙදීමGPU අතර සන්නිවේදනය
ආදානයRGB රූපය224 × 224 × 3GPU දෙකටම පිටපත් කෙරේනැත
Conv 111×11 Conv (stride 4) + MaxPoolපෙරහන් 96GPU එකකට පෙරහන් 48හුදකලා (sync නැත)
Conv 25×5 Conv + MaxPoolපෙරහන් 256GPU එකකට පෙරහන් 128හුදකලා (කියවන්නේ තමන්ගේ GPU එකේ Conv 1 පමණි)
Conv 33×3 Convපෙරහන් 384GPU එකකට පෙරහන් 192සම්පූර්ණ Sync (GPU දෙකේම සිතියම් 256 සියල්ල කියවයි)
Conv 43×3 Convපෙරහන් 384GPU එකකට පෙරහන් 192හුදකලා (කියවන්නේ තමන්ගේ GPU එකේ Conv 3 පමණි)
Conv 53×3 Conv + MaxPoolපෙරහන් 256GPU එකකට පෙරහන් 128හුදකලා (කියවන්නේ තමන්ගේ GPU එකේ Conv 4 පමණි)
FC 6සම්පූර්ණයෙන් සම්බන්ධිත + Dropoutනියුරෝන 4,096GPU එකකට නියුරෝන 2,048සම්පූර්ණ Sync (Conv 5 ප්‍රතිදාන සියල්ලට සම්බන්ධ වේ)
FC 7සම්පූර්ණයෙන් සම්බන්ධිත + Dropoutනියුරෝන 4,096GPU එකකට නියුරෝන 2,048සම්පූර්ණ Sync (FC 6 නියුරෝන සියල්ලට සම්බන්ධ වේ)
FC 8සම්පූර්ණයෙන් සම්බන්ධිත (Softmax)පන්ති 1,000පන්ති 1,000 (ඒකාබද්ධ)සම්පූර්ණ Sync (අවසන් ImageNet අනාවැකි ලබාදේ)
  • ස්වාභාවික ලක්ෂණ විශේෂීකරණය. රසවත් කරුණ නම්, 1 සහ 2 ස්ථර කිසිවිටෙක GPU අතර සන්නිවේදනය නොකළ නිසා, කාඩ්පත් දෙක අඛණ්ඩව විශේෂිත භූමිකා ලබාගැනීමයි. එක GPU එකක් වර්ණයෙන් ස්වාධීන දාර සහ වයනය හඳුනාගන්නන් (අළු පැහැති Gabor වැනි පෙරහන්) ඉගෙනගත් අතර, අනෙක් GPU එක වර්ණ-විශේෂිත පැල්ලම් සහ වර්ණ ඡායා කෙරෙහි විශේෂඥ විය.
  • PCIe බාධක අවම කිරීම. මවු පුවරුවේ PCIe බස් එක හරහා දත්ත යැවීම මන්දගාමී විය. GPU අතර සන්නිවේදනය Conv 3 සහ සම්පූර්ණයෙන් සම්බන්ධිත ස්ථරවලට පමණක් සීමා කිරීමෙන්, Krizhevsky දත්ත මාරුවීම් නිසා නතර නොවී GPU පූර්ණ වේගයෙන් ගණනය කරමින් තබාගත්තේය.

3. ImageNet යුගයේ ඊළඟට සිදු වූයේ කුමක්ද

AlexNet හි ජයග්‍රහණය ImageNet තරඟයේ වාර්ෂික තරඟයක් අවුලුවාලූ අතර, වසර තුනක් ඇතුළත ජාල ස්ථර 8 සිට 150 ට වැඩි ප්‍රමාණයකට ගෙන ගියේය.

  • 2013 – ZFNet (දෘශ්‍යකරණය සහ ගැලපීම). Matthew Zeiler සහ Rob Fergus, AlexNet සැඟවුණු ස්ථර තුළ සැබැවින්ම දකින දේ දෘශ්‍යමාන කිරීමට deconvolution ක්‍රම හඳුන්වා දුන්හ. AlexNet හි පළමු ස්ථරයේ පෙරහන් ප්‍රමාණය 11×11 සිට 7×7 දක්වා කුඩා කර stride අඩු කිරීමෙන්, ZFNet විසින් ImageNet top-5 දෝෂ අනුපාතය 15.3% සිට 14.8% දක්වා අඩු කළේය.
  • 2014 – VGGNet (ඒකාකාර 3×3 පෙරහන් හරහා ගැඹුර). Oxford පර්යේෂකයෝ කුඩා 3×3 convolution රාශියක් (ස්ථර 16 හෝ 19 දක්වා) ගොඩගැසීම තනි විශාල පෙරහන් (11×11 හෝ 5×5 වැනි) භාවිතයට වඩා හොඳින් ක්‍රියා කරන බව ඔප්පු කළහ. ගොඩගැසූ 3×3 ස්ථර දෙකක් අඩු පරාමිති සහ අමතර රේඛීය නොවන ReLU activations සමඟ එම 5×5 දැකීමේ ප්‍රදේශයම ආවරණය කරන අතර, දෝෂ අනුපාත 7.3% දක්වා පහත හෙලීය.
  • 2014 – GoogLeNet / Inception (බහු-පරිමාණ කාර්යක්ෂමතාව). Google විසින් එකම ස්ථරය තුළ 1×1, 3×3 සහ 5×5 convolution සමාන්තරව ධාවනය කර ප්‍රතිදාන ඒකාබද්ධ කළ Inception මොඩියුලය හඳුන්වා දුන්නේය. මිල අධික ගණිතයට පෙර නාලිකා ගැඹුර සම්පීඩනය කිරීමට ලාභ 1×1 convolution භාවිත කිරීමෙන්, GoogLeNet ස්ථර 22 ක් සහ 6.7% දෝෂ අනුපාතයක් ලබාගත් අතර, AlexNet ට වඩා පරාමිති 12 ගුණයක් අඩුවෙන් භාවිත කළේය.
  • 2015 – ResNet (Skip Connections සහ ස්ථර 152). හුදෙක් තවත් ස්ථර ගොඩගැසීම, backpropagation අතරතුර gradients අතුරුදහන් වීම නිසා අවසානයේ පුහුණු නිරවද්‍යතාව පිරිහීමට හේතු විය. Microsoft Research මෙය Residual Connections (skip connections) මගින් විසඳූ අතර, ඒවා සෘජු අනන්‍යතා කෙටිමං හරහා දත්තවලට ස්ථර මඟහැර යාමට ඉඩ දෙයි. මෙය ස්ථර 152 ක ජාල විවෘත කළ අතර, 3.57% top-5 දෝෂ අනුපාතයක් ලබා, පළමු වරට මානව මට්ටමේ මිණුම් ලකුණු කාර්ය සාධනය (~5%) අභිබවා ගියේය.

තවත් පුවත්: AI සහ තාක්ෂණය