Hardware-Proqram Təminatı Birgə Dizaynı vasitəsilə Edge Cihazlarda Effektiv AI Modelinin Yerləşdirilməsi | B4N1

Hardware-Proqram Təminatı Birgə Dizaynı vasitəsilə Edge Cihazlarda Effektiv AI Modelinin Yerləşdirilməsi

7 months ago · b4n1 Tiempo de lectura: 4 min

Aparat-Proqram Təminatı Birgə Dizaynı vasitəsilə Edge Cihazlarda Effektiv Süni İntellekt Modelinin Yerləşdirilməsi

Giriş

Kənar cihazların çoxalması Süni İntellekt (AI) proqramlarının real vaxt rejimində tətbiqi üçün yeni imkanlar yaratdı və bu, ağıllı evlər, avtonom nəqliyyat vasitələri və sənaye avtomatlaşdırılması kimi tətbiqlərə imkan verdi. Bununla belə, məhdud hesablama resursları və kənar cihazların güc məhdudiyyətləri AI modelinin tətbiqi üçün əhəmiyyətli problemlər yaradır. Bu yazıda biz süni intellekt modelinin səmərəliliyi və aparat-proqram təminatının birgə dizaynı üsullarında son nailiyyətlərdən istifadə edərək kənar cihaz performansını optimallaşdırmaq üçün AI, proqram mühəndisliyi və arxitekturanın kəsişməsini araşdıracağıq.

Edge Cihazlarda AI Modelinin Yerləşdirilməsinin Çətinlikləri

Edge cihazları CPU, yaddaş və enerji istehlakı da daxil olmaqla məhdud hesablama resursları ilə xarakterizə olunur. Tez-tez bulud əsaslı yerləşdirmə üçün nəzərdə tutulan ənənəvi süni intellekt modelləri kənar cihazlar üçün optimallaşdırılmayıb. Nəticədə, onlar səbəb ola bilər:

  • Performansın azalması: Süni intellekt modelləri kənar cihazlarda səmərəli işləməyə bilər ki, bu da yavaş cavab müddətinə və dəqiqliyin azalmasına səbəb olur.
  • Güc istehlakı: AI modelləri əhəmiyyətli enerji istehlak edə bilər, bu da batareya ilə işləyən kənar cihazlar üçün narahatlıq yarada bilər.
  • Yaddaş məhdudiyyətləri: Süni intellekt modelləri böyük həcmdə yaddaş tələb edə bilər ki, bu da məhdud yaddaş resurslarına malik kənar cihazlar üçün problem ola bilər.

Avadanlıq-Proqram Təminatı Birgə Dizayn Texnikaları

Bu problemləri həll etmək üçün aparat-proqram birgə dizayn üsulları perspektivli həll yolu kimi ortaya çıxdı. Bu üsullar kənar cihazın həm aparat, həm də proqram komponentlərinin tandemdə layihələndirilməsini, onların AI modelinin yerləşdirilməsi üçün optimallaşdırılmasını əhatə edir.

1. Model Budaması

Modelin budaması bir AI modelindən lazımsız çəkilərin və əlaqələrin çıxarılmasını, ölçüsünü və hesablama tələblərini azaltmağı əhatə edir. Bu texnika həm neyron şəbəkələrinə, həm də qərar ağaclarına tətbiq oluna bilər.

idxal məşəli
məşəl.nn-ni nn olaraq idxal edin

sinif Model Budama(nn.Module):
    def __init__(özünü):
        super(ModelBudama, özünü).__init__()
        self.fc1 = nn.Xətti(784, 128)
        self.fc2 = nn.Xətti(128, 10)

    def irəli (özünü, x):
        x = məşəl.relu(self.fc1(x))
        x = self.fc2(x)
        x qaytarın

model = ModelPruning()
pruned_model = torch.nn.utils.prune_l1_unstructured(model, 'çəki', 0.1)

2. Bilik distilləsi

Biliyin distilasiyası biliklərin böyük, mürəkkəb AI modelindən daha kiçik, daha sadə modelə ötürülməsini nəzərdə tutur. Bu texnika AI modelinin ölçüsünü və hesablama tələblərini azaltmaq üçün istifadə edilə bilər.

idxal məşəli
məşəl.nn-ni nn olaraq idxal edin

Class Knowledge Distillation(nn.Module):
    def __init__(özünü):
        super(KnowledgeDistillation, self).__init__()
        self.fc1 = nn.Xətti(784, 128)
        self.fc2 = nn.Xətti(128, 10)

    def irəli (özünü, x):
        x = məşəl.relu(self.fc1(x))
        x = self.fc2(x)
        x qaytarın

müəllim_model = Model Budama ()
student_model = Knowledge Distillation()

3. Kvantlaşdırma

Kvantlaşdırma süni intellekt modelinin çəkilərinin və aktivləşdirilməsinin dəqiqliyinin azaldılmasını, AI modelinin hesablama tələblərinin azaldılmasını nəzərdə tutur.

idxal məşəli
məşəl.nn-ni nn olaraq idxal edin

sinif Kvantlaşdırma (nn.Module):
    def __init__(özünü):
        super(Kvantlaşdırma, öz).__init__()
        self.fc1 = nn.Xətti(784, 128)
        self.fc2 = nn.Xətti(128, 10)

    def irəli (özünü, x):
        x = məşəl.relu(self.fc1(x))
        x = self.fc2(x)
        x qaytarın

model = ModelPruning()
kvantlaşdırılmış_model = məşəl.kvantlaşdırma.quantize_dinamik(model, {torch.nn.Linear}, dtype=torch.qint8)

Ən çox istifadə olunan 5-10 əmr/parça

Əmr/ Parça Təsvir
torch.nn.utils.prune_l1_unstructured(model, 'çəki', 0.1) L1 nizamlanmasından istifadə edərək model budama
məşəl.kvantlaşdırma.quantize_dinamik(model, {torch.nn.Linear}, dtype=torch.qint8) Dinamik kvantlaşdırmadan istifadə edərək kvantlaşdırma
torch.nn.utils.kldistance(müəllim_model, tələbə_model) KL divergensiyasından istifadə edərək bilik distilləsi
torch.nn.utils.weight_norm(model.fc1) Çəki normasından istifadə edərək çəkinin normallaşdırılması
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) Klip grad normasından istifadə edərək qradient kəsmə
torch.nn.utils.clip_grad_value_(model.parameters(), 1.0) Klip grad dəyərindən istifadə edərək qradient kəsmə
torch.nn.utils.remove_weight_norm(model.fc1) Çəki normasından istifadə edərək çəkinin normallaşdırılmasının aradan qaldırılması
torch.nn.utils.fuse_conv_bn_eval(model.fc1) Fuse conv bn eval
torch.nn.utils.fuse_bn_eval(model.fc2) Sigortadan istifadə edərək toplu normallaşdırma füzyonu bn qiymətləndirmə
torch.nn.utils.fuse_bn_eval(model.fc1) Sigortadan istifadə edərək toplu normallaşdırma füzyonu bn qiymətləndirmə

Vizuallaşdırma

{
  "növ": "bar",
  "data": {
    "etiketlər": ["Model Budama", "Bilik distilləsi", "Kvantlaşdırma"],
    "datasets": {
      "label": "Dəqiqlik",
      "məlumatlar": [0.9, 0.85, 0.8]
    }
  },
  "seçimlər": {
    "başlıq": {
      "ekran": doğru,
      "text": "Dəqiqliyin müqayisəsi"
    },
    "əfsanə": {
      "ekran": doğrudur
    }
  }
}

Nəticə

Effektiv süni intellekt modelinin kənar cihazlarda yerləşdirilməsi aparat və proqram təminatının birgə dizaynı üsullarının birləşməsini tələb edir. Model budaması, bilik distilləsi və kvantlaşdırma AI modellərinin ölçüsünü və hesablama tələblərini azaltmaq üçün istifadə edilə bilən bəzi üsullardır. Tərtibatçılar bu üsullardan istifadə etməklə, ağıllı evlər, avtonom nəqliyyat vasitələri və sənaye avtomatlaşdırması kimi real vaxt rejimində tətbiqlərə imkan verən kənar cihazlar üçün optimallaşdırılmış süni intellekt modelləri yarada bilərlər.

Gələcək İş

Bu sahədə gələcək işlərə aşağıdakılar daxildir:

  • Yeni aparat-proqram təminatının birgə dizayn üsullarının hazırlanması: Tədqiqatçılar və tərtibatçılar kənar cihazlar üçün AI modellərini optimallaşdırmaq üçün yeni texnikaları araşdıra bilərlər.
  • Model budaması və bilik distilləsi alqoritmlərinin təkmilləşdirilməsi: Modelin budama və bilik distilləsi üçün daha səmərəli alqoritmlərin hazırlanması daha yaxşı performansa və dəqiqliyə səbəb ola bilər.
  • Digər AI modellərinin istifadəsinin araşdırılması: Qərar ağacları və təsadüfi meşələr kimi digər AI modelləri kənar cihazın yerləşdirilməsi üçün araşdırıla bilər.

Aparat-proqram təminatının birgə dizaynı sahəsini inkişaf etdirməyə davam etməklə biz kənar cihazlar üçün daha səmərəli və effektiv AI modelləri yarada, geniş çeşiddə tətbiqlər və istifadə hallarına imkan verə bilərik.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn