Tensor Cores, Triton, residual ජාල සහ vision transformers

2015 සිට අද දක්වා, ගැඹුරු ඉගෙනුම අතින් සුසර කළ C++ GPU කේතය සහ convolutional ජාල වලින්, දෘඪාංග-ත්වරිත න්යාස එන්ජින් සහ Transformer ගෘහ නිර්මාණ දක්වා පරිණාමය විය. නූතන AI ආකෘති නිර්මාණය කර පරිමාණය කරන ආකාරය මෙම සන්ධිස්ථාන තුන විසින් නිර්වචනය කරයි.
1. නූතන CUDA පරිණාමය: Tensor Cores සහ OpenAI Triton
2012 දී Alex Krizhevsky සම්මත CUDA cores හරහා තනි පාවෙන ලක්ෂ්ය මෙහෙයුම් ගණනය කිරීමට පහත් මට්ටමේ CUDA C++ (cuda-convnet) ලීවේය. අද ගැඹුරු ඉගෙනුම රඳා පවතින්නේ විශේෂිත න්යාස දෘඪාංග සහ ඉහළ මට්ටමේ සම්පාදක මතය.
- CUDA Cores සිට Tensor Cores දක්වා. සාම්ප්රදායික CUDA cores ඔරලෝසු චක්රයකට එක් අදිශ ගුණ කිරීමක් සහ එකතු කිරීමක් කරයි. Volta ගෘහ නිර්මාණයේ (2017) සිට, NVIDIA විසින් සම්පූර්ණ කුඩා න්යාස (4×4 හෝ 16×16 කුට්ටි වැනි) තනි ඔරලෝසු චක්රයකින් ගුණ කරන Tensor Cores හඳුන්වා දුන්නේය. නූතන Tensor Cores FP16, BF16 සහ FP8 වැනි මිශ්ර-නිරවද්යතා ආකෘති භාවිත කරමින්, න්යාස ගුණ කිරීම් සඳහා විශාලත්ව පෙළක වේග වැඩිවීම් ලබාදේ.
- cuDNN සහ ස්වයංක්රීය kernel තේරීම. පර්යේෂකයන් අභිරුචි C++ convolution ලිවීම වෙනුවට, NVIDIA හි cuDNN පුස්තකාලයේ දැන් කලින් සම්පාදිත assembly kernel සිය ගණනක් ඇත. ධාවන වේලාවේදී, PyTorch වැනි රාමු ඔබේ නිශ්චිත tensor හැඩයට විවිධ ඇල්ගොරිතම මිණුම් කර, වේගවත්ම Tensor Core රුටීනය ස්වයංක්රීයව තෝරයි.
- OpenAI Triton (Python-පාදක GPU ක්රමලේඛනය). අමු CUDA C++ ලිවීමට නූල් සුචිගත කිරීම, shared memory bank ගැටුම් සහ warp සමමුහුර්ත කිරීම අතින් කළමනාකරණය කළ යුතුය. OpenAI විසින් නිකුත් කළ Triton, පර්යේෂකයන්ට ඉහළ කාර්ය සාධන GPU kernel කෙලින්ම Python වලින් ලිවීමට ඉඩ දෙයි. ඔබ මෙහෙයුම් නිර්වචනය කරන්නේ කුට්ටි මට්ටමින් (දත්ත ටයිල්), Triton සම්පාදකය memory coalescing, shared memory tiling සහ Tensor Core කාලසටහන් ස්වයංක්රීයව හසුරුවන අතර, බොහෝ විට අතින් සුසර කළ CUDA C++ සමාන වේ හෝ ඉක්මවයි.
2. ResNet Skip Connections සහ Backpropagation ගලනය
ResNet (2015) ට පෙර, convolutional ස්ථර ~20 ට වඩා ගොඩගැසීම පුහුණු දෝෂය ඉහළ නැංවීමට හේතු විය. gradients ගුණ කිරීමේ පියවර දුසිම් ගණනක් හරහා පසුපසට ගමන් කරන විට, ඒවා ශුන්යය දෙසට හැකිලුණි (vanishing gradients) හෝ අස්ථායී විය.
- අමු ප්රතිදාන වෙනුවට Residual ඉගෙනීම. සම්මත ජාල කුට්ටියක, ගොඩගැසූ ස්ථර ආදානය x වෙතින් සෘජු සිතියමක් H(x) ඉගෙනීමට උත්සාහ කරයි. ResNet විසින් මුල් ආදානය x කුට්ටියේ ප්රතිදානයට කෙලින්ම එකතු කරන skip connection එකක් (අනන්යතා කෙටිමඟක්) හඳුන්වා දෙයි:
y=F(x)+x
මෙහි F(x) යනු ගොඩගැසූ convolutional ස්ථර නියෝජනය කරයි. සම්පූර්ණ නිරූපණය මුල සිටම නැවත ගොඩනැගීම වෙනුවට, ස්ථරවලට ඉගෙනගැනීමට අවශ්ය වන්නේ residual එක (කුඩා ගැලපුම F(x) = y - x) පමණි. ස්ථරයක් අවශ්ය නොවේ නම්, ජාලයට F(x) ශුන්යය දෙසට පහසුවෙන් තල්ලු කර, පිරිසිදු අනන්යතා ගමනක් ඉතිරි කළ හැක.
- නොකැඩෙන Gradient මහාමාර්ගය. backpropagation අතරතුර, දාම නීතිය ආදානය x ට අනුව පාඩුවේ (L) gradient ගණනය කරයි:
(∂ L)/(∂ x)=(∂ L)/(∂ y)((∂ F(x))/(∂ x)+1)
අනන්යතා කෙටිමඟ මගින් ඇතිවන + 1 පදය නිසා, ඉහළින් එන gradient එක ((∂ L)/(∂ y)) (∂ F(x))/(∂ x) හි කුඩා බර න්යාස මගින් හැකිලීමට ලක් නොවී කෙලින්ම පෙර ස්ථර වෙත පසුපසට ගලයි. මෙයින් gradients ස්ථර 100+ හෝ 1,000+ ක් හරහාත් පිරිසිදුව පැතිරීමට ඉඩ සැලසේ.
3. CNN වලින් Vision Transformers (ViT) වෙත මාරුව
AlexNet ට පසු දශකයකට ආසන්න කාලයක් Convolutional Neural Networks (CNNs) රූප හරහා කුඩා ප්රාදේශීය පෙරහන් ලිස්සවීමෙන් පරිගණක දෘෂ්ටිය අධිපතිත්වය දැරීය. 2020 දී Google විසින් ස්වභාවික භාෂා සැකසීමේ Transformer ගෘහ නිර්මාණය රූපවලට ගැලපූ Vision Transformer (ViT) හඳුන්වා දුන්නේය.
| ලක්ෂණය | Convolutional Neural Networks (CNNs) | Vision Transformers (ViT) |
|---|---|---|
| ආදාන සැකසීම | ලිස්සන පෙරහන් (උදා: 3×3) භාවිතයෙන් සම්පූර්ණ 2D රූප ජාලකය සකසයි. | රූපය ස්ථාවර ප්රමාණයේ පැච් (උදා: පික්සල 16×16) වලට බෙදා, ඒවා ටෝකන අනුක්රමයකට පැතලි කරයි. |
| ග්රාහක ක්ෂේත්රය | මුලින් ප්රාදේශීය. මුල් ස්ථර දකින්නේ අසල්වැසි පික්සල පමණි; ගෝලීය සන්දර්භය ගැඹුරු ස්ථරවලදී ක්රමයෙන් ගොඩනැගේ. | වහාම ගෝලීය. Self-attention මගින් 1 ස්ථරයේ සිටම සෑම රූප පැච් එකක්ම අනෙක් සෑම පැච් එකකටම සම්බන්ධ කරයි. |
| Inductive Bias | ඉහළ. translation invariance සහ 2D අවකාශීය ප්රාදේශීයභාවය පිළිබඳ ඇතුළත් උපකල්පන, කුඩා දත්ත කට්ටල මත CNN හොඳින් ඉගෙනීමට උපකාරී වේ. | පහළ. ඇතුළත් 2D අවකාශීය රීති නොමැත (positional embeddings මත රඳා පවතී), දෘශ්ය ව්යුහය ඉගෙනීමට අති විශාල දත්ත කට්ටල අවශ්ය වේ. |
| දෘඪාංග පරිමාණය | විශේෂිත convolution kernel සහ සංකීර්ණ මතක ප්රවේශ රටා මත රඳා පවතී. | සම්පූර්ණයෙන්ම පාහේ ඝන න්යාස ගුණ කිරීම් (GEMMs) මත රඳා පවතින අතර, ඒවා නූතන GPU Tensor Cores උපරිම කාර්යක්ෂමතාවයෙන් පූරණය කරයි. |
- ViT නූතන AI අත්පත් කරගත් ආකාරය. සැහැල්ලු ජංගම සහ edge උපාංග සඳහා CNN කාර්යක්ෂම වුවත්, මිලියන සිය ගණනක රූප මත පුහුණු කරන විට Vision Transformers වඩා හොඳින් පරිමාණය වේ. තවද, ViT රූප නිරූපණය කරන්නේ පාඨ සහ ශ්රව්ය සඳහා භාවිත වන ආකෘතියමයි, එනම් ටෝකන අනුක්රම ලෙසිනි; එම නිසා නූතන බහුමාධ්ය AI ආකෘතිවලට (GPT-4o සහ Gemini වැනි) දෘෂ්ටිය සහ භාෂාව තනි ඒකාබද්ධ ගෘහ නිර්මාණයක් තුළ සැකසීමට හැකි විය.