லோக்கல் LLM பெஞ்ச்மார்க்கிங்கில் என்கோடிங் பிழைகளைத் தீர்த்தல்
லோக்கல் LLM மாடல்களை மாற்றவும் மற்றும் பெஞ்ச்மார்க் செய்யவும் ஒரு கருவியை உருவாக்க விரும்பினேன். அவற்றைச் சிறப்பாகச் சோதிப்பதற்காகப் பல கொரியன் பெஞ்ச்மார்க் கேள்விகளையும் சேர்த்தேன்.
பெஞ்ச்மார்க்குகளை இயக்கும் வரை அனைத்தும் சரியாகவே இருந்தது. ஆனால் எனக்குத் தொடர்ந்து இந்தத் தவறு (error) வந்தது:
UnicodeEncodeError: 'cp949' codec can't encode characters.
இந்தப் பிரச்சனை எனது Python குறியீட்டில் (code) இருப்பதாக நான் நினைத்தேன். எனது என்கோடிங் அமைப்புகளை utf-8 ஆக மாற்ற முயன்றேன். சரங்களை (strings) கைமுறையாக டீகோட் (decode) செய்ய முயன்றேன். பல மணிநேரம் முயற்சி செய்தும் எதுவும் பலனளிக்கவில்லை.
உண்மையான பிரச்சனை எனது ஸ்கிரிப்ட்டில் இல்லை. லோக்கல் LLM வொர்க்கர் (worker), மாடல் பதில்களைச் சேமிக்க சிஸ்டத்தின் இயல்புநிலை என்கோடிங்கைப் (system default encoding) பயன்படுத்த முயன்றது. விண்டோஸில் (Windows), இது பெரும்பாலும் CP949 ஆக இருக்கும். வொர்க்கர் கொரிய எழுத்துக்களை CP949 மூலம் சேமிக்க முயன்றபோது, அது தோல்வியடைந்தது.
இதற்குத் தீர்வு எளிமையானது. கோப்புகளைச் சேமிக்கும்போது வொர்க்கர் வெளிப்படையாக utf-8 ஐப் பயன்படுத்துமாறு மாற்றினேன்.
இந்தச் செயல்முறையை நிர்வகிக்க ஒரு தானியங்கி அமைப்பையும் (automated system) நான் உருவாக்கினேன். இது பின்வரும் படிகளைப் பின்பற்றுகிறது:
- தகுதியான மாடல்களைப் பதிவிறக்குகிறது.
- தற்போதைய சிறந்த மாடலில் பெஞ்ச்மார்க்குகளை இயக்குகிறது.
- அனைத்துப் புதிய தகுதியான மாடல்களையும் சோதிக்கிறது.
- மதிப்பெண்களின் அடிப்படையில் சிறந்த மாடலைத் தேர்ந்தெடுத்துப் பரிந்துரைக்கிறது.
இந்தத் தானியங்கி முறை மூலம், கொரிய மொழிப் பணிகளுக்கு EXAONE மாடலை விட Gemma2:2b மிகச் சிறப்பாகச் செயல்படுவதைக் கண்டறிந்தேன். இது அதே வேகத்தில் அதிக இயல்பான பதில்களையும் சிறந்த படைப்புத்திறன் கொண்ட முடிவுகளையும் வழங்குகிறது.
கற்றுக்கொண்ட பாடங்கள்:
- இயல்புநிலை சிஸ்டம் என்கோடிங்கையே ஒருபோதும் நம்பியிருக்க வேண்டாம். கோப்பு I/O-விற்கு எப்போதும் utf-8 ஐப் பயன்படுத்தவும்.
- கொரிய உரையை
json.dumpமூலம் பயன்படுத்தும்போது,ensure_ascii=Falseஎன்பதைப் பயன்படுத்தவும் மற்றும் utf-8 ஐக் குறிப்பிடவும். - என்கோடிங் பிழைகளைக் கண்டால், உங்கள் குறியீட்டை மட்டும் பார்க்காமல், முழு சிஸ்டம் மற்றும் கோப்பு சேமிக்கும் தர்க்கத்தையும் (logic) சரிபார்க்கவும்.
- உங்கள் குறிப்பிட்டத் தேவைகளுக்குச் சிறந்த மாடல்களைக் கண்டறியத் தானியங்கி முறையைப் பயன்படுத்தவும்.
Optional learning community: https://t.me/GyaanSetuAi