150ms-க்கு அப்பால்: நிகழ்நேர AI குரல் உதவியாளர்களுக்கான தாமதத்தை (Latency) நான் எவ்வாறு குறைத்தேன்

நேரடி கோடிங் (Live coding) மற்றும் தொழில்நுட்ப நேர்காணல்கள் டெவலப்பர்களுக்கு மன அழுத்தத்தைத் தரக்கூடியவை. உங்கள் ஒவ்வொரு வரி குறியீட்டையும் (code) ஒருவர் மதிப்பீடு செய்வதைப் பார்ப்பது அழுத்தத்தை ஏற்படுத்துகிறது.

Generative AI இப்போது இதை மாற்றியமைக்கிறது. உண்மையான நேர்காணல் சூழல்களை உருவகப்படுத்த (simulate) நீங்கள் AI-ஐப் பயன்படுத்தலாம்.

நேர்காணல்களுக்காக நான் ஒரு AI உதவியாளரை உருவாக்கினேன். பதிலளிக்கும் நேரத்தை 150ms-க்கும் குறைவாக வைத்திருப்பதே எனது இலக்காக இருந்தது.

மனித உரையாடலில் 200ms-க்கும் அதிகமான இடைவெளி இருந்தால் அது சங்கடமாகத் தோன்றும். ஒரு AI மனிதனைப் போலவே உணரப்பட வேண்டுமென்றால், அதன் முழுமையான செயல்முறைத் தொடரும் (pipeline) வேகமானதாக இருக்க வேண்டும். இதில் ஆடியோ கேப்சர் (audio capture), ஸ்ட்ரீமிங் (streaming), LLM inference மற்றும் text-to-speech ஆகியவை அடங்கும்.

இதற்கு சாதாரண HTTP கோரிக்கைகள் (requests) மிகவும் மெதுவானவை. நீங்கள் தரவை கிளையண்ட் பக்கத்திலேயே (client side) செயலாக்க வேண்டும்.

முதல் பிரச்சனை Voice Activity Detection (VAD) ஆகும். ஒரு பயனர் எப்போது பேசத் தொடங்குகிறார் மற்றும் எப்போது பேசுகிறார் என்பதை நீங்கள் துல்லியமாகத் தெரிந்து கொள்ள வேண்டும். இது உங்கள் சர்வருக்கு தேவையற்ற அமைதியை (silence) அனுப்புவதைத் தவிர்க்கிறது.

தனித்த திரெட்டில் (separate thread) raw PCM சாம்பிள்களைக் கையாள நான் JavaScript-இல் AudioWorklet-ஐப் பயன்படுத்தினேன். இது பிரதான UI திரெட்டைத் தடையின்றி வைத்திருக்க உதவுகிறது. இதன் மூலம் AI உதவியாளர் பிரவுசர் அல்லது கோட் எடிட்டரை மெதுவாக்காமல் இருப்பதை இது உறுதி செய்கிறது.

மற்றொரு சவால் நிகழ்நேர குறியீடு பகுப்பாய்வு (real-time code analysis) ஆகும். கணினி ஆடியோ மற்றும் கோட் எடிட்டரின் நிலை ஆகிய இரண்டையும் புரிந்து கொள்ள வேண்டும்.

டெக்ஸ்ட் எடிட்டர் தரவை குரல் உள்ளீட்டுடன் இணைக்க WebSockets-ஐப் பயன்படுத்துவதன் மூலம், பயனர் தட்டச்சு செய்யும்போதே AI பிழைகளை (bugs) அல்லது விளிம்பு நிலைச் சூழல்களை (edge cases) கண்டறிய முடியும்.

நீங்கள் நேர்காணல்களுக்குப் பயிற்சி பெற விரும்பினால், இந்த வழிமுறைகளை முயற்சிக்கவும்:

• "Think Aloud" முறையைப் பயிற்சி செய்யுங்கள். நீங்கள் கோடிங் செய்யும் போது உங்கள் தர்க்கத்தை (logic) சத்தமாக விளக்குங்கள். • AI உருவகப்படுத்துதல்களைப் (simulations) பயன்படுத்துங்கள். இது உங்கள் பதிலளிக்கும் நேரம் மற்றும் குறியீட்டின் தரம் குறித்த அறிக்கைகளை வழங்கும்.

குறைந்த தாமதத்தைக் கொண்ட குரல் செயலிகளுக்கு (low latency voice apps), ஆடியோ கம்ப்ரஷன் (audio compression) மற்றும் சர்வர் திறன் (server power) ஆகியவற்றுக்கு இடையே ஒரு சமநிலை தேவைப்படுகிறது.

உங்கள் திட்டங்களில் ஆடியோ ஸ்ட்ரீமிங்கை எவ்வாறு கையாளுகிறீர்கள்? பிரவுசரில் VAD மாடல்களைப் பயன்படுத்தியுள்ளீர்களா?

உங்கள் கருத்துக்களைக் கருத்துப் பெட்டியில் (comments) பகிருங்கள்.

ஆதாரம்: https://dev.to/websterliu/oltre-i-150ms-come-ho-ridotto-la-latenza-per-creare-un-assistente-vocale-ai-in-tempo-reale-1jj5

விருப்பமான கற்றல் சமூகம்: https://t.me/GyaanSetuAi