𝗥𝗲𝘀𝗼𝗹𝘃𝗶𝗻𝗴 𝗘𝗻𝗰𝗼𝗱𝗶𝗻𝗴 𝗘𝗿𝗿𝗼𝗿𝘀 𝗶𝗻 𝗟𝗼𝗰𝗮𝗹 𝗟𝗟𝗠 𝗕𝗲𝗻𝗰𝗵𝗺𝗮𝗿𝗸𝗶𝗻𝗴

ನಾನು ಲೋಕಲ್ LLM ಮಾಡೆಲ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಮತ್ತು ಬೆಂಚ್‌ಮಾರ್ಕ್ ಮಾಡಲು ಒಂದು ಸಾಧನವನ್ನು ನಿರ್ಮಿಸಲು ಬಯಸಿದ್ದೆ. ಅವುಗಳನ್ನು ಉತ್ತಮವಾಗಿ ಪರೀಕ್ಷಿಸಲು ನಾನು ಅನೇಕ ಕೊರಿಯನ್ ಬೆಂಚ್‌ಮಾರ್ಕ್ ಪ್ರಶ್ನೆಗಳನ್ನು ಸಹ ಸೇರಿಸಿದೆ.

ನಾನು ಬೆಂಚ್‌ಮಾರ್ಕ್‌ಗಳನ್ನು ರನ್ ಮಾಡುವವರೆಗೆ ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿತ್ತು. ಆದರೆ ನನಗೆ ಈ ದೋಷ ಪದೇ ಪದೇ ಕಾಣಿಸುತ್ತಿತ್ತು: UnicodeEncodeError: 'cp949' codec can't encode characters.

ಸಮಸ್ಯೆ ನನ್ನ Python ಕೋಡ್‌ನಲ್ಲಿದೆ ಎಂದು ನಾನು ಭಾವಿಸಿದೆ. ನಾನು ನನ್ನ ಎನ್‌ಕೋಡಿಂಗ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು utf-8 ಗೆ ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿದೆ. ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಮ್ಯಾನುಯಲ್ ಆಗಿ ಡಿಕೋಡ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದೆ. ಗಂಟೆಗಟ್ಟಲೆ ಪ್ರಯತ್ನಿಸಿದರೂ ಯಾವುದೂ ಕೆಲಸ ಮಾಡಲಿಲ್ಲ.

ನಿಜವಾದ ಸಮಸ್ಯೆ ನನ್ನ ಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿರಲಿಲ್ಲ. ಲೋಕಲ್ LLM ವರ್ಕರ್ (worker) ಸಿಸ್ಟಮ್‌ನ ಡಿಫಾಲ್ಟ್ ಎನ್‌ಕೋಡಿಂಗ್ ಬಳಸಿ ಮಾಡೆಲ್ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಉಳಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿತ್ತು. ವಿಂಡೋಸ್‌ನಲ್ಲಿ, ಇದು ಹೆಚ್ಚಾಗಿ CP949 ಆಗಿರುತ್ತದೆ. ವರ್ಕರ್ CP949 ಬಳಸಿ ಕೊರಿಯನ್ ಅಕ್ಷರಗಳನ್ನು ಉಳಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ, ಅದು ವಿಫಲವಾಯಿತು.

ಪರಿಹಾರ ಸರಳವಾಗಿತ್ತು. ಫೈಲ್‌ಗಳನ್ನು ಉಳಿಸುವಾಗ ವರ್ಕರ್ ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ utf-8 ಬಳಸುವಂತೆ ನಾನು ಬದಲಾಯಿಸಿದೆ.

ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿರ್ವಹಿಸಲು ನಾನು ಒಂದು ಸ್ವಯಂಚಾಲಿತ ವ್ಯವಸ್ಥೆಯನ್ನು ಸಹ ನಿರ್ಮಿಸಿದೆ. ಇದು ಈ ಹಂತಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ:

ಈ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆಯ ಮೂಲಕ, ಕೊರಿಯನ್ ಭಾಷೆಯ ಕಾರ್ಯಗಳಿಗಾಗಿ Gemma2:2b ಮಾಡೆಲ್, EXAONE ಮಾಡೆಲ್‌ನಿಗಿಂತ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ನಾನು ಕಂಡುಕೊಂಡೆ. ಇದು ಅಷ್ಟೇ ವೇಗದಲ್ಲಿ ಹೆಚ್ಚು ನೈಸರ್ಗಿಕವಾದ ಉತ್ತರಗಳನ್ನು ಮತ್ತು ಉತ್ತಮ ಸೃಜನಾತ್ಮಕ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುತ್ತದೆ.

ಕಲಿತ ಪಾಠಗಳು:

Source: https://dev.to/junhee916/resolving-cp949-errors-in-local-llm-benchmarking-and-building-an-automatic-model-recommendation-128g

Optional learning community: https://t.me/GyaanSetuAi