Hoʻokomo ʻia ke kumu hoʻohālike AI kūpono ma nā ʻaoʻao Edge ma o ka Lako-Software Co-Design | B4N1

Hoʻokomo ʻia ke kumu hoʻohālike AI kūpono ma nā ʻaoʻao Edge ma o ka Lako-Software Co-Design

3 months ago · b4n1 Read time: 6 min

Ka hoʻohana ʻana i nā kumu hoʻohālike AI kūpono ma nā ʻaoʻao Edge ma o ka Hardware-Software Co-Design

Hoʻolauna

ʻO ka hoʻonui ʻia ʻana o nā hāmeʻa edge ua hoʻokumu i nā manawa hou no nā noi Artificial Intelligence (AI) e kau ʻia i ka manawa maoli, e hiki ai i nā noi e like me nā hale akamai, nā kaʻa autonomous, a me ka automation ʻoihana. Eia nō naʻe, ʻo ka palena o nā kumuwaiwai helu helu a me nā mana mana o nā ʻaoʻao o ka ʻaoʻao e lilo i mau pilikia koʻikoʻi no ka hoʻolālā ʻana o AI. Ma kēia ʻatikala, e ʻimi mākou i ka intersection o AI, software engineering, a me ka hoʻolālā ʻana e hoʻomaikaʻi i ka hana ʻana o ka ʻaoʻao, e hoʻohana ana i nā holomua hou i ka hana hoʻohālike AI a me nā ʻenehana hoʻolālā ʻenehana.

ʻO nā pilikia o ka hoʻohana ʻana i ke kumu hoʻohālike AI ma nā ʻaoʻao Edge

Hōʻike ʻia nā ʻaoʻao Edge e kā lākou waiwai helu helu, me ka CPU, ka hoʻomanaʻo, a me ka hoʻohana mana. ʻO nā hiʻohiʻona AI kuʻuna, i hoʻolālā pinepine ʻia no ka hoʻolaha ʻana i ke ao, ʻaʻole i hoʻopaʻa ʻia no nā hāmeʻa lihi. ʻO ka hopena, hiki iā lākou ke alakaʻi i:

  • Hoʻohaʻahaʻa hana: ʻAʻole hiki ke holo pono nā kumu hoʻohālike AI ma nā ʻaoʻao lihi, e alakaʻi ana i ka lohi i ka manawa pane a me ka hōʻemi ʻana i ka pololei.
  • Ka hoʻohana ʻana i ka mana: Hiki i nā kumu hoʻohālike AI ke hoʻopau i ka mana koʻikoʻi, hiki ke lilo i mea hopohopo no nā ʻaoʻao lihi uila.
  • Nā hoʻomanaʻo hoʻomanaʻo: Hiki i nā kumu hoʻohālike AI ke koi i ka nui o ka hoʻomanaʻo, hiki ke lilo i mea paʻakikī no nā hāmeʻa lihi me nā kumu hoʻomanaʻo liʻiliʻi.

Nā Paʻa Paʻa-Pōnaewele Hoʻolālā Hui

No ka hoʻoponopono ʻana i kēia mau pilikia, ua puka mai nā ʻenehana hoʻolālā like ʻana me nā lako lako polokalamu ma ke ʻano he hopena hoʻohiki. Hoʻopili kēia mau ʻenehana i ka hoʻolālā ʻana i nā ʻāpana ʻelua a me nā lako polokalamu o kahi hāmeʻa lihi i hui pū ʻia, e hoʻonui ana iā lākou no ka hoʻolālā ʻana o AI.

1. ʻOhi kumu hoʻohālike

Hoʻopili ka ʻoki ʻana i ke kumu hoʻohālike i ka wehe ʻana i nā kaupaona pono ʻole a me nā pilina mai kahi hoʻohālike AI, e hōʻemi ana i kona nui a me nā koi helu. Hiki ke hoʻohana ʻia kēia ʻenehana i nā neural network a me nā kumu hoʻoholo.

ipukukui lawe mai
lawe mai i ka lama.nn e like me nn

papa ModelPruning(nn.Module):
    def __init__(self):
        super(ModelPruning, self).__init__()
        self.fc1 = nn.Linear(784, 128)
        self.fc2 = nn.Linear(128, 10)

    def i mua(self, x):
        x = lama.relu(self.fc1(x))
        x = ponoʻī.fc2(x)
        hoʻihoʻi x

kumu hoʻohālike = ModelPruning()
pruned_model = torch.nn.utils.prune_l1_unstructured(model, 'kaumaha', 0.1)

2. ʻIke ʻIke

ʻO ka hoʻomaʻemaʻe ʻike e pili ana i ka hoʻoili ʻana i ka ʻike mai kahi kumu hoʻohālike AI nui a paʻakikī i kahi mea liʻiliʻi a maʻalahi. Hiki ke hoʻohana ʻia kēia ʻenehana e hōʻemi i ka nui a me nā koi helu helu o kahi hoʻohālike AI.

ipukukui lawe mai
lawe mai i ka lama.nn e like me nn

papa ʻIke ʻIke(nn.Module):
    def __init__(self):
        super(KnowledgeDistillation, self).__init__()
        self.fc1 = nn.Linear(784, 128)
        self.fc2 = nn.Linear(128, 10)

    def i mua(self, x):
        x = lama.relu(self.fc1(x))
        x = ponoʻī.fc2(x)
        hoʻihoʻi x

kumu_kumu = ModelPruning()
haumāna_model = KnowledgeDistillation()

3. Ka helu helu

Hoʻopili ka quantization i ka hōʻemi ʻana i ka pololei o nā kaupaona kumu hoʻohālike AI a me nā hoʻoulu ʻana, e hōʻemi ana i nā koi helu helu o kahi kumu hoʻohālike AI.

ipukukui lawe mai
lawe mai i ka lama.nn e like me nn

ka helu helu(nn.Module):
    def __init__(self):
        super(Quantization, self).__init__()
        self.fc1 = nn.Linear(784, 128)
        self.fc2 = nn.Linear(128, 10)

    def i mua(self, x):
        x = lama.relu(self.fc1(x))
        x = ponoʻī.fc2(x)
        hoʻihoʻi x

kumu hoʻohālike = ModelPruning()
quantized_model = torch.quantization.quantize_dynamic(model, {torch.nn.Linear}, dtype=torch.qint8)

** 5-10 kiʻekiʻe loa i hoʻohana ʻia i nā kauoha/nā ʻāpana**

Kauoha/ Snippet wehewehe
torch.nn.utils.prune_l1_unstructured(model, 'kaumaha', 0.1) ʻO ke kumu hoʻohālike me ka hoʻohana ʻana i ka regularization L1
torch.quantization.quantize_dynamic(model, {torch.nn.Linear}, dtype=torch.qint8) Hoʻohana ʻana i ka quantization dynamic
torch.nn.utils.kldistance(kumu_kumu, haumana_kumu) ʻO ka distillation ʻike me ka hoʻohana ʻana i ka divergence KL
torch.nn.utils.weight_norm(model.fc1) ʻO ke kaumaha maʻamau me ka hoʻohana ʻana i ke kaumaha maʻamau
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) ʻO ka ʻoki ʻana i ka gradient me ka hoʻohana ʻana i ka clip grad norm
torch.nn.utils.clip_grad_value_(model.parameters(), 1.0) ʻO ka ʻoki ʻoki ʻana me ka hoʻohana ʻana i ka waiwai grad grad
torch.nn.utils.remove_weight_norm(model.fc1) Weight normalization wehe ʻana me ka wehe ʻana i ke kaumaha maʻamau
torch.nn.utils.fuse_conv_bn_eval(model.fc1) Hoʻohui ʻia ka papa convolutional me ka hoʻohana ʻana i ka fuse conv bn eval
torch.nn.utils.fuse_bn_eval(model.fc2) ʻO ka hui ʻana o ka hui ʻana me ka fuse bn eval
torch.nn.utils.fuse_bn_eval(model.fc1) ʻO ka hui ʻana o ka hui ʻana me ka fuse bn eval

Hōʻikeʻike

{
  "type": "pā",
  "ʻikepili": {
    "labels": ["Hoʻokiʻekiʻe Hoʻohālike", "Hoʻokaʻawale ʻike", "Ka helu helu"],
    "mau ʻikepili": {
      "label": "Polopono",
      "ʻikepili": [0.9, 0.85, 0.8]
    }
  },
  "koho": {
    "poʻo inoa": {
      "hōʻike": ʻoiaʻiʻo,
      "text": "Hoʻohālikelike pololei"
    },
    "kaʻao": {
      "hōʻike": ʻoiaʻiʻo
    }
  }
}

Hoʻoholo

Pono ka hoʻolālā ʻana o ke kumu hoʻohālike AI kūpono ma nā ʻaoʻao o ka ʻaoʻao i ka hui pū ʻana o nā ʻenehana hoʻolālā a me nā lako polokalamu. ʻO ka ʻoki kumu hoʻohālike, ka distillation ʻike, a me ka quantization kekahi o nā ʻenehana i hiki ke hoʻohana ʻia e hōʻemi i ka nui a me nā koi helu o nā kumu hoʻohālike AI. Ma ka hoʻohana ʻana i kēia mau ʻenehana, hiki i nā mea hoʻomohala ke hana i nā hiʻohiʻona AI i hoʻomaʻamaʻa ʻia no nā hāmeʻa edge, e hiki ai i nā noi manawa maoli e like me nā hale akamai, nā kaʻa autonomous, a me ka automation ʻoihana.

Ka hana e hiki mai ana

ʻO nā hana e hiki mai ana ma kēia wahi e komo pū ana:

  • Ke hoʻomohala ʻana i nā ʻenehana hoʻolālā hui pū me nā lako polokalamu hou: Hiki i nā mea noiʻi a me nā mea hoʻomohala ke ʻimi i nā ʻenehana hou no ka hoʻomaikaʻi ʻana i nā kumu hoʻohālike AI no nā hāmeʻa lihi.
  • Ka hoʻomaikaʻi ʻana i ka ʻoki kumu hoʻohālike a me nā algorithm distillation ʻike: ʻO ka hoʻomohala ʻana i nā algorithm ʻoi aku ka maikaʻi no ka ʻoki kumu hoʻohālike a me ka distillation ʻike hiki ke alakaʻi i ka hana a me ka pololei.
  • Ke noiʻi ʻana i ka hoʻohana ʻana i nā kumu hoʻohālike AI ʻē aʻe: Hiki ke ʻimi ʻia nā kumu hoʻohālike AI ʻē aʻe, e like me nā kumulāʻau hoʻoholo a me nā ululāʻau maʻamau, no ka hoʻolaha ʻana i ka hāmeʻa lihi.

Ma ka hoʻomau ʻana i ka holomua i ke kahua o ka hardware-software co-design, hiki iā mākou ke hana i nā hiʻohiʻona AI ʻoi aku ka maikaʻi a me ka maikaʻi no nā hāmeʻa lihi, e hiki ai i kahi ākea o nā noi a me nā hihia hoʻohana.


Have Questions?

Let's Talk

Contact me on LinkedIn