** Skilvirk gervigreind líkansuppsetning á Edge tækjum með samhönnun vélbúnaðar og hugbúnaðar**
Kynning
Útbreiðsla brúntækja hefur skapað ný tækifæri fyrir gervigreindarforrit (AI) til að vera beitt í rauntíma, sem gerir forritum eins og snjallheimilum, sjálfstýrðum ökutækjum og iðnaðar sjálfvirkni kleift. Hins vegar eru takmarkaðar reikniauðlindir og afltakmarkanir brúntækja veruleg áskorun fyrir uppsetningu gervigreindarlíkana. Í þessari grein munum við kanna mót gervigreindar, hugbúnaðarverkfræði og byggingarlistar til að hámarka frammistöðu tækja, nýta nýlegar framfarir í skilvirkni gervigreindar líkana og samhönnunartækni vélbúnaðar og hugbúnaðar.
Áskoranirnar við uppsetningu gervigreindarlíkana á Edge tæki
Edge tæki einkennast af takmörkuðum tölvuauðlindum, þar á meðal örgjörva, minni og orkunotkun. Hefðbundin gervigreind módel, sem oft eru hönnuð fyrir skýjatengda uppsetningu, eru ekki fínstillt fyrir brún tæki. Fyrir vikið geta þau leitt til:
- Rýrnun á afköstum: gervigreind líkön keyra kannski ekki á skilvirkan hátt á brúntækjum, sem leiðir til hægra viðbragðstíma og minni nákvæmni.
- Orkunotkun: gervigreindargerðir geta neytt umtalsverðs orku, sem getur verið áhyggjuefni fyrir rafhlöðuknúin kanttæki.
- Minnistakmarkanir: gervigreind líkön geta krafist mikið magns af minni, sem getur verið áskorun fyrir jaðartæki með takmörkuð minnisauðlind.
** Samhönnunartækni fyrir vélbúnað og hugbúnað**
Til að takast á við þessar áskoranir hefur samhönnunartækni vélbúnaðar og hugbúnaðar komið fram sem efnileg lausn. Þessar aðferðir fela í sér að hanna bæði vélbúnaðar- og hugbúnaðarhluta jaðartækis í takt, fínstilla þá fyrir uppsetningu gervigreindarlíkana.
1. Módelklipping
Líkanklipping felur í sér að fjarlægja óþarfa lóð og tengingar úr gervigreind líkani, minnka stærð þess og reiknikröfur. Þessari tækni er hægt að beita bæði á tauganet og ákvörðunartré.
innflutnings blys
flytja kyndil.nn sem nn
Class ModelPruning(nn.Module):
def __init__(sjálf):
frábær(ModelPruning, self).__init__()
self.fc1 = nn.Linear(784, 128)
self.fc2 = nn.Linear(128, 10)
def áfram(sjálf, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
skila x
módel = ModelPruning()
pruned_model = torch.nn.utils.prune_l1_unstructured(líkan, 'þyngd', 0.1)
2. Þekkingareiming
Þekkingareiming felur í sér að flytja þekkingu frá stóru, flóknu gervigreindarlíkani yfir í það minna og einfaldara. Þessa tækni er hægt að nota til að minnka stærð og reiknikröfur gervigreindarlíkans.
innflutnings blys
flytja kyndil.nn sem nn
Class Knowledge Distillation(nn.Module):
def __init__(sjálf):
frábær(Knowledge Distillation, self).__init__()
self.fc1 = nn.Linear(784, 128)
self.fc2 = nn.Linear(128, 10)
def áfram(sjálf, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
skila x
teacher_model = ModelPruning()
student_model = Knowledge Distillation()
3. Magngreining
Magngreining felur í sér að draga úr nákvæmni voga og virkjunar gervigreindar líkana, draga úr reiknikröfum gervigreindarlíkans.
innflutnings blys
flytja kyndil.nn sem nn
class Quantization(nn.Module):
def __init__(sjálf):
super(Quantization, self).__init__()
self.fc1 = nn.Linear(784, 128)
self.fc2 = nn.Linear(128, 10)
def áfram(sjálf, x):
x = torch.relu(self.fc1(x))
x = self.fc2(x)
skila x
módel = ModelPruning()
quantized_model = torch.quantization.quantize_dynamic(líkan, {torch.nn.Linear}, dtype=torch.qint8)
Top 5-10 mest notuðu skipanir/bútar
| Skipun/ bút | Lýsing |
|---|---|
torch.nn.utils.prune_l1_unstructured(líkan, 'þyngd', 0.1) |
Líkanklipping með L1 reglusetningu |
torch.quantization.quantize_dynamic(líkan, {torch.nn.Linear}, dtype=torch.qint8) |
Magngreining með kraftmikilli magngreiningu |
torch.nn.utils.kldistance(kennaramódel, nemendalíkan) |
Þekkingareiming með því að nota KL frávik |
torch.nn.utils.weight_norm(model.fc1) |
Stöðun þyngdar með þyngdarnormi |
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) |
Halli klippa með clip grad norm |
torch.nn.utils.clip_grad_value_(model.parameters(), 1.0) |
Halliklipping með því að nota gráðugildi klemmu |
torch.nn.utils.remove_weight_norm(model.fc1) |
Fjarlæging þyngdarjafnvægis með því að nota fjarlægja þyngdarnorm |
torch.nn.utils.fuse_conv_bn_eval(model.fc1) |
Convolutional layer fusion með fuse conv bn eval |
torch.nn.utils.fuse_bn_eval(model.fc2) |
Batch normalization fusion með fuse bn eval |
torch.nn.utils.fuse_bn_eval(model.fc1) |
Batch normalization fusion með fuse bn eval |
Sjónræn
{
"type": "bar",
"gögn": {
"labels": ["Módel pruning", "Þekkingareiming", "Quantization"],
"gagnasett": {
"label": "Nákvæmni",
"gögn": [0.9, 0.85, 0.8]
}
},
"valkostir": {
"titill": {
"display": satt,
"text": "Nákvæmni samanburður"
},
"goðsögn": {
"birta": satt
}
}
}
Niðurstaða
Skilvirk gervigreind líkansuppsetning á jaðartækjum krefst blöndu af samhönnunartækni fyrir vélbúnað og hugbúnað. Líkanklipping, þekkingareiming og magngreining eru nokkrar af þeim aðferðum sem hægt er að nota til að minnka stærð og reiknikröfur gervigreindarlíkana. Með því að nýta þessar aðferðir geta verktaki búið til gervigreindarlíkön sem eru fínstillt fyrir jaðartæki, sem gerir rauntímaforritum kleift eins og snjallheimili, sjálfstýrð farartæki og sjálfvirkni í iðnaði.
Framtíðarstarf
Framtíðarstarf á þessu sviði felur í sér:
- Þróun nýrrar vélbúnaðar-hugbúnaðar samhönnunartækni: Rannsakendur og þróunaraðilar geta kannað nýjar aðferðir til að fínstilla gervigreind módel fyrir jaðartæki.
- Bæta reiknirit fyrir líkanaklippingu og þekkingareimingu: Þróun skilvirkari reiknirit fyrir líkanklippingu og þekkingareimingu getur leitt til betri árangurs og nákvæmni.
- Að rannsaka notkun annarra gervigreindarlíkana: Hægt er að kanna önnur gervigreind módel, svo sem ákvörðunartrjám og handahófskenndum skógum, fyrir uppsetningu brúntækja.
Með því að halda áfram að efla sviði samhönnunar vélbúnaðar og hugbúnaðar getum við búið til skilvirkari og áhrifaríkari gervigreindarlíkön fyrir jaðartæki, sem gerir fjölbreytt úrval af forritum og notkunartilvikum kleift.