வன்பொருள்-மென்பொருள் இணை வடிவமைப்பு மூலம் எட்ஜ் சாதனங்களில் திறமையான AI மாதிரி வரிசைப்படுத்தல் | B4N1

வன்பொருள்-மென்பொருள் இணை வடிவமைப்பு மூலம் எட்ஜ் சாதனங்களில் திறமையான AI மாதிரி வரிசைப்படுத்தல்

7 months ago · b4n1 Read time: 3 min

** வன்பொருள்-மென்பொருள் இணை வடிவமைப்பு மூலம் எட்ஜ் சாதனங்களில் திறமையான AI மாதிரி வரிசைப்படுத்தல்**

அறிமுகம்

எட்ஜ் சாதனங்களின் பெருக்கம் செயற்கை நுண்ணறிவு (AI) பயன்பாடுகளை நிகழ்நேரத்தில் பயன்படுத்துவதற்கான புதிய வாய்ப்புகளை உருவாக்கியுள்ளது, இது ஸ்மார்ட் வீடுகள், தன்னாட்சி வாகனங்கள் மற்றும் தொழில்துறை ஆட்டோமேஷன் போன்ற பயன்பாடுகளை செயல்படுத்துகிறது. இருப்பினும், விளிம்பு சாதனங்களின் வரையறுக்கப்பட்ட கணக்கீட்டு வளங்கள் மற்றும் சக்தி கட்டுப்பாடுகள் AI மாதிரி வரிசைப்படுத்தலுக்கு குறிப்பிடத்தக்க சவால்களை ஏற்படுத்துகின்றன. இந்த கட்டுரையில், AI மாதிரி செயல்திறன் மற்றும் வன்பொருள்-மென்பொருள் இணை-வடிவமைப்பு நுட்பங்களில் சமீபத்திய முன்னேற்றங்களைப் பயன்படுத்தி, எட்ஜ் சாதனத்தின் செயல்திறனை மேம்படுத்த, AI, மென்பொருள் பொறியியல் மற்றும் கட்டிடக்கலை ஆகியவற்றின் குறுக்குவெட்டை ஆராய்வோம்.

எட்ஜ் சாதனங்களில் AI மாதிரி வரிசைப்படுத்துதலின் சவால்கள்

எட்ஜ் சாதனங்கள் CPU, நினைவகம் மற்றும் மின் நுகர்வு உட்பட அவற்றின் வரையறுக்கப்பட்ட கணக்கீட்டு வளங்களால் வகைப்படுத்தப்படுகின்றன. பாரம்பரிய AI மாதிரிகள், பெரும்பாலும் கிளவுட்-அடிப்படையிலான வரிசைப்படுத்தலுக்காக வடிவமைக்கப்பட்டுள்ளன, விளிம்பு சாதனங்களுக்கு உகந்ததாக இல்லை. இதன் விளைவாக, அவை ஏற்படலாம்:

  • செயல்திறன் சிதைவு: எட்ஜ் சாதனங்களில் AI மாதிரிகள் திறமையாக இயங்காமல் போகலாம், இது மெதுவான பதிலளிப்பு நேரங்களுக்கும் துல்லியம் குறைவதற்கும் வழிவகுக்கும்.
  • சக்தி நுகர்வு: AI மாதிரிகள் குறிப்பிடத்தக்க சக்தியை உட்கொள்ளலாம், இது பேட்டரி மூலம் இயங்கும் விளிம்பு சாதனங்களுக்கு கவலையாக இருக்கலாம்.
  • நினைவகக் கட்டுப்பாடுகள்: AI மாதிரிகளுக்கு அதிக அளவு நினைவகம் தேவைப்படலாம், இது வரையறுக்கப்பட்ட நினைவக வளங்களைக் கொண்ட விளிம்பு சாதனங்களுக்கு சவாலாக இருக்கலாம்.

வன்பொருள்-மென்பொருள் இணை வடிவமைப்பு நுட்பங்கள்

இந்த சவால்களை எதிர்கொள்ள, வன்பொருள்-மென்பொருள் இணை வடிவமைப்பு நுட்பங்கள் ஒரு நம்பிக்கைக்குரிய தீர்வாக வெளிப்பட்டுள்ளன. இந்த நுட்பங்கள் ஒரு விளிம்பு சாதனத்தின் வன்பொருள் மற்றும் மென்பொருள் கூறுகள் இரண்டையும் ஒன்றாக வடிவமைத்து, AI மாதிரி வரிசைப்படுத்தலுக்கு அவற்றை மேம்படுத்துகிறது.

1. மாதிரி கத்தரித்து

மாதிரி கத்தரித்தல் என்பது AI மாதிரியிலிருந்து தேவையற்ற எடைகள் மற்றும் இணைப்புகளை அகற்றி, அதன் அளவு மற்றும் கணக்கீட்டுத் தேவைகளைக் குறைப்பதை உள்ளடக்குகிறது. இந்த நுட்பத்தை நரம்பியல் நெட்வொர்க்குகள் மற்றும் முடிவு மரங்கள் இரண்டிற்கும் பயன்படுத்தலாம்.

இறக்குமதி ஜோதி
torch.nn ஐ nn ஆக இறக்குமதி செய்யவும்

வகுப்பு மாடல் ப்ரூனிங்(nn.Module):
    def __init__(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()
pruned_model = torch.nn.utils.prune_l1_unstructured(மாதிரி, 'எடை', 0.1)

2. அறிவு வடித்தல்

அறிவு வடித்தல் என்பது ஒரு பெரிய, சிக்கலான AI மாதிரியிலிருந்து சிறிய, எளிமையான ஒன்றிற்கு அறிவை மாற்றுவதை உள்ளடக்குகிறது. AI மாதிரியின் அளவு மற்றும் கணக்கீட்டுத் தேவைகளைக் குறைக்க இந்த நுட்பத்தைப் பயன்படுத்தலாம்.

இறக்குமதி ஜோதி
torch.nn ஐ nn ஆக இறக்குமதி செய்யவும்

வகுப்பு அறிவு வடித்தல்(nn.Module):
    def __init__(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

ஆசிரியர்_மாடல் = மாடல் ப்ரூனிங்()
மாணவர்_மாடல் = அறிவு வடித்தல்()

3. அளவீடு

அளவீடு என்பது AI மாதிரி எடைகள் மற்றும் செயல்படுத்தல்களின் துல்லியத்தைக் குறைப்பது, AI மாதிரியின் கணக்கீட்டுத் தேவைகளைக் குறைப்பது ஆகியவை அடங்கும்.

இறக்குமதி ஜோதி
torch.nn ஐ nn ஆக இறக்குமதி செய்யவும்

வகுப்பு அளவீடு(nn.Module):
    def __init__(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 அதிகம் பயன்படுத்தப்பட்ட கட்டளைகள்/துணுக்குகள்

கட்டளை/ துணுக்கு விளக்கம்
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) ஃபியூஸ் கன்வ் பிஎன் ஏவல்
torch.nn.utils.fuse_bn_eval(model.fc2) ஃபியூஸ் பிஎன் ஏவல்
torch.nn.utils.fuse_bn_eval(model.fc1) ஃபியூஸ் பிஎன் ஏவல்

காட்சிப்படுத்தல்

{
  "வகை": "பார்",
  "தரவு": {
    "லேபிள்கள்": ["மாடல் ப்ரூனிங்", "அறிவு வடித்தல்", "அளவுப்படுத்தல்"],
    "தரவுத்தொகுப்புகள்": {
      "லேபிள்": "துல்லியம்",
      "தரவு": [0.9, 0.85, 0.8]
    }
  },
  "விருப்பங்கள்": {
    "தலைப்பு": {
      "காட்சி": உண்மை,
      "உரை": "துல்லிய ஒப்பீடு"
    },
    "புராணக்கதை": {
      "காட்சி": உண்மை
    }
  }
}

முடிவு

எட்ஜ் சாதனங்களில் திறமையான AI மாதிரி வரிசைப்படுத்தலுக்கு வன்பொருள் மற்றும் மென்பொருள் இணை வடிவமைப்பு நுட்பங்கள் தேவை. AI மாதிரிகளின் அளவு மற்றும் கணக்கீட்டுத் தேவைகளைக் குறைக்க, மாதிரி கத்தரித்தல், அறிவு வடிகட்டுதல் மற்றும் அளவுப்படுத்துதல் ஆகியவை பயன்படுத்தப்படும் சில நுட்பங்கள் ஆகும். இந்த நுட்பங்களைப் பயன்படுத்துவதன் மூலம், டெவலப்பர்கள் எட்ஜ் சாதனங்களுக்கு உகந்ததாக இருக்கும் AI மாதிரிகளை உருவாக்கலாம், ஸ்மார்ட் ஹோம்கள், தன்னாட்சி வாகனங்கள் மற்றும் தொழில்துறை ஆட்டோமேஷன் போன்ற நிகழ்நேர பயன்பாடுகளை இயக்கலாம்.

எதிர்கால வேலை

இந்த பகுதியில் எதிர்கால வேலை அடங்கும்:

  • புதிய வன்பொருள்-மென்பொருள் இணை வடிவமைப்பு நுட்பங்களை உருவாக்குதல்: எட்ஜ் சாதனங்களுக்கான AI மாதிரிகளை மேம்படுத்துவதற்கான புதிய நுட்பங்களை ஆராய்ச்சியாளர்கள் மற்றும் டெவலப்பர்கள் ஆராயலாம்.
  • மாடல் ப்ரூனிங் மற்றும் அறிவு வடிகட்டுதல் வழிமுறைகளை மேம்படுத்துதல்: மாதிரி கத்தரித்து மற்றும் அறிவு வடிகட்டுதலுக்கான மிகவும் திறமையான அல்காரிதங்களை உருவாக்குவது சிறந்த செயல்திறன் மற்றும் துல்லியத்திற்கு வழிவகுக்கும்.
  • பிற AI மாடல்களின் பயன்பாட்டை ஆய்வு செய்தல்: முடிவு மரங்கள் மற்றும் சீரற்ற காடுகள் போன்ற பிற AI மாதிரிகள், விளிம்பு சாதனம் வரிசைப்படுத்தலுக்கு ஆராயப்படலாம்.

வன்பொருள்-மென்பொருள் இணை-வடிவமைப்புத் துறையில் தொடர்ந்து முன்னேறுவதன் மூலம், எட்ஜ் சாதனங்களுக்கு மிகவும் திறமையான மற்றும் பயனுள்ள AI மாதிரிகளை உருவாக்க முடியும், இது பரந்த அளவிலான பயன்பாடுகள் மற்றும் பயன்பாட்டு நிகழ்வுகளை செயல்படுத்துகிறது.


Have Questions?

Let's Talk

Contact me on LinkedIn