Tesla Dojo තාක්ෂණය
Tesla වින්යාසගත කළ හැකි Float8 (CFloat8) සහ Float16 (CFloat16) ආකෘති
වියුක්ත
ගැඹුරු ඉගෙනුම් ස්නායුක ජාල පුහුණුව සඳහා පරිගණක ක්රමලේඛන පරිසරයන්හි නව 8-bit සහ 16-bit ද්විමය පාවෙන ලක්ෂ්ය ගණිතය සඳහා මෙම ප්රමිතිය ටෙස්ලා අංක ගණිත ආකෘති සහ ක්රම නියම කරයි. මෙම ප්රමිතිය ව්යතිරේක කොන්දේසි සහ එහි තත්ව කොඩි ද නියම කරයි. මෙම ප්රමිතියට අනුරූප වන පාවෙන ලක්ෂ්ය පද්ධතියක් ක්රියාත්මක කිරීම සම්පූර්ණයෙන්ම මෘදුකාංග, සම්පූර්ණයෙන්ම දෘඪාංග හෝ මෘදුකාංග සහ දෘඪාංගවල ඕනෑම සංයෝජනයකින් සාක්ෂාත් කරගත හැකිය.
මූල පද
අංක ගණිතය, ද්විමය, පරිගණක, ගැඹුරු ඉගෙනීම, ස්නායු ජාල, පුහුණුව, ඝාතකය, පාවෙන ලක්ෂ්යය, ආකෘතිය, NaN, අනන්තය, අංකය, මැන්ටිස්ස, උපසාමාන්ය, සාමාන්ය, වින්යාසගත කළ හැකි ඝාතක නැඹුරුව, පරාසය, නිරවද්යතාවය, වටකුරු මාදිලිය, සසම්භාවී සංඛ්යා උත්පාදක, ස්ටෝචස්ටික් රවුම් කිරීම.
අභිප්රේරණය
754 දී ප්රකාශයට පත් කරන ලද මුල් IEEE 1985 ප්රමිතිය, පරිගණක පද්ධතිවල පාවෙන ලක්ෂ්ය අංක ගණිතය සඳහා නිශ්චිත ආකෘති සහ ක්රම - තනි (32-bit), ද්විත්ව (64-bit) නිරවද්යතාවයකින් යුත් සම්මත සහ දීර්ඝ ශ්රිත. සම්මත තනි සහ ද්විත්ව නිරවද්යතා ආකෘති පහත වගුවේ 1 දක්වා ඇත.
වගුව 1: IEEE 754 ප්රමිතියෙන් අර්ථ දක්වා ඇති පාවෙන ලක්ෂ්ය ආකෘති
ආකෘතිය | අත්සන් ටිකක්? | Mantissa bits ගණන | ඝාතන බිටු ගණන | ඝාතක නැඹුරු අගය |
තනි නිරවද්යතාවය (Float32) | ඔව් | 1 + 23 | 8 | 127 |
ද්විත්ව නිරවද්යතාවය (Float64) | ඔව් | 1 + 52 | 11 | 1023 |
ප්රමිතියේ අරමුණ වූයේ දෘඪාංග, මෘදුකාංග හෝ මේ දෙකේ එකතුවකින් සැකසීම සිදු කළත් එකම ප්රතිඵලයක් ලබා දෙන පාවෙන ලක්ෂ්ය සංඛ්යා සමඟ ගණනය කිරීම සඳහා ක්රමයක් සැපයීමයි.
ගණනය කිරීමේ ප්රතිඵල සමාන වනු ඇත, ක්රියාවට නැංවීමෙන් ස්වාධීන වනු ඇත, එකම ආදාන දත්ත ලබා දී ඇත. ක්රියාත්මක කිරීම නොතකා ගණිතමය සැකසුමෙහි දෝෂ සහ දෝෂ තත්ත්වයන් ස්ථාවර ආකාරයකින් වාර්තා කරනු ලැබේ.
ඉහත ආකෘති පරිගණක පද්ධතිවල දෘඪාංග සහ මෘදුකාංග යන දෙඅංශයෙන්ම විද්යාත්මක, සංඛ්යාත්මක සහ වෙනත් විවිධ පරිගණක සඳහා බහුලව භාවිතා කර ඇත. පසුව, 754 දී සංශෝධිත IEEE2008 ප්රමිතියට ද අර්ධ නිරවද්යතාවයක් (බිට් 16) ඇතුළත් විය, අංක ගණිත ක්රියාකාරකම් සඳහන් නොකර ගබඩා ආකෘතියක් ලෙස පමණි. කෙසේ වෙතත්, Nvidia සහ Microsoft විසින් 2002 මුල් භාගයේදී පවා Cg භාෂාවෙන් මෙම දත්ත වර්ගය නිර්වචනය කර, 2002 අගභාගයේදී නිකුත් කරන ලද GeForce FX හි සිලිකන් වලින් එය ක්රියාත්මක කරන ලදී.
IEEE අර්ධ නිරවද්යතා ආකෘතිය ගබඩා කිරීම සඳහා පමණක් නොව විවිධ පරිගණක පද්ධතිවල අංක ගණිත මෙහෙයුම් සිදු කිරීම සඳහා පවා භාවිතා කර ඇත, විශේෂයෙන් චිත්රක සහ යන්ත්ර ඉගෙනුම් යෙදුම් සඳහා. මෙම ආකෘතිය MATLAB, OpenEXR, JPEG XR, GIMP, OpenGL, Cg, Direct3D, සහ D3DX ඇතුළු පරිගණක චිත්රක පරිසරයන් කිහිපයක භාවිතා වේ.
ඇඩ්වාන්tagතනි නිරවද්යතාවයෙන් යුත් ද්විමය ආකෘතියෙන් එය අඩක් ගබඩා කිරීම සහ කලාප පළල (නිරවද්යතාවය සහ පරාසයේ වියදමින්) අවශ්ය වේ. පසුව, එවැනි යෙදුම්වල සැලකිය යුතු ලෙස වැඩි වූ මතක ගබඩාව සහ කලාප පළල අවශ්යතා හේතුවෙන්, විශේෂයෙන් පුහුණුව සඳහා, Nvidia AI ප්රොසෙසරවල යන්ත්ර ඉගෙනුම් පද්ධතිවල IEEE අර්ධ නිරවද්යතා ආකෘතිය අනුගමනය කරන ලදී.
වඩාත් මෑතක දී, Google හි කෘත්රිම බුද්ධි පර්යේෂණ කණ්ඩායමක් වන Google Brain, ඔවුන්ගේ යන්ත්ර ඉගෙනුම් පුහුණු පද්ධති සඳහා Brain Floating Point හෝ BFloat16 (16-bit) ආකෘතිය ඔවුන්ගේ TPU ගෘහ නිර්මාණ ශිල්පය තුළ සංවර්ධනය කරන ලදී.
BFloat16 ආකෘතිය Nervana NNP-L1000, Xeon ප්රොසෙසර (AVX-512 BF16 දිගු) සහ Intel FPGAs, Google Cloud TPUs සහ TensorFlow වැනි Intel AI ප්රොසෙසරවල භාවිතා වේ. ARMv8.6-A, AMD ROCm, සහ CUDA ද BFloat16 ආකෘතියට සහය දක්වයි. මෙම වේදිකාවලදී, BFloat16 මිශ්ර-නිරවද්ය අංක ගණිතය තුළද භාවිතා කළ හැක, එහිදී BFloat16 සංඛ්යා ක්රියාත්මක කර පුළුල් දත්ත වර්ග දක්වා පුළුල් කළ හැක, මන්ද එය Float32 ආකෘතියේ ගතික පරාසය රඳවා තබා ගනී. BFloat16 ආකෘතිය IEEE Float16 ආකෘතියෙන් Mantissa සහ ඝාතීය බිටු සඳහා ලබා දී ඇති බිටු ගණනින් වෙනස් වේ. මෙම ආකෘති දෙක පහත වගුව 2 දක්වා ඇත.
වගුව 2: IEEE 16-bit Floating Point සහ Brain 16-bit Floating Point ආකෘති
ආකෘතිය | අත්සන් ටිකක්? | Mantissa bits ගණන | ඝාතන බිටු ගණන | ඝාතක නැඹුරු අගය |
IEEE අර්ධ නිරවද්යතාවය (Float16) | ඔව් | 1 + 10 | 5 | 15 |
මොළයේ පාවෙන ලක්ෂ්යය (BFloat16) | ඔව් | 1 + 7 | 8 | 127 |
ගැඹුරු ඉගෙනුම් ස්නායුක ජාල වර්ධනය වන විට, මතක ගබඩාව සහ කලාප පළල පීඩනය, මතකයේ ඇති Float16 සහ BFloat16 ආචයනය සමඟ වුවද, බොහෝ පද්ධතිවල අභියෝග ඉදිරිපත් කරන අතර බාධක නිර්මාණය කරයි.
Tesla CFloat8 ආකෘති
ටෙස්ලා විසින් අඩු කරන ලද නිරවද්යතා සහය තවදුරටත් දීර්ඝ කළ අතර, පුහුණු කිරීම සඳහා අවශ්ය බර, සක්රීය කිරීම් සහ අනුක්රමණ අගයන් ගබඩා කිරීමේදී මතක ගබඩාව සහ කලාප පළල මත ඇති දැවැන්ත පීඩනය තවදුරටත් අඩු කිරීම සඳහා 8-bit පාවෙන ලක්ෂ්ය ආකෘතියක් වන Configurable Float8 (CFloat8) හඳුන්වා දෙන ලදී. වැඩි වැඩියෙන් විශාල ජාල. IEEE 754R ප්රමිතිය මෙන් නොව, මෙම ප්රමිතියේ පරමාර්ථය බොහෝ දුරට ආකෘති ප්රමිතිකරණය කිරීම වන අතර සියලුම වේදිකා හරහා සමාන සංඛ්යාත්මක ප්රතිඵල සහතික කිරීම සඳහා කේතයේ අතේ ගෙන යා හැකි බව සැපයීම අවශ්ය නොවේ.
ඉහත විස්තර කර ඇති IEEE Float16 සහ Bfloat16 ආකෘති වලට mantissa සහ ඝාතක ක්ෂේත්ර සඳහා වෙන් කර ඇති ස්ථාවර බිටු සංඛ්යාවක් ඇති අතර ස්ථාවර ඝාතක නැඹුරුවක් ඇත. කෙසේ වෙතත්, බිටු අටකට මැන්ටිසා සහ ඝාතීය බිටු කුඩා සංඛ්යාවක් පමණක් ඇතුළත් කළ හැකිය, එබැවින් පුහුණු ආකෘතිවල ඉහළ නිරවද්යතාවය සහ අභිසාරී බව සහතික කිරීම සඳහා යම් වින්යාස කිරීමේ හැකියාවක් අවශ්ය වේ.
මෙම වින්යාස කිරීමේ හැකියාව සක්රීය කරන එක් ප්රධාන දේපලක් නම්, විවිධ පරාමිති, එනම් බර, ශ්රේණි සහ සක්රීය කිරීම්, ඉහළ පුහුණු නිරවද්යතාවයක් සහ අභිසාරීතාවයක් ලබා ගැනීම සඳහා විවිධ නිරවද්යතා සහ ගතික පරාසයක අවශ්යතා තිබීමයි. වින්යාස කිරීමේ හැකියාව මඟින් නිරූපණය වන පරාමිතිය මත පදනම්ව ඝාතක සහ මැන්ටිසා බිටු සංඛ්යාවේ විවිධ වෙන් කිරීම් සක්රීය කරයි. එපමනක් නොව, මෙම පරාමිති පරාසයේ සංඛ්යාත්මක පරාසය ද බෙහෙවින් වෙනස් ය. බර සහ අනුක්රමණය සාමාන්යයෙන් සක්රිය කිරීම්වලට සාපේක්ෂව ඉතා කුඩා සංඛ්යාත්මක අගයන් ඇත. ඝාතීය බිටු සංඛ්යාව වැඩි කිරීම වෙනුවට වින්යාස කළ හැකි නැඹුරුවක් භාවිතා කර විවිධ පරාමිතිවල ගතික පරාස අවශ්යතා සපුරාලීමට අවසාන ගුණාංගය ඉඩ දෙයි.
ඝාතීය අගයන් පරාසය පුහුණු ජාලයක් ක්රියාත්මක කිරීමේදී අවකාශයේ සහ කාලයෙහි ප්රාදේශීයත්වයේ මූලධර්මය අනුගමනය කරන අතර නිතර වෙනස් නොවේ. මේ අනුව, ඕනෑම ක්රියාත්මක කිරීමේ පියවරකදී එවැනි ඝාතීය පක්ෂග්රාහී කුඩා සංඛ්යාවක් පමණක් භාවිතා වන අතර, පුහුණුව අතරතුර සුදුසු පක්ෂග්රාහී අගයන් ඉගෙන ගත හැකිය.
සම්පුර්ණයෙන්ම වින්යාසගත කළ හැකි නැඹුරුව සහිත CFloat8 ආකෘති දෙක පහත වගුවේ 3 දක්වා ඇත.
වගුව 3: ටෙස්ලා වින්යාසගත කළ හැකි 8-bit Floating Point ආකෘති
ආකෘතිය | අත්සන් ටිකක්? | Mantissa bits ගණන | ඝාතන බිටු ගණන | ඝාතක නැඹුරු අගය |
CFloat8_1_4_3 | ඔව් | 1 + 3 | 4 | අත්සන් නොකළ 6-bit පූර්ණ සංඛ්යාව |
CFloat8_1_5_2 | ඔව් | 1 + 2 | 5 | අත්සන් නොකළ 6-bit පූර්ණ සංඛ්යාව |
සාමාන්යකරණය කළ සංඛ්යා, උපසාමාන්ය (සාමාන්ය) අංක සහ ශුන්ය CFloat8_1_4_3 සහ CFloat8_1_5_2 ආකෘති දෙකෙහිම සහය දක්වයි. නියෝජන කළ හැකි ඝාතීය අගයන් සීමිත සංඛ්යාවක් හේතුවෙන්, Infinity සහ NaN කේතීකරණ සඳහා සහය නොදක්වයි. එබැවින්, උපරිම ඝාතීය අගය NaN සහ Infinity කේතනය කිරීම සඳහා වෙන් කර නොමැති අතර සාමාන්යකරණය වූ පාවෙන ලක්ෂ්ය සංඛ්යා නියෝජනය කිරීමට පමණක් භාවිතා කරයි. ඕනෑම අනන්තයක් හෝ NaN ක්රියාවක්, හෝ අංක ගණිත මෙහෙයුමක පිටාර ගැලීමක් clamp මෙම එක් එක් ආකෘතියේ උපරිම නියෝජනය කළ හැකි සංඛ්යාවට ප්රතිඵලය.
ශුන්යයේ සංඛ්යාත්මක අගය සියලු ශුන්ය ඝාතක සහ සියලුම ශුන්ය Mantissa සහිත කේතීකරණයකින් නිරූපණය කෙරේ. සියලුම ශුන්ය ඝාතක සහ ශුන්ය නොවන Mantissa සහිත කේතීකරණ සාමාන්ය සංඛ්යා නියෝජනය කරයි.
සාමාන්යකරණය වූ පාවෙන ලක්ෂ්ය අංකයක සංඛ්යාත්මක අගය (−1) ලකුණ × 2 ඝාතීය - නැඹුරුව × 1.මන්තිස්ස වන අතර සාමාන්ය පාවෙන ලක්ෂ්ය අංකයක සංඛ්යාත්මක අගය (-1) ලකුණ × 2− bias × 0.mantissa වේ.
වින්යාසගත කළ හැකි ඝාතීය නැඹුරුව අවම හැකි අගයට (0000002 = 0) සකසා ඇති අතර, සාමාන්යකරණය කළ CFloat_1_4_3 ආකෘතියෙන් නිරූපණය කළ හැකි සංඛ්යාත්මක අගයන් පහත දැක්වේ.
Emin = 00012 - 0000002 = 1; Emax = 11112 - 0000002 = 15
මෙලෙස නියෝජනය වන සංඛ්යාත්මක අගයන් පරාසය +/- [1.0002 x 21, 1.1112 x 215] වේ.
ඒ හා සමානව, ඝාතීය නැඹුරුව උපරිම හැකි අගයට (1111112 = 63) සකසා ඇත.
Emin = 00012 - 1111112 = -62; Emax = 11112 - 1111112 = -48
මෙලෙස නියෝජනය කරන සංඛ්යාත්මක අගයන් පරාසය +/- [1.0002 x 2-62, 1.1112 x 2-48] වේ.
CFloat8_1_4_3 ආකෘතියේ සාමාන්යකරණය කරන ලද පාවෙන ලක්ෂ්ය සංඛ්යා සඳහා, 0, 1, 2, 3,..., 62, 63 හි ඝාතීය නැඹුරු අගයන් සඳහා සංඛ්යාත්මක අගයන් පහත වගුව 4 හි පෙන්වා ඇත. සම්පූර්ණ ඝාතක පරාසය [-62, 15] මෙම ආකෘතිය මගින් ඝාතීය නැඹුරුව සුදුසු ලෙස නැවත වින්යාස කිරීමෙන් ව්යාප්ත කළ හැක. ස්ථාවර නැඹුරුවක් සහිත 4-බිට් ඝාතකයක් සහිත ඝාතක පරාසය අඛණ්ඩ ඝාතීය අගයන් 15ක් පමණක් විහිදෙන බව කරුණාවෙන් සලකන්න. උදාහරණයක් ලෙසample, bias = 31 සඳහා, ඝාතීය පරාසය [-30, -16] පමණක් විහිදිය හැක.
වගුව 4: විවිධ ඝාතීය නැඹුරු අගයන් සඳහා CFloat8_1_4_3 ආකෘතියෙන් සාමාන්යකරණය කළ පාවෙන ලක්ෂ්ය සංඛ්යාවල සංඛ්යාත්මක අගයන් පරාසය
ඝාතක නැඹුරුව | සංඛ්යාත්මක අගයන් පරාසය |
0 | +/-[1.000 x 21, 1.111 x 215] |
1 | +/-[1.000 x 20, 1.111 x 214] |
2 | +/-[1.000 x 2-1, 1.111 x 213] |
3 | +/-[1.000 x 2-2, 1.111 x 212] |
… | |
31 | +/-[1.000 x 2-30, 1.111 x 2-16] |
… | |
60 | +/-[1.000 x 2-59, 1.111 x 2-45] |
61 | +/-[1.000 x 2-60, 1.111 x 2-46] |
62 | +/-[1.000 x 2-61, 1.111 x 2-47] |
63 | +/-[1.000 x 2-62, 1.111 x 2-48] |
ඒ හා සමානව, CFloat8_1_5_2 ආකෘතියේ සාමාන්යකරණය වූ පාවෙන ලක්ෂ්ය සංඛ්යා සඳහා, 0, 1, 2, 3,..., 62, 63 හි ඝාතීය නැඹුරු අගයන් සඳහා සංඛ්යාත්මක අගයන් පහත වගුවේ 5 දක්වා ඇත. මේ අනුව, ඝාතක නැඹුරුව සුදුසු පරිදි නැවත සකස් කිරීමෙන් සම්පූර්ණ ඝාතීය පරාසය [-62, 31] මෙම ආකෘතියෙන් විහිදේ. ස්ථාවර නැඹුරුවක් සහිත 5-බිට් ඝාතකයක් සහිත ඝාතක පරාසය අඛණ්ඩ ඝාතීය අගයන් 31ක් පමණක් විහිදෙන බව කරුණාවෙන් සලකන්න. උදාහරණයක් ලෙසample, bias = 31 සඳහා, ඝාතීය පරාසය [-30, 0] පමණක් විහිදිය හැක.
වගුව 5: විවිධ ඝාතීය නැඹුරු අගයන් සඳහා CFloat8_1_5_2 ආකෘතියෙන් සාමාන්යකරණය කළ පාවෙන ලක්ෂ්ය සංඛ්යාවල සංඛ්යාත්මක අගයන් පරාසය
ඝාතක නැඹුරුව | සංඛ්යාත්මක අගයන් පරාසය |
0 | +/-[1.00 x 21, 1.11 x 231] |
1 | +/-[1.00 x 20, 1.11 x 230] |
2 | +/-[1.00 x 2-1, 1.11 x 229] |
3 | +/-[1.00 x 2-2, 1.11 x 228] |
… | |
31 | +/-[1.00 x 2-30, 1.11 x 20] |
… | |
60 | +/-[1.00 x 2-59, 1.11 x 2-29] |
61 | +/-[1.00 x 2-60, 1.11 x 2-30] |
62 | +/-[1.00 x 2-61, 1.11 x 2-31] |
63 | +/-[1.00 x 2-62, 1.11 x 2-32] |
CFloat8_1_4_3 ආකෘතියෙන්, ඝාතකයක් = 00002 සහ Mantissa = 0002 ශුන්යයේ සංඛ්යාත්මක අගය නියෝජනය කරන අතර, ඝාතය = 00002 සහ Mantissa = 0012, 0102, 0112, 1002, 1012, සහ 1102, සාමාන්ය සංඛ්යාව නියෝජනය කරයි. අනුරූප සංඛ්යාත්මක අගයන් වන්නේ +/- {1112, 0.0012, 0.0102, 0.0112, 0.1002, 0.1012, 0.1102} x 0.1112-බයස්, මෙහිදී bias යනු 2, 6_0 සිට C_63 සිට 8 සිට_1 දක්වා වූ 5, 2_000002 දක්වා වූ 002-bit ඝාතීය නැඹුරුවයි. ඝාතකය = 000002 සහ Mantissa = 012 ශුන්යයේ සංඛ්යාත්මක අගය නියෝජනය කරන අතර, ඝාතය = 102 සහ Mantissa = 112, 0.012, සහ 0.102 සාමාන්ය සංඛ්යා නියෝජනය කරයි. අනුරූප සංඛ්යාත්මක අගයන් පිළිවෙලින් +/- {0.112, 2, 6} x 0-බයස් වේ, මෙහිදී bias යනු 63 සිට XNUMX දක්වා වූ XNUMX-bit ඝාතීය නැඹුරුවයි.
CFloat8_1_4_3 සහ CFloat8_1_5_2 ආකෘති දෙකෙහිම සාමාන්ය හැසිරවීම සමඟ ක්රමානුකූලව යටින් ගලා යාම සඳහා සහය දක්වයි. මෙම ආකෘති වලට සීමිත ඝාතීය පරාසයක් ඇති අතර, සාමාන්ය සංඛ්යා සහාය නිරූපණය කළ හැකි සංඛ්යාත්මක පරාසය වැඩි කිරීමට උපකාරී වේ. ගැඹුරු ඉගෙනුම් ස්නායුක ජාල වල පරාමිති සමහර [-N,N තුළ සාමාන්යකරණය වී ඇති බැවින්, විශාල සංඛ්යාත්මක අගයන්හි වියදමින් කුඩා සංඛ්යාත්මක අගයන් මත නිරූපනය කළ හැකි අගයන් පරාසය වැඩි කිරීමට අත්සන් නොකළ පූර්ණ සංඛ්යාවක් ලෙස 6-bit bias තෝරා ගනු ලැබේ. ] N යනු නිඛිලයක් වන තැන බන්ධනය වන අතර එමඟින් ඉතා කුඩා සංඛ්යාත්මක අගයන් විහිදේ.
අංක ගණිත මෙහෙයුම්
ගබඩා ආකෘතියක් ලෙස පමණක් භාවිතා කරන විට, CFLoat8 ආකෘති දෙක, CFloat8_1_4_3 සහ CFloat8_1_5_2, BFloat16 සහ IEEE Float32 ආකෘති වෙත සහ ඉන් පිටත මෙහෙයුම් සඳහා සහය දක්වයි. BFloat16 සහ IEEE Float32 ආකෘතිවලින් CFLoat8 ආකෘති දෙකට පරිවර්තනය කිරීමට වටකුරු ආකාර දෙකක් සහාය විය යුතුය - වටයේ සිට ළඟම සහ ස්ටෝචස්ටික් රවුම් කිරීම. සසම්භාවී සංඛ්යා උත්පාදකයක් (RNG) සමඟ ස්ටෝචස්ටික් රවුම් කිරීම ක්රියාත්මක වේ. RNG හි එකම බීජය භාවිතා කරන විට ස්ටෝචස්ටික් රවුම් කිරීම සමඟ සිදු කරන ලද අංක ගණිතය අනුකූල විය යුතුය. ස්ටෝචස්ටික් රවුම් කිරීම ඒකාකාර සසම්භාවී සංඛ්යා උත්පාදක යන්ත්රයක් සමඟ සම්භාවිතා වටකුරු කිරීම සක්රීය කරන අතර පුහුණුවේ පසු ප්රචාරණය අතරතුර ස්ටෝචස්ටික් අනුක්රමය බැසීම් (SGD) ගණනය කිරීම වැනි සංඛ්යාන පරාමිති යාවත්කාලීන කිරීම් සක්රීය කරයි. ඉතා කුඩා අගයන් විශාල අගයන් තුලට එකතු වී ඇති අතර, IEEE වටකුරු මාදිලි සමඟ එවැනි යාවත්කාලීන කිරීම් සිදු නොවේ. විධිමත් කිරීම වැලැක්වීම සඳහා අහඹු ශබ්දය එකතු කිරීම සඳහා විවිධ පුහුණු ගණනය කිරීම්වලදී ස්ටෝචස්ටික් රවුම් කිරීම ද ප්රයෝජනවත් වේ.
CFloat8 ආකෘති සැපයිය යුතු අංක ගණිත මෙහෙයුම් ක්රියාත්මක කිරීම මත රඳා පවතී. සාමාන්යයෙන්, CFloat8 ආකෘති මිශ්ර නිරවද්යතා අංක ගණිතයේ භාවිතා වේ, එහිදී මතකයේ CFloat8 ආකෘතියෙන් ගබඩා කර ඇති ඔපෙරන්ඩ් ක්රියාත්මක කර Float32 වැනි පුළුල් දත්ත වර්ග දක්වා ව්යාප්ත කළ හැක.
Tesla CFloat16 ආකෘති
පහත දැක්වෙන පරිදි 16-බිට් පාවෙන ලක්ෂ්ය අංක සඳහා වෙනත් ආකෘති දෙකක් ද නියම කර ඇත, අත්සන් කළ අර්ධ නිරවද්යතාවය (SHP) සහ අත්සන් නොකළ අර්ධ නිරවද්යතාවය (UHP). CFloat8 ආකෘතිවල නිරවද්යතාවය පුහුණු ජාලවල අභිසාරී බව සහතික කිරීමට නොහැකි තරම් කුඩා වන අවස්ථා වලදී, ශ්රේණි වැනි පරාමිති ගබඩා කිරීමට මෙම ආකෘති භාවිතා වේ. BFloat16 සහ Float16 ආකෘති දෙකම ප්රමාණකරණය සඳහා යම් සීමාවන් ඇත. BFloat16 ආකෘතියට ප්රමාණවත් පරාසයක් ඇත, නමුත් FP32 ආකෘතියෙන් ගබඩා කිරීම අවශ්ය වන ශ්රේණි වැනි බොහෝ පරාමිති ප්රමාණ කිරීමට නිරවද්යතාවය ඉතා සීමිතය. Float16 ආකෘතියට වඩා නිරවද්යතාවයක් ඇත, නමුත් බොහෝ අවස්ථාවලදී ප්රමාණ කිරීමට පරාසය කුඩා වන අතර FP32 ආකෘතියෙන් ගබඩා කිරීමද අවශ්ය වේ. SHP සහ UHP ආකෘති Float16 ආකෘතියේ නිරවද්යතාවය පිරිනමන අතර Float16 ආකෘතියේ පරාසය වින්යාස කළ හැකි නැඹුරුව සමඟ සැලකිය යුතු ලෙස වැඩි කරයි. SHP සහ UHP ආකෘති බොහෝ අවස්ථාවලදී FP32 ආකෘතියෙන් ගබඩා කිරීමේ අවශ්යතාවය මඟහරියි, මතක ගබඩා පීඩනය අඩු කර මතක කලාප පළල තවදුරටත් වැඩි දියුණු කරයි. SHP සහ UHP ආකෘති පහත වගුව 6 හි දක්වා ඇත.
වගුව 6: ටෙස්ලා වින්යාසගත කළ හැකි 16-bit Floating Point ආකෘති
ආකෘතිය | අත්සන් ටිකක්? | Mantissa bits ගණන | ඝාතන බිටු ගණන | ඝාතක නැඹුරු අගය |
අත්සන් කළ අර්ධ නිරවද්යතාවය (SHP) | ඔව් | 1 + 10 | 5 | අත්සන් නොකළ 6-bit පූර්ණ සංඛ්යාව |
අත්සන් නොකළ අර්ධ නිරවද්යතාව (UHP) | නැත | 1 + 10 | 6 | 31 |
සාමාන්යකරණය කළ සංඛ්යා, උපසාමාන්ය සංඛ්යා (සාමාන්ය) සහ ශුන්ය SHP ආකෘතියෙන් සහය දක්වයි. Infinity සහ NaN කේතීකරණ සඳහා සහය නොදක්වන අතර, කිසියම් පිටාර ගැලීමක් හෝ අංක ගණිත ක්රියාවක් අතරතුර Infinity හෝ NaN ක්රියාවක් clamp ගමනාන්ත SHP ආකෘතියේ උපරිම නියෝජනය කළ හැකි අංකයට ප්රතිඵලය. ඝාතන කුඩා සංඛ්යාවක් පමණක් නිරූපණය කළ හැකි බැවින් SHP ආකෘතියෙන් Infinity සහ NaN සහාය නොදක්වයි. එබැවින්, උපරිම ඝාතීය අගය NaN සහ Infinity කේතීකරණ සඳහා වෙන් කර නොමැති අතර සාමාන්යකරණය වූ පාවෙන ලක්ෂ්ය සංඛ්යා නියෝජනය කිරීමට පමණක් භාවිතා කරයි.
සාමාන්යකරණය කළ අංක සහ බිංදු UHP ආකෘතියෙන් සහය දක්වයි. අසාමාන්ය කේතීකරණ සඳහා සහය දක්වන නමුත් සාමාන්ය ක්රියාදාමයන් සහ ප්රතිඵල ශුන්යයට ගලා යයි. Infinity සහ NaN කේතීකරණ UHP ආකෘතියෙන් ද සහාය දක්වනු ලබන්නේ SHP ආකෘතියට වඩා වැඩි ඝාතීය බිටු ඇති බැවින් මෙම දෙක උපරිම ඝාතීය අගය සමඟ කේතනය කිරීමට ඉඩ සලසයි. අනන්තය සියලුම ඝාතක සහ සියලුම ශුන්ය Mantissa ලෙස සංකේතනය කර ඇති අතර NaNs ඝාතීය සහ ශුන්ය නොවන Mantissa සියල්ල සමඟ සංකේතනය කර ඇත. UHP ආකෘතියෙන් ගමනාන්තය සහිත ඕනෑම අංක ගණිත මෙහෙයුමක් සඳහා NaN ප්රචාරණය සහ අනන්ත ප්රතිඵල උත්පාදනය IEEE 754R ප්රමිතියේ පිරිවිතරයන් අනුගමනය කරයි. UHP ආකෘතියෙන්, Infinity Exponent =1111112 සහ Mantissa = 00000000002 ලෙස කේතනය කර ඇති අතර NaN Exponent = 1111112 ලෙසත් Mantissa ≠ 00000000002 ලෙසත් කේතනය කර ඇත. = 1111112 සහ Mantissa = 10000000002.
ගබඩා ආකෘතියක් ලෙස භාවිතා කරන විට, SHP සහ UHP ආකෘති Float32 ආකෘතියට සහ ඉන් පිටත මෙහෙයුම් සඳහා සහය දක්වයි. IEEE Float32 ආකෘතිවල සිට SHP සහ UHP ආකෘති වෙත පරිවර්තනය කිරීම සඳහා වටකුරු ආකාර දෙකක් සහාය විය යුතුය - වටයේ සිට ළඟම සහ ස්ටෝචස්ටික් රවුම් කිරීම. SHP සහ UHP ආකෘති සැපයිය යුතු අංක ගණිත මෙහෙයුම් ක්රියාත්මක කිරීම මත රඳා පවතී. සාමාන්යයෙන්, මෙම ආකෘති මිශ්ර-නිරවද්ය අංක ගණිතයේ භාවිතා වේ, එහිදී මතකයේ SHP හෝ UHP ආකෘතියෙන් ගබඩා කර ඇති ඔපෙරන්ඩ් ක්රියාත්මක කර Float32 වැනි පුළුල් දත්ත වර්ග දක්වා ව්යාප්ත කළ හැක.
ව්යතිරේක තත්ව කොඩි
CFloat8, SHP, සහ UHP මෙහෙයුම් සහ ප්රතිඵල සමඟ මෙහෙයුම් වලදී පහත ව්යතිරේක තත්ව ධජ සඳහා සහය දක්වයි: වලංගු නොවන, සාමාන්ය, පිටාර ගැලීම සහ යටින් ගලා යාම. IEEE 754R ප්රමිතියෙන් නිශ්චිතව දක්වා ඇති පරිදි ඕනෑම NaN ඔපරෙන්ඩ් එකක් හෝ ප්රයෝජනවත් නිර්වචනය කළ නොහැකි ප්රතිඵලයක් සහිත අංක ගණිත ක්රියාවක් අවලංගු ව්යතිරේක ධජය සකසනු ලබන අතර, ඕනෑම අසාමාන්ය ක්රියාවක් සහිත ගණිත මෙහෙයුමක් සාමාන්ය ව්යතිරේක ධජය සකසනු ඇත. CFloat8, SHP, සහ UHP ගමනාන්තය සමඟ පිටාර ගැලීම හෝ යටින් ගලා යන ඕනෑම අංක ගණිත ක්රියාවක්, පිළිවෙලින් පිටාර ගැලීම සහ යටින් යන ව්යතිරේක ධජ සකසයි. ව්යතිරේක ධජ සැකසීමට ප්රතිචාරය ක්රියාත්මක කිරීම මත රඳා පවතී.
ලේඛන / සම්පත්
TESLA Tesla Dojo තාක්ෂණය [pdf] පරිශීලක මාර්ගෝපදේශය ටෙස්ලා, ඩෝජෝ, තාක්ෂණය, වින්යාසගත කළ හැකි, පාවෙන, ලක්ෂ්ය ආකෘති, අංක ගණිතය |