NPU Neural Processing Unit ස්නායුක ප්‍රොසෙසරය

බොහොම මෑතකදි ඇපල් සමාගමෙන් එයාලගේ අලුත්ම A11 Bionic SoC එක හදුන්වා දුන්නම එච්චර කට්ටිය තැකීමක් නොකරපු දෙයක් තිබ්බා. ඒතමා එයාලගේ Intergrated NPU එක. (ෆෑන් බෝයිලා නම් මේක ගැන කියවලා ලොරිටෝක් දෙන්න ගියේ නෑ මේක මොකක්ද කියලවත් දන්නැති නිසා.)

ඒවගේම Huawei සමාගමේ අලුත්ම Kirin970 SoC එකෙත් NPU එකක් තියෙනවා. නමුත් මේ NPU දෙක වෙනස්.
A11 එකේ තියෙන්නෙ Intergrated එකක්. Kirin970 එකේ තියෙන්නෙ Dedicated එකක්.

මොකක්ද මේ NPU එක කියන්නේ?
මොකක්ද මේ වර්ග දෙකේ වෙනස?
මොකක්ද මේ දෙකෙන් හොදම එක?
මොනාද NPU එකෙන් කරන්න පුළුවන්?

මුලින් බලමු මොකක්ද NPU එකක් එහෙමත් නැත්තං ස්නායුක ප්‍රොසෙසරයක් කියන්නේ කියලා.

ස්නායුක ප්‍රොසෙසරයක් කියන්නේ කෘතීම යාන්ත්‍රික නියුරෝන භාවිත කරලා ගණනය කිරීම් කරන ප්‍රොසෙසරයකට. මේ ප්‍රොසෙසර වල විශේෂත්වය තමා මේවාමගින් තප්පරයට කල හැකි ගණනය කිරීම ප්‍රමාණය අතිශයින් ඉහළ වීම.

හැබැයි මේ ප්‍රොසෙසර වලින් ලබාදෙන ගණනය කිරීම් 100%ක් නිවරදි නෑ. ආසන්න වශයෙන් තමා නිවරදි වෙන්නේ.

දැන් බලන්න එපා අහවල් එකටද එහෙනම් මෙහෙම එකක් තියෙන්නෙ කියලා.

මෙහෙම ලබාදෙන තොරතුරු ආසන්න ලෙස පමණක් නිවරදි වීමට හේතුව තමා මේක අපේ මොළය අනුකරණය කිරීම. මොකද අපේ මොළය නිතරම කරන්නේ ආසන්න වශයෙන් නිවරදි තොරතුරු ලබාදීම. ඉතින් ඒනිසා මොළයට අධික සැකසුම් වේගයක් තියෙනව.

සාමාන්‍යයෙන් කෘතීම නියුරෝන 100ට වැඩි ගණනක් තියන NPU එකක් විශාල ප්‍රොසෙසින් ධාරාවක් ලබාදෙනවා. නමුත් කලින් කිව්වා වගේ ඒවා ආසන්න ලෙස පමණක් නිවරදි තොරතුරු.

කොහොමද මේ කෘතීම නියුරෝන නිපදවෙන්නේ?

මේක ක්‍රම 2කට පුළුවන්

පලවෙනි එක තමා Apple A11 Bionic SoC එකේ පාවිච්චි වෙන්නේ. ඒතමයි SoC එකේ GPU එකේ තියන Shader Unit එකක් එක නියුරෝනයක් ලෙස පාවිච්චි කිරීම හෝ CPU Core කීපයක් පාවිච්චි කිරීම . (Shader කියන්නේ Graphic ගොඩනැගීමේදී Vertex හා Pixel ප්‍රොසෙසින් කරන කොටස්. සරලවම කිව්වොත් ග්‍රැෆික් ජෙනරේට් වෙන්නේ මේවයින්). මෙහෙම කිරීම 90%ක් වෙන්නේ සොෆ්ට්වෙයා එමියුලේශන් මත. නමුත් ඒකට GPU/CPU එකේ සැකැස්මේ වෙනස්කම් තියෙන්නත් ඕන. මේ ක්‍රමේ එකම වාසිය තමා වෙනම NPU කොටසක් අනවශ්‍ය වීම.
(ඉන්ටෙල් ඉන්ටග්‍රේටඩ් ග්‍රැෆික් වගේ මේවත්.)

මේ ක්‍රමේ අවාසි තමා GPU එක හා NPU එක එකවර භාවිත කරන්න බැරිවීම හා NPU එක ඒහැටි ප්‍රභල නොවීම.

අනිත් ක්‍රමේ ටිකක් සංකීර්ණයි. ඒ ක්‍රමේ තමා Huawei Kirin970 එකේ පාවිච්චි කරල තියෙන්නේ.

ඒ තමා වෙනමම ට්‍රාන්සිස්ටර් පොකුරු ගණනාවක් පාවිච්චි කරලා කෘතීම නියුරෝන සෑදීම. සාමාන්‍යයෙන් ට්‍රාන්සිස්ටර් 1000ක එක පොකුරක් එක නියුරෝනයක් ලෙස පාවිච්චි කරනවා. මෙහෙම පොකුරු 1000ක් වගේ එකතු කලාම නියුරෝන 1000ක පොඩි මොළයක් හදාගන්න පුළුවන්. ඒක තමා එතකොට NPU එක වෙන්නේ. මේනිසා SoC එක මත වෙනමම ඉඩක් NPU එකට අවශ්‍ය වෙනවා. ඒකතමා මේ ක්‍රමයේ අවාසිය. (මේ NPU වර්ගේ Nvidia ග්‍රැෆික් කාඩ් වගේ)

නමුත් මේ ක්‍රමයේ වාසි වැඩී.

මේ වර්ගේ NPU වල ප්‍රොසෙසින් බලය වැඩී.

NPU එක වෙනම තියන නිසා GPU එකට බාදාවක් නෑ.

මේ වෙනමම පිහිටන ස්නායුක ප්‍රොසෙසරය නිසා SoC එකේ Processing Unit 3ක් හැදෙනවා.

CPU   GPU   NPU

මේ Intergrated හා Dedicated කියන NPU වර්ග දෙක සසදන්න එච්චර අමාරු නෑ. ඒක නිකන් ඔන්බෝඩ් ග්‍රැෆික් හා ඩෙඩිකේටඩ් ග්‍රැෆික් සසඳනවා වගේ. (Intel HD Graphics vs Nvidia GTX1080Ti වගේ)

ප්‍රායෝගික උදාහරණය තමා,

A11 Bionic NPU එක 0.6Tflops
Kirin970 NPU එක 2Tflops

(Tflops කියන්නේ ප්‍රොසෙසින් බලය මනින ඒකකයක්. තප්පරයට කලහැකි ෆ්ලෝටින්ග් පොයින්ට් ප්‍රොසෙසින් ගාන)

මොනාද මේ NPU එකකින් කරන්න පුළුවන්?

NPU එක කියන්නේ නියුරෝන ජාලයක්නේ. ඉතින් බුද්ධිය සම්බන්ධ කටයුතු වලට මේක වැදගත්. උදාහරණය විදිහට Apple FaceID එක දක්වන්න පුළුවන්. ඕක සාමාන්‍ය CPU එකෙන් කලානම් ඔච්චර වේගෙන් ෆෝන් එක අන්ලොක් කරන්න බෑ. අඩුම තප්පර 10ක් වත් යාවි. නමුත් NPU එකෙන් මිලිතප්පර කීපෙකින් ඒක කරනවා.

ඒවගේම යම් චායාරූපයක තියන වස්තු හඳුනාගැනීමටත් මේවා වැදගත්.

Huawei Kirin970 එකේ NPU එකෙන් විනාඩියට චායාරූප 2005ක තියන දේවල් නිවරදිව හදුනාගන්න සමත් උනා. සාමාන්‍ය CPU එකෙන් කලාම උපරිම පුළුවන් විනාඩියට 97ක් විතරයි.
(A11 එකෙන් තාම මේක පුලුවන්ද කියලා පෙන්නුවේ නෑ)

අනිත් එක තමා කෘතීම බුද්ධි වැඩසටහන්. දැනට තියෙන ඔක්කොම, සිරි, ඇසිස්ටන්ට්, බික්ස්බි, කොටානා එහෙම ඔක්කොම Server Side එකෙන් වැඩකරන අය. මොකද එයාලට අවශ්‍ය ප්‍රොසෙසින් බලය සාමාන්‍ය SoC එකෙන් ගන්න බෑ. නමුත් NPU එකක් එක්ක ඒයාලට Cloud එකේ නොයිද ෆෝන් එකට වෙලා ඉන්න පුළුවන්.

Huawei එකෙන් මේක Advertise කලේ "I Can Processes Massive Amounts Of information In Real Time, Under Privacy" (මට තොරතුරු විශාල ප්‍රමාණයක් තත්‍යකාලීනව ඔබේ පෞද්ගලිකත්වය සුරකිමින් සැකසිය හැක).

ඒවගේම කැමරාවෙන් ගන්න ෆොටෝවල  ගුණාත්මක බව වැඩිකරන්නත් NPU එකට උදව් වෙන්න පුළුවන්. මොකද කැමරාවට පේන දේවල් මොනාද කියලා ක්ශනිකව අඳුරගෙන ඊට ගැලපෙන විදිහට කැමරාව සැකසීමටත් මෙයාට පුළුවන්. Huawei එකෙන් මේක කිව්වා. Apple එකෙන් මේක කිව්වෙ නැත්තත් එයාලත් අනිවාර්යයෙන් Camera එක Optimize කරන්න NPU එක පාවිච්චි කරන්න ඇති. කොහොම නමුත් NPU එකේ බලය එක්ක කරට කර යන්න Kirin970 එකේ ISP 2ක් තියෙනව.

කට්ටියට ප්‍රිස්මා මතක ඇතිනෙ?
ප්‍රිස්මා එකේ ෆොටො හැදුනේ නියුරල් නෙට් ක්‍රමේට. ඒකට සාමාන්‍යයෙන් අඩුම තප්පර 6ක් වත් ගියා. හැබැයි NPU එකත් එක්ක ඒ ඉෆෙක්ට්ස් කැමරාවෙන් Real Time පෙන්නන්න පුළුවන්.

ඔය වගේ විශාල ප්‍රමාණයේ වැඩ ගොඩක් ලේසියෙන් කරන්න NPU එක උදව් වෙනවා.

ඕන් දැන් අනිත් SoC කම්පැනි ටිකත් හෝ ගාලා NPU ගැන රිසර්ච් කරනව.........................

Comments

Popular posts from this blog

The Android (Software Part 3)

ඇයි යට උනේ?.......

Android vs IOS/Iphone