இன்ஃபரன்ஸ் லேட்டன்சியைக் (Inference Latency) குறைக்க 9 வழிகள்
ஒரு AI பயன்பாடு மெதுவாகச் செயல்படும்போது, பெரும்பாலான குழுக்கள் மாடலையே (model) குற்றம் சாட்டுகின்றன.
லேட்டன்சி பட்ஜெட்டில் (latency budget) மாடல் என்பது பெரும்பாலும் ஒரு பகுதி மட்டுமே.
ஒரு பொதுவான கோரிக்கை (request) பல நிலைகளைக் கடந்து செல்கிறது:
• அங்கீகாரம் (Authentication) • அம்சத் தரவு மீட்டெடுப்பு (Feature Retrieval) • வெக்டர் தேடல் (Vector Search) • ஏஜென்ட் ஒருங்கிணைப்பு (Agent Orchestration) • LLM இன்ஃபரன்ஸ் (LLM Inference) • கார்ட்ரெயில்ஸ் (Guardrails) • பதில் உருவாக்கம் (Response Generation)
இந்த அடுக்குகளில் லேட்டன்சி சேர்ந்து கொண்டே இருக்கும். மூத்த பொறியாளர்கள் (Senior engineers) முழுமையான பைப்லைனையும் (pipeline) மேம்படுத்துகிறார்கள்.
தயாரிப்புச் சூழலில் (production) லேட்டன்சியைக் குறைக்க இதோ 9 வழிகள்:
Feature Stores-ஐப் பயன்படுத்தவும் பல அமைப்புகள் கணிப்புகளைச் செய்வதை விட, தரவை மீட்டெடுப்பதற்கே அதிக நேரத்தைச் செலவிடுகின்றன. தரவு மீட்டெடுப்பு 450ms எடுத்தால், 50ms மாடல் கொண்ட ஒரு அமைப்பு 500ms ஆகிவிடும். தேடல்களை விரைவுபடுத்த Redis, DynamoDB அல்லது Feast போன்ற கருவிகளைப் பயன்படுத்தவும்.
அம்சங்களை முன்கூட்டியே கணக்கிடுங்கள் (Precompute Features) கோரிக்கை வரும் நேரத்தில் அனைத்தையும் கணக்கிட வேண்டாம். வாடிக்கையாளரின் வாழ்நாள் மதிப்பு (customer lifetime value) போன்ற தரவுகளை முன்கூட்டியே கணக்கிட தினசரி பேட்ச் பைப்லைன்களை (nightly batch pipelines) பயன்படுத்தவும். சமீபத்திய பரிவர்த்தனைகள் போன்ற நிகழ்நேரத் தரவை (real-time data) மட்டும் கோரிக்கை நேரத்தில் கணக்கிடவும்.
கேச்சிங் (Caching) முறையைச் செயல்படுத்தவும் பல கோரிக்கைகள் மீண்டும் மீண்டும் வருகின்றன. பொதுவான வினவல்களுக்கான (queries) பதில்களைச் சேமித்து வைக்க Redis அல்லது CloudFront-ஐப் பயன்படுத்தவும். கேச் ஹிட் (cache hit) மூலம் லேட்டன்சியை வினாடிகளிலிருந்து மில்லி விநாடிகளாகக் குறைக்க முடியும்.
மீட்டெடுப்பை மேம்படுத்தவும் (Optimize Retrieval) RAG அமைப்புகளில், முழுத் தரவுத்தளத்தையும் தேடுவது மெதுவானது. உங்கள் தேடல் பரப்பளவை குறிப்பிட்ட துறைகள் அல்லது ஆவண வக
மூத்த ML பொறியாளர்கள் இன்ஃபரன்ஸ் லேட்டன்சியைக் (Inference Latency) குறைக்க உதவும் 9 நடைமுறை வழிகள்
இன்ஃபரன்ஸ் லேட்டன்சி (Inference latency) என்பது ஒரு மெஷின் லேர்னிங் மாடல் ஒரு உள்ளீட்டை (input) செயலாக்கி, அதன் முடிவை (prediction) வழங்க எடுத்துக்கொள்ளும் நேரமாகும். ஒரு தயாரிப்பில் (product) அதிக லேட்டன்சி இருந்தால், அது பயனர்களுக்கு மோசமான அனுபவத்தைத் தரும். குறிப்பாக ரியல்-டைம் அப்ளிகேஷன்களில் (real-time applications) மிகக் குறைந்த லேட்டன்சி அவசியமாகும்.
மூத்த ML பொறியாளர்கள் மாடல்களின் வேகத்தை அதிகரிக்கப் பயன்படுத்தும் 9 நடைமுறை வழிகள் இதோ:
1. மாடல் குவாண்ட்டைசேஷன் (Model Quantization)
குவாண்ட்டைசேஷன் என்பது மாடலின் எடைகளின் (weights) துல்லியத்தை (precision) குறைப்பதாகும். பொதுவாக, மாடல்கள் 32-பிட் மிதப்புப் புள்ளிகளில் (FP32) பயிற்சியளிக்கப்படுகின்றன. ஆனால், அவற்றை 16-பிட் (FP16) அல்லது 8-பிட் முழு எண்களாக (INT8) மாற்றுவதன் மூலம், கணக்கீட்டுத் திறன் மற்றும் நினைவகப் பயன்பாடு (memory usage) கணிசமாகக் குறையும், இதனால் இன்ஃபரன்ஸ் வேகம் அதிகரிக்கும்.
2. புரூனிங் (Pruning)
நியூரல் நெட்வொர்க்குகளில் உள்ள தேவையற்ற அல்லது மிகக் குறைந்த முக்கியத்துவம் வாய்ந்த இணைப்புகளை (weights) நீக்குவதே புரூனிங் ஆகும். இது மாடலின் அளவைக் குறைப்பதோடு, கணக்கீடுகளின் எண்ணிக்கையையும் குறைக்கிறது, இதனால் மாடல் வேகமாகவும் இலகுவாகவும் செயல்படுகிறது.
3. அறிவு காய்ச்சி வடித்தல் (Knowledge Distillation)
இதில் ஒரு பெரிய மற்றும் சிக்கலான மாடல் (Teacher Model) ஒரு சிறிய மற்றும் எளிமையான மாடலுக்கு (Student Model) தனது அறிவை மாற்றுகிறது. சிறிய மாடல் பெரிய மாடலின் செயல்பாட்டைப் பிரதிபலிக்கும் வகையில் பயிற்றுவிக்கப்படுவதால், அது மிகக் குறைந்த லேட்டன்சியுடன் சிறந்த முடிவுகளை வழங்க முடிகிறது.
4. வன்பொருள் முடுக்கம் (Hardware Acceleration)
மாடல்களைச் சாதாரண CPU-க்களில் இயக்குவதற்குப் பதிலாக, GPU (Graphics Processing Units) அல்லது TPU (Tensor Processing Units) போன்ற சிறப்பு வன்பொருள்களைப் பயன்படுத்துவது இன்ஃபரன்ஸ் வேகத்தை பல மடங்கு அதிகரிக்கும். இவை ஒரே நேரத்தில் பல கணக்கீடுகளைச் செய்யும் திறன் கொண்டவை.
5. பேட்ச்சிங் (Batching)
ஒவ்வொரு கோரிக்கையையும் (request) தனித்தனியாகச் செயலாக்குவதற்குப் பதிலாக, பல கோரிக்கைகளை ஒன்றாகத் தொகுத்து (batching) ஒரே நேரத்தில் செயலாக்குவது கணக்கீட்டுத் திறனை (throughput) அதிகரிக்கும். இது லேட்டன்சியைக் குறைக்க உதவும் ஒரு முக்கியமான உத்தியாகும்.
6. மாடல் கம்பைலேஷன் (Model Compilation)
TensorRT அல்லது XLA போன்ற கருவிகளைப் பயன்படுத்தி மாடல்களை கம்பைல் செய்வதன் மூலம், அந்த குறிப்பிட்ட வன்பொருளுக்கு (hardware) ஏற்றவாறு மாடல் கிராஃபை (model graph) மேம்படுத்த முடியும். இது தேவையற்ற கணக்கீடுகளைத் தவிர்த்து வேகத்தை அதிகரிக்கிறது.
7. கேச்சிங் (Caching)
அடிக்கடி கேட்கப்படும் அல்லது ஒரே மாதிரியான உள்ளீடுகளுக்கான (inputs) முடிவுகளைச் சேமித்து வைப்பதன் மூலம் (caching), ஒவ்வொரு முறையும் மாடலை இயக்க வேண்டிய அவசியம் குறைகிறது. இது மிக விரைவான பதில்களைப் பெற உதவுகிறது.
8. திறமையான கட்டமைப்புகள் (Efficient Architectures)
மிகப் பெரிய மாடல்களைப் பயன்படுத்துவதற்குப் பதிலாக, MobileNet அல்லது EfficientNet போன்ற இலகுவான மற்றும் திறமையான கட்டமைப்புகளைப் பயன்படுத்துவது சிறந்த தீர்வாகும். இவை குறைந்த கணக்கீட்டுத் திறனில் அதிக துல்லியத்தை வழங்க வடிவமைக்கப்பட்டுள்ளன.
9. அசிங்க்ரோனஸ் இன்ஃபரன்ஸ் (Asynchronous Inference)
பயனர் கோரிக்கையை அனுப்பியவுடன், மாடல் முடிவைத் தரும் வரை காத்திருக்காமல், பின்னணியில் (background) செயலாக்கத்தை மேற்கொள்ளும் அசிங்க்ரோனஸ் முறையைப் பயன்படுத்துவது சிறந்த அனுபவத்தைத் தரும். இது சிஸ்டத்தின் ஒட்டுமொத்த செயல்திறனை மேம்படுத்துகிறது.
Optional learning community: https://t.me/GyaanSetuAi