Техник хангамж-Програм хангамжийн хамтын дизайныг ашиглан захын төхөөрөмжүүд дээр AI загварыг үр дүнтэй байршуулах | B4N1

Техник хангамж-Програм хангамжийн хамтын дизайныг ашиглан захын төхөөрөмжүүд дээр AI загварыг үр дүнтэй байршуулах

7 months ago · b4n1 Read time: 4 min

** Техник хангамж-програм хангамжийн хамтарсан дизайнаар дамжуулан захын төхөөрөмжүүд дээр хиймэл оюун ухааны загварыг үр дүнтэй байршуулах**

Танилцуулга

Захын төхөөрөмжүүдийн тархалт нь хиймэл оюун ухаан (AI) програмуудыг бодит цаг хугацаанд ашиглах шинэ боломжийг бий болгож, ухаалаг гэр, бие даасан тээврийн хэрэгсэл, үйлдвэрлэлийн автоматжуулалт зэрэг програмуудыг идэвхжүүлсэн. Гэсэн хэдий ч хязгаарлагдмал тооцооллын нөөц ба захын төхөөрөмжүүдийн чадлын хязгаарлалт нь AI загварыг ашиглахад ихээхэн бэрхшээл учруулдаг. Энэ нийтлэлд бид хиймэл оюун ухаан, программ хангамжийн инженерчлэл, архитектурын огтлолцол, AI загварын үр ашиг, техник хангамж-программ хангамжийг хамтран зохион бүтээх арга техник дэх сүүлийн үеийн дэвшлийг ашиглан захын төхөөрөмжийн гүйцэтгэлийг оновчтой болгохын тулд судлах болно.

Эдж төхөөрөмж дээр хиймэл оюун ухааны загварыг байрлуулахад тулгарч буй бэрхшээлүүд

Edge төхөөрөмжүүд нь CPU, санах ой, эрчим хүчний хэрэглээ зэрэг хязгаарлагдмал тооцоолох нөөцөөр тодорхойлогддог. Уламжлалт хиймэл оюун ухааны загварууд нь ихэвчлэн үүлд суурилсан хэрэглээнд зориулагдсан байдаг нь захын төхөөрөмжүүдэд оновчлогдоогүй байдаг. Үүний үр дүнд тэд дараахь зүйлийг үүсгэж болно.

  • Гүйцэтгэлийн доройтол: AI загварууд нь захын төхөөрөмж дээр үр дүнтэй ажиллахгүй байж болзошгүй тул хариу өгөх хугацаа удааширч, нарийвчлал буурдаг.
  • Цахилгааны зарцуулалт: AI загварууд нь их хэмжээний эрчим хүч зарцуулдаг бөгөөд энэ нь батерейгаар ажилладаг захын төхөөрөмжүүдэд санаа зовоож болзошгүй юм.
  • Санах ойн хязгаарлалт: AI загварууд нь их хэмжээний санах ой шаарддаг бөгөөд энэ нь санах ойн нөөц хязгаарлагдмал захын төхөөрөмжүүдэд хүндрэл учруулж болзошгүй юм.

Тоног төхөөрөмж-Програм хангамжийн хамтарсан дизайны техник

Эдгээр сорилтыг шийдвэрлэхийн тулд техник хангамж, программ хангамжийг хамтран зохион бүтээх техник нь ирээдүйтэй шийдэл болж гарч ирсэн. Эдгээр техникүүд нь захын төхөөрөмжийн техник хангамж болон програм хангамжийн бүрэлдэхүүн хэсгүүдийг хослуулан зохиож, хиймэл оюун ухааны загварыг ашиглахад оновчтой болгох явдал юм.

1. Загвар тайрах

Загварын тайралт нь хиймэл оюун ухааны загвараас шаардлагагүй жин, холболтыг арилгаж, хэмжээ, тооцооллын шаардлагыг багасгахад оршино. Энэ техникийг мэдрэлийн сүлжээ болон шийдвэрийн модны аль алинд нь хэрэглэж болно.

импортын бамбар
импортын бамбар.nn гэж nn

Class ModelPruning(nn.Module):
    def __init__(өөрөө):
        super(Загвар тайрах, өөрөө).__init__()
        self.fc1 = nn.Шугаман(784, 128)
        self.fc2 = nn.Шугаман(128, 10)

    def урагш (өөрөө, x):
        x = бамбар.relu(self.fc1(x))
        x = self.fc2(x)
        буцаах x

загвар = ModelPruning()
pruned_model = torch.nn.utils.prune_l1_unstructured(загвар, "жин", 0.1)

2. Мэдлэг нэрэх

Мэдлэг нэрэх нь мэдлэгийг том, нарийн төвөгтэй хиймэл оюун ухааны загвараас жижиг, энгийн загвар руу шилжүүлэх явдал юм. Энэхүү техникийг хиймэл оюун ухааны загварын хэмжээ болон тооцооллын шаардлагыг багасгахад ашиглаж болно.

импортын бамбар
импортын бамбар.nn гэж nn

анги Мэдлэг нэрэх(nn.Module):
    def __init__(өөрөө):
        супер(Мэдлэг нэрэх, өөрөө).__init__()
        self.fc1 = nn.Шугаман(784, 128)
        self.fc2 = nn.Шугаман(128, 10)

    def урагш (өөрөө, x):
        x = бамбар.relu(self.fc1(x))
        x = self.fc2(x)
        буцаах x

багш_загвар = Загвар тайрах()
student_model = Мэдлэг нэрэх()

3. Тоо хэмжээ

Тоо хэмжээ нь AI загварын жин, идэвхжүүлэлтийн нарийвчлалыг бууруулж, AI загварын тооцооллын шаардлагыг багасгахад оршино.

импортын бамбар
импортын бамбар.nn гэж nn

Ангийн Квантчлал(nn.Module):
    def __init__(өөрөө):
        super(Quantization, self).__init__()
        self.fc1 = nn.Шугаман(784, 128)
        self.fc2 = nn.Шугаман(128, 10)

    def урагш (өөрөө, x):
        x = бамбар.relu(self.fc1(x))
        x = self.fc2(x)
        буцаах x

загвар = ModelPruning()
квантжуулсан_загвар = бамбар.квантжуулалт.кванттай_динамик(загвар, {torch.nn.Linear}, dtype=torch.qint8)

Хамгийн их ашиглагддаг 5-10 тушаал/хэсэг

Command/ Snippet Тодорхойлолт
torch.nn.utils.prune_l1_unstructured(загвар, 'жин', 0.1) L1 зохицуулалтыг ашиглан загвар тайрах
torch.quantization.quantize_dynamic(загвар, {torch.nn.Linear}, dtype=torch.qint8) Динамик квантчлалыг ашиглан квант хийх
torch.nn.utils.kldistance(багш_загвар, оюутны_загвар) KL divergence ашиглан мэдлэг нэрэх
torch.nn.utils.weight_norm(model.fc1) Жингийн нормыг ашиглан жинг хэвийн болгох
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) Clip grad norm
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) Fuse conv bn eval
torch.nn.utils.fuse_bn_eval(model.fc2) Fuse bn eval
torch.nn.utils.fuse_bn_eval(model.fc1) Fuse bn eval

Дүрслэл

{
  "төрөл": "бар",
  "өгөгдөл": {
    "шошго": ["Загвар тайрах", "Мэдлэг нэрэх", "Тоо хэмжээ"],
    "өгөгдлийн багц": {
      "label": "Нягт байдал",
      "өгөгдөл": [0.9, 0.85, 0.8]
    }
  },
  "сонголт": {
    "гарчиг": {
      "дэлгэц": үнэн,
      "text": "Нэвийн харьцуулалт"
    },
    "домог": {
      "дэлгэц": үнэн
    }
  }
}

Дүгнэлт

AI загварыг захын төхөөрөмжүүд дээр үр дүнтэй байрлуулахын тулд техник хангамж, программ хангамжийг хамтран зохион бүтээх техникийг хослуулах шаардлагатай. Загвар тайрах, мэдлэгийг нэрэх, тоон тогтоох зэрэг нь AI загваруудын хэмжээ, тооцооллын шаардлагыг багасгахад ашиглаж болох зарим арга техник юм. Эдгээр техникийг ашигласнаар хөгжүүлэгчид ухаалаг гэр, бие даасан тээврийн хэрэгсэл, үйлдвэрлэлийн автоматжуулалт зэрэг бодит цагийн хэрэглээг идэвхжүүлж, захын төхөөрөмжүүдэд тохирсон хиймэл оюун ухааны загваруудыг бий болгож чадна.

Ирээдүйн ажил

Энэ чиглэлээр хийх цаашдын ажилд дараахь зүйлс орно.

  • Техник хангамж, программ хангамжийг хамтран зохион бүтээх шинэ арга техникийг хөгжүүлэх: Судлаачид болон хөгжүүлэгчид захын төхөөрөмжүүдийн хиймэл оюун ухааны загварыг оновчтой болгох шинэ арга техникийг судлах боломжтой.
  • Загварын тайралт болон мэдлэгийг нэрэх алгоритмуудыг сайжруулах: Загвар тайрах болон мэдлэгийг нэрэх илүү үр дүнтэй алгоритмуудыг боловсруулах нь илүү сайн гүйцэтгэл, нарийвчлалд хүргэж болно.
  • Хиймэл оюун ухааны бусад загваруудын ашиглалтыг судлах: Шийдвэрлэх мод, санамсаргүй ой зэрэг хиймэл оюун ухааны бусад загваруудыг захын төхөөрөмжийг байрлуулах зорилгоор судлах боломжтой.

Техник хангамж-програм хангамжийн хамтын дизайны талбарыг үргэлжлүүлэн хөгжүүлснээр бид захын төхөөрөмжүүдэд илүү үр дүнтэй, үр дүнтэй AI загваруудыг бий болгож, өргөн хүрээний хэрэглээ, хэрэглээний тохиолдлуудыг идэвхжүүлж чадна.


Have Questions?

Let's Talk

Contact me on LinkedIn