** දෘඪාංග-මෘදුකාංග සම-නිර්මාණය හරහා Edge උපාංග මත කාර්යක්ෂම AI මාදිලිය යෙදවීම**
හැඳින්වීම
කෘත්රිම බුද්ධි (AI) යෙදුම් තත්ය කාලීනව යෙදවීමට නව අවස්ථා නිර්මාණය කර ඇති අතර, ස්මාර්ට් නිවාස, ස්වයංක්රීය වාහන සහ කාර්මික ස්වයංක්රීයකරණය වැනි යෙදුම් සක්රීය කරයි. කෙසේ වෙතත්, එජ් උපාංගවල සීමිත ගණනය කිරීමේ සම්පත් සහ බල සීමාවන් AI ආකෘති යෙදවීම සඳහා සැලකිය යුතු අභියෝග මතු කරයි. මෙම ලිපියෙන්, අපි AI මාදිලියේ කාර්යක්ෂමතාව සහ දෘඪාංග-මෘදුකාංග සම-නිර්මාණ ශිල්පීය ක්රමවල මෑත කාලීන දියුණුව ප්රයෝජනයට ගනිමින්, උපාංග ක්රියාකාරිත්වය ප්රශස්ත කිරීම සඳහා AI, මෘදුකාංග ඉංජිනේරු විද්යාව සහ ගෘහ නිර්මාණ ශිල්පයේ මංසන්ධිය ගවේෂණය කරන්නෙමු.
Edge උපාංග මත AI මාදිලිය යෙදවීමේ අභියෝග
Edge උපාංග CPU, මතකය සහ බලශක්ති පරිභෝජනය ඇතුළුව ඒවායේ සීමිත පරිගණක සම්පත් මගින් සංලක්ෂිත වේ. වලාකුළු මත පදනම් වූ යෙදවීම සඳහා බොහෝ විට නිර්මාණය කර ඇති සම්ප්රදායික AI මාදිලි, එජ් උපාංග සඳහා ප්රශස්ත නොවේ. ප්රතිඵලයක් වශයෙන්, ඒවාට හේතු විය හැක:
- කාර්ය සාධනය පිරිහීම: AI මාදිලි එජ් උපාංග මත කාර්යක්ෂමව ක්රියා නොකරනු ඇත, මන්දගාමී ප්රතිචාර කාලය සහ අඩු නිරවද්යතාවයට හේතු වේ.
- බල පරිභෝජනය: AI මාදිලිවලට සැලකිය යුතු බලයක් පරිභෝජනය කළ හැකි අතර, එය බැටරි බලයෙන් ක්රියාත්මක වන එජ් උපාංග සඳහා සැලකිලිමත් විය හැක.
- මතක සීමාවන්: AI මාදිලිවලට විශාල මතක ප්රමාණයක් අවශ්ය විය හැකි අතර, එය සීමිත මතක සම්පත් සහිත එජ් උපාංග සඳහා අභියෝගයක් විය හැක.
දෘඪාංග-මෘදුකාංග සම-නිර්මාණ ශිල්පීය ක්රම
මෙම අභියෝගවලට මුහුණ දීම සඳහා දෘඪාංග-මෘදුකාංග සම-නිර්මාණ ශිල්පීය ක්රම හොඳ විසඳුමක් ලෙස මතු වී ඇත. මෙම ශිල්පීය ක්රමවලට අද්දර උපාංගයක දෘඪාංග සහ මෘදුකාංග සංරචක දෙකම එකට එක්ව සැලසුම් කිරීම, AI ආකෘති යෙදවීම සඳහා ඒවා ප්රශස්ත කිරීම ඇතුළත් වේ.
1. ආදර්ශ කප්පාදුව
ආකෘති කප්පාදු කිරීම AI ආකෘතියකින් අනවශ්ය බර සහ සම්බන්ධතා ඉවත් කිරීම, එහි ප්රමාණය සහ ගණනය කිරීමේ අවශ්යතා අඩු කිරීම ඇතුළත් වේ. මෙම තාක්ෂණය ස්නායුක ජාල සහ තීරණ ගස් යන දෙකටම යෙදිය හැක.
පන්දම ආනයනය කරන්න
nn ලෙස torch.nn ආනයනය කරන්න
පන්තියේ ආදර්ශ කප්පාදුව(nn.Module):
def __init__(ස්වයං):
සුපිරි(ආදර්ශ කප්පාදුව, ස්වයං).__init__()
self.fc1 = nn.Linear(784, 128)
self.fc2 = nn.Linear(128, 10)
ඉදිරියට යන්න (ස්වයං, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
ආපසු x
ආකෘතිය = ModelPruning()
pruned_model = torch.nn.utils.prune_l1_unstructured(ආකෘතිය, 'බර', 0.1)
2. දැනුම ආසවනය
දැනුම ආසවනය යනු විශාල, සංකීර්ණ AI ආකෘතියක සිට කුඩා, සරල එකකට දැනුම මාරු කිරීමයි. AI ආකෘතියක ප්රමාණය සහ ගණනය කිරීමේ අවශ්යතා අඩු කිරීමට මෙම තාක්ෂණය භාවිතා කළ හැක.
පන්දම ආනයනය කරන්න
nn ලෙස torch.nn ආනයනය කරන්න
පන්තියේ දැනුම ආසවනය(nn.Module):
def __init__(ස්වයං):
සුපිරි (දැනුම ආසවනය, ස්වයං).__init__()
self.fc1 = nn.Linear(784, 128)
self.fc2 = nn.Linear(128, 10)
ඉදිරියට යන්න (ස්වයං, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
ආපසු x
teacher_model = ModelPruning()
student_model = දැනුම ආසවනය()
3. ප්රමාණකරණය
ප්රමාණකරණයට AI මාදිලියේ බර සහ සක්රීය කිරීම් වල නිරවද්යතාවය අඩු කිරීම, AI ආකෘතියක පරිගණක අවශ්යතා අඩු කිරීම ඇතුළත් වේ.
පන්දම ආනයනය කරන්න
nn ලෙස torch.nn ආනයනය කරන්න
පන්තියේ ප්රමාණකරණය(nn.Module):
def __init__(ස්වයං):
super(Quantization, self).__init__()
self.fc1 = nn.Linear(784, 128)
self.fc2 = nn.Linear(128, 10)
ඉදිරියට යන්න (ස්වයං, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
ආපසු x
ආකෘතිය = ModelPruning()
quantized_model = torch.quantization.quantize_dynamic(ආකෘතිය, {torch.nn.Linear}, dtype=torch.qint8)
ඉහළම 5-10 වැඩිපුරම භාවිතා කරන ලද විධාන/Snippets
| විධානය/ ස්නිපට් | විස්තරය |
|---|---|
torch.nn.utils.prune_l1_unstructured(ආකෘතිය, 'බර', 0.1) |
L1 විධිමත් කිරීම භාවිතා කරමින් ආදර්ශ කප්පාදු කිරීම |
torch.quantization.quantize_dynamic(ආකෘතිය, {torch.nn.Linear}, dtype=torch.qint8) |
ගතික ප්රමාණකරණය භාවිතා කරමින් ප්රමාණකරණය |
torch.nn.utils.kldistance(ගුරු_ආදර්ශය, ශිෂ්ය_ආකෘතිය) |
KL අපසරනය භාවිතයෙන් දැනුම ආසවනය |
torch.nn.utils.weight_norm(model.fc1) |
බර සම්මතය භාවිතයෙන් බර සාමාන්යකරණය |
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) |
ක්ලිප් ශ්රේණියේ සම්මතය භාවිතා කරමින් අනුක්රමික ක්ලිපිං |
torch.nn.utils.clip_grad_value_(model.parameters(), 1.0) |
ක්ලිප් ශ්රේණියේ අගය භාවිතා කරමින් ශ්රේණිගත කිරීම |
torch.nn.utils.remove_weight_norm(model.fc1) |
බර ඉවත් කිරීමේ සම්මතය භාවිතයෙන් බර සාමාන්යකරණය ඉවත් කිරීම |
torch.nn.utils.fuse_conv_bn_eval(model.fc1) |
ෆියුස් conv bn eval |
torch.nn.utils.fuse_bn_eval(model.fc2) |
ෆියුස් bn eval භාවිතා කරමින් කාණ්ඩ සාමාන්යකරණය විලයන |
torch.nn.utils.fuse_bn_eval(model.fc1) |
ෆියුස් bn eval භාවිතා කරමින් කාණ්ඩ සාමාන්යකරණය විලයන |
දෘෂ්යකරණය
{
"වර්ගය": "බාර්",
"දත්ත": {
"ලේබල්": ["ආදර්ශ කප්පාදුව", "දැනුම ආසවනය", "ප්රමාණකරණය"],
"දත්ත කට්ටල": {
"ලේබලය": "නිරවද්යතාව",
"දත්ත": [0.9, 0.85, 0.8]
}
},
"විකල්ප": {
"මාතෘකාව": {
"දර්ශණය": ඇත්ත,
"පෙළ": "නිරවද්යතාව සංසන්දනය"
},
"පුරාවෘත්තය": {
"දර්ශණය": ඇත්ත
}
}
}
නිගමනය
එජ් උපාංග මත කාර්යක්ෂම AI ආකෘති යෙදවීම සඳහා දෘඩාංග සහ මෘදුකාංග සම-නිර්මාණ ශිල්පීය ක්රමවල එකතුවක් අවශ්ය වේ. ආකෘති කප්පාදුව, දැනුම ආසවනය සහ ප්රමාණකරණය යනු AI මාදිලිවල ප්රමාණය සහ ගණනය කිරීමේ අවශ්යතා අඩු කිරීමට භාවිතා කළ හැකි තාක්ෂණික ක්රම කිහිපයකි. මෙම ශිල්පීය ක්රම උපයෝගී කර ගැනීමෙන්, සංවර්ධකයන්ට ස්මාර්ට් නිවාස, ස්වයංක්රීය වාහන සහ කාර්මික ස්වයංක්රීයකරණය වැනි තත්ය කාලීන යෙදුම් සක්රීය කරමින්, දාර උපාංග සඳහා ප්රශස්ත කරන ලද AI ආකෘති නිර්මාණය කළ හැකිය.
අනාගත වැඩ
මෙම ප්රදේශයේ අනාගත වැඩවලට ඇතුළත් වන්නේ:
- නව දෘඪාංග-මෘදුකාංග සම-නිර්මාණ ශිල්පීය ක්රම සංවර්ධනය කිරීම: පර්යේෂකයන්ට සහ සංවර්ධකයින්ට දාර උපාංග සඳහා AI ආකෘති ප්රශස්ත කිරීම සඳහා නව තාක්ෂණික ක්රම ගවේෂණය කළ හැකිය.
- ආදර්ශ කප්පාදුව සහ දැනුම ආසවනය කිරීමේ ඇල්ගොරිතම වැඩිදියුණු කිරීම: ආකෘති කප්පාදුව සහ දැනුම ආසවනය සඳහා වඩාත් කාර්යක්ෂම ඇල්ගොරිතම සංවර්ධනය කිරීම වඩා හොඳ කාර්ය සාධනයක් සහ නිරවද්යතාවයක් සඳහා හේතු විය හැක.
- වෙනත් AI මාදිලි භාවිතය විමර්ශනය කිරීම: තීරණ ගස් සහ අහඹු වනාන්තර වැනි අනෙකුත් AI මාදිලි, අන්ත උපාංග යෙදවීම සඳහා ගවේෂණය කළ හැක.
දෘඪාංග-මෘදුකාංග සම-නිර්මාණ ක්ෂේත්රය ඉදිරියට ගෙන යාමෙන්, අපට පුළුල් පරාසයක යෙදුම් සහ භාවිත අවස්ථා සක්රීය කරමින්, එජ් උපාංග සඳහා වඩාත් කාර්යක්ෂම සහ ඵලදායී AI ආකෘති නිර්මාණය කළ හැකිය.