8 мин

Қазақша жергілікті модельге жабдықты қалай таңдаймыз

Қазақша жергілікті модельге жабдық таңдау, VRAM мен контексті есептеу және нақты жұмыс жүктемесіне жеткілікті жад қалдыру жолы.

Қазақша жергілікті модельге жабдықты қалай таңдаймыз

Қазақ тілінде жұмыс істейтін жергілікті модельге арнайы «қазақша» үдеткіш керек емес. Оған кәдімгі GPU, жедел жад және сақтау құрылғысы қажет, бірақ оларды параметр санына ғана қарап таңдауға болмайды. Қазақша мәтіннің сапасы оқыту деректеріне, токенизаторға және модельді баптауға тәуелді, ал жад шығыны салмақтардың форматына, контекст ұзындығына және бір мезгілдегі сұраулар санына байланысты. Осы екі міндетті бір сипаттамаға араластыру қауіпті: қымбат сервер тез жұмыс істегенімен, әлсіз мәтін беруі мүмкін немесе жақсы модель таңдалып, оның жұмыс контекстіне орын қалмайды.

Алғашқы толыққанды сынақ стенді үшін мен әдетте 24 ГБ VRAM-ы бар бір үдеткішті, 64 ГБ жүйелік жадты және кемінде 1 ТБ жылдам NVMe дискісін есепке аламын. Бұл әмбебап рецепт емес. Мұндай компьютер BF16 форматындағы 8B модельді, 4 биттік форматтағы 8B-14B модельдерді және контексті қатаң шектелген кейбір 30B-32B жинақтарды салыстыруға мүмкіндік береді. Ұйым 48-80 ГБ VRAM-ы бар серверге немесе бірнеше үдеткішке тапсырыс бермей тұрып, өз қазақша құжаттарындағы сапаны өлшей алады.

Модель көлемі маңызды болып қала береді, бірақ тіл тексеру ретін өзгертеді. Алдымен нақты модельдің қазақ тіліндегі жалғауларды, аралас қазақша-орысша мәтінді, салалық терминдерді және жергілікті мәнмәтінді түсінетінін дәлелдеу қажет. Одан кейін жад пен жылдамдық жұмысқа енгізілетін салмақтардың дәл сол нұсқасымен, чат үлгісімен және сұрау ұзындығымен өлшенеді. Басқа біреудің шолуындағы кесте осы сынақты алмастырмайды.

Қазақ тілі жад формуласын емес, модель таңдауын өзгертеді

Үдеткіш сандарды сақтайды, сондықтан кирилл, латын немесе араб жазуы салмақтардың көлемін өздігінен өзгертпейді. Сұрау қай тілде берілсе де, сегіз миллиард параметр бірдей жад алады. Айырмашылық есептеуге дейін және одан кейін пайда болады: токенизатор қазақша сөзді көбірек бөлікке бөлуі мүмкін, ал модель тілдің өзін нашар білуі ықтимал. Токен көбейсе, тізбек ұзарады, KV-кэшке көбірек орын керек болады және мағынасы бірдей құжатты өңдеу ұзаққа созылады.

Қазақ тілі жалғамалы тіл: түбірге жұрнақтар мен жалғаулар ретімен қосылады, ал нашар үйретілген токенизатор сирек кездесетін тұлғаларды жиі ұсақ бөліктерге бөледі. Сөздік көлеміне ғана қарап, токенизаторды бірден нашар деп айтуға болмайды. Оны нақты материалдармен тексеріңіз: ресми хаттар, шарттар, медициналық тіркестер, аудан атаулары, тектер және автор қазақшадан орысшаға ауысатын мәтіндер. Таңба саны бірдей екі құжаттың токен саны айтарлықтай өзгеше болуы мүмкін.

Qwen3 техникалық есебінде қазақ тілі қолдау көрсетілетін 119 тіл мен диалектінің арасында нақты аталған. Бұл бастапқы тізім жасауға пайдалы белгі, бірақ сіздің міндетіңіздегі сапаны дәлелдемейді. KazMMLU зерттеуі дерегі көп тілдердегі ірі модельдердің сапасы мен Қазақстан туралы қазақша және орысша сұрақтардағы нәтижелерінің арасында алшақтық барын көрсетті. Авторлар сұрақтарды жергілікті оқу материалдарынан жинап, ана тілінде сөйлейтін мамандарға тексерткен. Сатып алу үшін шығатын қорытынды қарапайым: multilingual деген белгі жергілікті сынақ жинағын алмастырмайды.

Арнайы бейімделген нұсқалар да бар. ISSAI 8B және 70B көлеміндегі KazLLM модельдерін, соның ішінде 4 биттік жинақтарды шығарды; институт бетінде коммерциялық емес қолдануға арналған CC BY-NC лицензиясы көрсетілген. Sherkala-Chat 8B санатындағы модельді қазақша нұсқауларға бейімдейді. Мұндай модельдерді мықты көптілді базалық модельмен салыстырыңыз, мамандандыруды автоматты түрде жеңімпаз деп қабылдамаңыз. Бейімдеу тіл мен жергілікті білімді жақсартуы мүмкін, ал көлемі үлкен базалық модель күрделі логиканы, кестелерді немесе бағдарламалауды жақсырақ орындауы ықтимал.

«Қолдайды» деген сөздің астында жиі араласып кететін төрт қасиетті бөлек қарастырыңыз: модель қазақша таңбаларды қабылдайды, грамматикалық дұрыс сөйлем құрайды, Қазақстанға қатысты мәнмәтінді біледі және сіздің жұмыс нұсқауыңызды дұрыс орындайды. Әр қасиетке жеке сынақ керек. Жабдық сол сынақтардың жылдамдығына әсер етеді, бірақ оқыту деректеріндегі олқылықты түземейді.

Жұмыс міндеті пайдалы модель көлемін анықтайды

Көлемді еркін әңгімеден алған әсерге емес, тұрақты қайталанатын ең қиын сұрауға қарай таңдаңыз. Өтініштерді жіктеу, өрістерді шығару, қалыпты жауаптардың алғашқы нұсқасын дайындау және білім базасынан іздеу үшін жақсы промпт пен тексерілген құжаттарға қолжетімділігі бар 7B-8B модель жиі жеткілікті нәтиже береді. Күрделі редакциялау, бір-біріне қайшы дереккөздерді талдау, ұзақ жауап және пайымдау үшін 14B-32B модельдер әдетте көбірек мүмкіндік береді. 70B санаты өлшенген сапа өсімі жад құнын, кідірісті және электр шығынын ақтағанда қажет.

Бұл әр келесі көлем міндетті түрде жақсы болатын баспалдақ емес. Бейімделген 8B модель жалпы мақсаттағы 14B модельге қарағанда қазақша ұқыпты жазуы мүмкін. 32B модель жақсырақ пайымдағанымен, қазақша мәтінде орыс тілінің құрылымдарын жиі қолдануы ықтимал. 70B нұсқа орташа есеппен ең жоғары баға алып, сіздің қысқартуларыңызда немесе қызмет атауларында бәрібір қателесуі мүмкін. Сондықтан сипаттама «кемінде 70 млрд параметр» деген жолдан емес, міндеттер мен қабылдау шегінен басталады.

Пилот үшін мысалдардың кемінде төрт тобын жинаңыз: таза қазақша мәтін, аралас қазақша-орысша мәтін, салалық терминдері бар құжаттар және жергілікті жағдайларға қатысты сұраулар. Шындыққа ұқсас қате жауап беруден бас тартқаннан қауіпті болатын жағдайларды қосыңыз: шарттағы сома, дәрі мөлшері, нормативтік актінің бабы, дербес деректер. Мазмұн дәлдігін тіл сапасынан бөлек бағалаңыз. Жатық грамматика ойдан шығарылған деректі жиі жасырады.

Шағын модель міндет тар әрі жауапты ереже, іздеу жүйесі немесе адам тексере алғанда жарайды. Үлкен модель жай ғана көбірек жазғанда емес, қиынырақ сынақтан тұрақты өткенде негізді болады. Құжат іздеуі қосылған ішкі көмекші үшін нақты үзінді табу және дереккөзді дұрыс көрсету көбіне 8B-ден 70B-ге көшуден көбірек пайда береді. Модель пайдаланушыға рұқсат етілмеген құжаттарды көрмеуі тиіс: жергілікті орналастыру өздігінен қолжетімділікті шектемейді.

Мәтін шығаруды оқытумен шатастырмаңыз. Инференс дайын салмақтарды жүктеп, жұмыс буферлерін жасайды. Толық қосымша оқыту градиенттер мен оңтайландырғыш күйлерін сақтайды, сондықтан бірнеше есе көп жад қажет етеді. LoRA мен QLoRA талапты азайтады, бірақ активациялар жады тізбек ұзындығы мен пакет көлеміне қарай бәрібір өседі. 14B модельді 4 битте сенімді қызмет еткізетін машина сол модельді сіздің баптауларыңызбен міндетті түрде оқыта алмайды.

VRAM салмақ, формат және қор бойынша есептеледі

Алғашқы жуық есеп қарапайым: салмақ көлемі параметр санының бір параметрге тиесілі бит санына көбейтіндісін сегізге бөлгенге тең. BF16 форматындағы 8B үшін шамамен 16 ГБ, 14B үшін 28 ГБ, 32B үшін 64 ГБ, 70B үшін 140 ГБ шығады. Бұл салмақтардың өзіне арналған төменгі баға. Орындалу ортасы қызметтік деректерді, уақытша буферлерді, KV-кэшті және кейде бөлек мультимодалды проекторды қосады.

4 биттік кванттау дайын файлдағы әр параметр дәл төрт бит алады деген сөз емес. Топтық масштабтар, метадеректер және жоғары дәлдікте қалған кей тензорлар көлемді үлкейтеді. llama.cpp құжаттамасы жақсы бақылау мысалын береді: Q4_K_M форматындағы Llama 3.1 8B бастапқы жинақтағы 32,1 ГБ орнына 4,9 ГБ алады, ал 70B нұсқасы 280,9 ГБ орнына 43,1 ГБ алады. Бұл сандарды кез келген архитектураға тікелей көшіруге болмайды, бірақ нақты файл көлемінің Q4 белгісінен пайдалырақ екенін көрсетеді.

Модель санатыТек салмақтарға арналған BF16Әдеттегі Q4 файлыБір диалогқа арналған ең аз қолайлы VRAM
8Bшамамен 16 ГБ5-6 ГБQ4 үшін 8-12 ГБ, қоры бар BF16 үшін 24 ГБ
14Bшамамен 28 ГБ9-11 ГБQ4 үшін 16 ГБ, 24 ГБ қолайлырақ
30B-32Bшамамен 60-64 ГБ19-22 ГБорташа контексте ғана 24 ГБ, 32-48 ГБ қолайлырақ
70Bшамамен 140 ГБ42-48 ГБтығыз режимде 48 ГБ, іс жүзінде 64 ГБ және одан көп

Соңғы баған нақты жылдамдыққа уәде бермейді. Ол салмақтар жүктелгеннен кейін контекст пен буферлерге қай жерде орын қалатынын көрсетеді. 200 МБ бос VRAM-мен «сыйған» жинақ жұмысқа дайын емес. Алғашқы ұзақ сұрау, қатар кірген пайдаланушы немесе batch size үлкеюі қабаттарды RAM-ға түсіруі не жад жетіспеу қатесін туғызуы мүмкін.

Кванттау көлемді ғана өзгертпейді. Q8 әдетте бастапқы модельге жақынырақ, Q5 пен Q4 қолайлы ымыра береді, ал тым қатты Q3 және Q2 сирек тілдік тұлғалар мен дәл жауаптарды жиірек бұзады. Орташа ағылшынша сынақ қазақша жалғаулардан, есімдерден және тіл ауыстырудан көрінетін жоғалтуды байқамауы мүмкін. Q2 нұсқасы BF16 немесе Q8 өткен қазақша жинақтан өтпейінше, мен жабдықты Q2 есебімен алмаймын. Егер кейін редактор әр жауапты қайта жазса, жад үнемдеудің мәні жоқ.

Қор қалдырыңыз. Бір интерактивті сессия үшін таңдалған контекстегі өлшенген ең жоғары мәннен кемінде 15-20 пайыз артық VRAM жоспарлаған дұрыс. Қызмет үшін қор қатар сұраулар сыналғаннан кейін есептеледі, өйткені жай пайыз жоспарлаушы мен KV-кэшті сипаттамайды. Сипаттамаға модельдің дәл атауын, файлдың бақылау сомасын, кванттау түрін, орындалу ортасының нұсқасын, контексті және слот санын жазыңыз. Бұл деректерсіз «18 ГБ алады» деген санды қайта тексеру мүмкін емес.

Ұзақ контекст пен қатар жұмыс бос жадты тауысады

Салмақтардан кейін ең жиі кем есептелетін бөлік - KV-кэш. Модель әр жаңа токен үшін бүкіл тарихты қайта есептемеу мақсатында бұрын оқылған токендерге арналған attention механизмінің кілттері мен мәндерін сақтайды. Көлемі контекст ұзындығы мен белсенді тізбектер санына шамамен сызықты түрде өседі. Grouped-query attention қолданатын архитектуралар KV-бастар санын азайтып, шығынды төмендетеді, бірақ оны тегін етпейді.

Бір қабат пен бір тізбекке арналған жеңілдетілген есеп KV-бастар санын, бас өлшемін, K және V деген екі массивті және кэш форматындағы байт санын қолданады. Одан кейін нәтиже қабаттар мен токендер санына көбейтіледі. Формула шаманы түсінуге көмектеседі, бірақ соңғы санды өз орындалу ортаңыздың журналынан алыңыз. Іске асыру кэшті алдын ала резервтеуі, слоттар арасында бөлуі немесе K мен V-ні әртүрлі форматта сақтауы мүмкін.

Qwen3-8B ресми модель карточкасында 36 қабат, сұрауларға арналған 32 бас, 8 KV-бас және 32 768 токендік негізгі контекст көрсетілген. Осындай контекст ашыла алады деген сөз оны әр пайдаланушыға бөлу керек дегенді білдірмейді. 8 мың токендік бір диалог, бір мезгілдегі төрт диалог және ұзақ құжаттарды пакетпен өңдеу салмақтар өзгермесе де, жадтың әртүрлі шегін жасайды.

llama.cpp ішінде K және V кэш түрлерін бөлек өзгертуге болады; құжаттамада F16, Q8 және бірнеше Q4/Q5 нұсқасы берілген. Квантталған KV-кэш жадты үнемдейді, бірақ оны да қазақша тексеру қажет: есім, оның септігі және алдыңғы абзацқа сілтеме арасындағы ұзақ байланыс қысқа ағылшынша сұрақтан бұрын бұзылуы мүмкін. F16-дан бастаңыз, бастапқы сапаны өлшеңіз, содан кейін бір параметрден ғана өзгертіңіз.

Модель сипаттамасындағы контекст техникалық шекті белгілейді, ал жұмыс контекстін жүйе анықтайды. Егер көмекші ішкі құжаттар бойынша жауап берсе, іздеу қабаты бүкіл мұрағатты емес, бірнеше сәйкес үзіндіні жіберуі керек. Артық контексті қысқарту жауапты жылдамдатып, дәлдікті жиі көтереді. Модельге нашар таңдалған беттерді беру үшін екінші үдеткіш сатып алу құжат іздеуі мен бөлінуін түзетуден әдетте қымбат.

Қатар жұмысты тіркелгі саны бойынша емес, белсенді генерациялар бойынша есептеңіз. Жүз қызметкер сирек сұрау жіберуі мүмкін, сонда бір GPU кезекті игереді. Он оператор бір мезгілде ұзақ істерді ашса, сол GPU-дың кідірісі жарамсыз болады. Екі көрсеткіш керек: ұзақ сұраудан кейінгі алғашқы токенге дейінгі уақыт және кейінгі генерация жылдамдығы. Секундына шаққандағы токеннің орташа саны кезекте күткен уақытты жасырады.

Модель көлемі қазақша сапаға кепілдік бермейді

Модель іске қосылғаннан кейінгі қолдау
GSE-нің ұлттық сервис желісі мен тәулік бойғы техникалық қолдауы енгізілген жүйемен бірге қалады.
GSE-мен байланысу

Қазақ тілі үшін сапа модель көлемімен біркелкі өспейді. Параметрдің көбеюі білім мен күрделі байланыстарға орын береді, бірақ жоқ қазақша деректі пайда қылмайды. Нәтиже алдын ала оқытудағы мәтіннің үлесі мен сапасына, нұсқауларға бейімдеуге, токенизаторға және әзірлеушілердің қазақ тілін бөлек тексергеніне тәуелді. Модель әулетінің атауы мен B саны көріністің бір бөлігін ғана сипаттайды.

8B - жіктеу, дерек шығару, қысқа жауап және алғашқы нұсқа үшін дұрыс бастау нүктесі. Мұндай модель тез іске қосылады, қолжетімді үдеткішке сыяды және промпттарды, жауап сызбаларын, іздеу баптауларын салыстыруға мүмкіндік береді. Оның шектеуі ұзақ пайымдауда, екіұшты нұсқауда және сирек деректе көрінеді. Егер жүйе құжаттан JSON толтыруы керек болса, шығару грамматикасы бар 8B модель форматты кейде бұзатын үлкен модельден пайдалырақ болуы мүмкін.

14B күрделі тұжырымдарда тұрақтырақ болуы мүмкін, бірақ ауысуды жасырын салыстырумен растаңыз. Екі модельге атауын көрсетпей, бірдей кіріс дерегін беріңіз де, қазақ тілінде еркін сөйлейтін адамдардан мағынаны, табиғилықты, терминдерді және нақты қателерді бағалауды сұраңыз. Айырмашылық аз болса, қосымша VRAM ұзақ контекстке немесе екінші слотқа көбірек пайда береді. 14B терістеуді, әрекет иесін және орыс тілінен кальканы айтарлықтай аз шатастырса, жад орынды жұмсалған.

30B-32B санаты күрделірек талдауға жарайды және пайымдауға көбірек мүмкіндік береді, бірақ 24 ГБ бір үдеткіштегі Q4 жинағы қорсыз дерлік жұмыс істейді. Бұл санатты 32-48 ГБ VRAM-ға орналастырған немесе өлшенген кідіріспен бір бөлігін RAM-ға түсірген дұрыс. Интерактивті көмекшіде баяу offload көбіне шағын сапа айырмасынан келетін пайданы жоққа шығарады.

70B-ді жауаптың құны өлшенгеннен кейін таңдаңыз. llama.cpp құжаттамасындағы Llama 3.1 мысалында 4 биттік салмақтар шамамен 43 ГБ қажет етеді, ал контекст пен қатар сұраулар талапты көтереді. 48 ГБ бір үдеткіш кейбір жинақты іске қосады, бірақ жұмыс қызметіне орын аз қалады. 80 ГБ үдеткіш немесе бірнеше карта қор береді, алайда модельді бөлу құрылғылар арасындағы дерек алмасуды қосады. Жалпы жады жеткілікті екі карта кідіріс бойынша әрдайым бір үлкен картаға тең болмайды.

MoE-модельдің сипаттамасын бөлек оқу қажет. Оның бір токенге белсенді параметрі аз әрі есептеу жылдамдығы жоғары болуы мүмкін, бірақ орындалу ортасы оларды түсірмесе, барлық жүктелген сарапшыға жад керек. Белсенді параметр саны есептеу жұмысын, ал жалпы сан салмақ файлын сипаттайды. Сатып алуды кіші санға қарай жоспарлау жүктеу кезінде жағымсыз тосынсый береді.

Дұрыс бастапқы стенд өсуге жол қалдырады

Өз міндетін әлі өлшемеген ұйым үшін қолайлы бастапқы конфигурация мынадай: 24 ГБ VRAM-ы бар бір GPU, 64 ГБ RAM, 12-16 өнімді ядросы бар заманауи процессор және кемінде 1 ТБ NVMe. Тікелей ауа ағыны бар корпус, ұзақ жүктемеге қуат қоры бар қорек блогы және таңдалған үдеткіш физикалық түрде сыятын аналық тақша қажет. Мұндай конфигурация пилотқа, құжат іздеуін әзірлеуге, 8B-14B модельдерін салыстыруға және Q4 форматындағы 30B-32B нұсқасын сақтықпен іске қосуға жарайды.

Неге 16 ГБ емес? 8B Q4 үшін ол жеткілікті, кейде 14B Q4 та сыяды. Бірақ контекст, мультимодалды модуль, модельдің екінші данасы немесе адаптерді оқыту қалған орынды тез тауысады. «Іске қосылады» мен «зерттеуге болады» арасындағы айырмашылық сол бос жадта жатыр. Бюджет шектеулі болып, міндет 8B Q4-та дәлелденсе, 16 ГБ адал таңдау болып қала береді. Нәтижесі белгісіз пилотта 24 ГБ инженер уақытын үнемдейді.

Неге 64 ГБ RAM? Жүйелік жад модельдерді жүктеу мен түрлендіруге, CPU-offload-қа, құжат индексіне, бірнеше орындалу ортасына және қызметтік процестерге керек. 8B-ді 32 ГБ-пен іске қосуға болады, бірақ BF16 файлы мен квантталған көшірмемен қатар жұмыс жадқа тез қысым түсіреді. Салмақтар GPU-да тұруы тиіс болса да, 70B Q4 туралы әңгімені мен 128 ГБ RAM-нан бастаймын. Бұл swap қолданбай, файлға, кэштерге және диагностикаға орын береді.

NVMe модельді іске қосу мен ауыстыру кезінде маңызды. Модель жүктелгеннен кейін дискінің тізбекті жылдамдығы генерацияны үдетпейді, бірақ баяу сақтау құрылғысы әр салыстыруды ұзақ күтуге айналдырады. 1 ТБ дискіге бірнеше 8B-32B форматы, бастапқы құжаттар, индекс және журналдар сыяды. 70B жинақтары, BF16 түпнұсқалары және оқу деректері үшін 2-4 ТБ қолайлырақ. Жұмыс құжаттарын, модельдерді және журналдарды әуелден каталогтар мен қолжетімділік ережелері бойынша бөліңіз: жергілікті диск деректерді басқару талабын жоймайды.

Тәулік бойы жұмыс істейтін қызметте тұтынушылық жұмыс станциясы мен сервер әртүрлі міндет атқарады. Сервер қашықтан басқаруды, бақыланатын салқындатуды, қатені түзететін жад нұсқаларын, қорек резервін және түсінікті қызмет көрсетуді береді. Әзірлеушілер тобы үшін жұмыс станциясы арзанырақ әрі тыныш. Бір адамның тәжірибесінде сервер мүмкіндіктеріне артық төлемеңіз, бірақ үстелдік корпусты тірекке қойып, оны өндірістік пайдалану деп атамаңыз.

Модель мен құжаттар бір машинада болса, желі бір жергілікті жауаптың жылдамдығына аса әсер етпейді. Ол дерек жүктеуге, сақтық көшірмеге және бірнеше түйіннің жұмысына әсер етеді. Бір серверге ұйымның қалыпты қосылымы жиі жеткілікті. Индекс, сақтау жүйесі және инференс бөлек машиналарда орналасса немесе бірнеше GPU-сервер үлкен дерек жинақтарын алмастырса, жылдам желі керек. Дерек ағындарының сызбасын жасамай тұрып, қымбат коммутатор сатып алмаңыз.

Модельдің толық өмірлік циклі үшін диск қорын бөлек есептеңіз. Топ әдетте бір дайын GGUF файлын ғана сақтамайды: қасында бастапқы салмақтар, екі-үш кванттау, алдыңғы жұмыс нұсқасы, құжат индексі және қабылдау жауаптарының жинағы қалады. Жаңартуды пайдаланушыларға қазір қызмет көрсетіп тұрған жалғыз нұсқаны өшіруден бастауға болмайды. Кері қайту үшін тексерілген жергілікті файл мен сақталған іске қосу конфигурациясы қажет. Модельдер жабық контур арқылы келсе, карантинге, бақылау сомасын тексеруге және аймақтар арасында көшіруге орын есептеңіз. Бұл әрекеттер GPU-ды көп жүктемейді, бірақ қауіпсіз жаңартудың қанша уақыт алатынын анықтайды.

CPU-offload пилотты құтқарады, бірақ VRAM-ды алмастырмайды

Өлшенген жүктемеге арналған VRAM
GSE мамандары контекст пен сұрау санына сай үдеткіш, жад және сақтау жүйесін таңдайды.
Жүйені таңдау

Барлық қабат үдеткішке сыймаса, llama.cpp және ұқсас орындалу орталары салмақтардың бір бөлігін RAM-да ұстап, жұмыстың бір бөлігін CPU-да орындай алады. Осылайша 24 ГБ VRAM-ы бар машинада 32B моделін немесе RAM-ы мол жүйеде 70B моделін іске қосуға болады. Бұл мүмкіндік сапаны бағалауға және сирек орындалатын пакеттік міндеттерге пайдалы. Интерактивті қызметте бағасы бірден көрінеді: жүйелік жадтың өткізу қабілеті мен PCIe арқылы алмасу генерацияны шектейді.

Процессорды ядро санына ғана қарап таңдамаңыз. Жадтың өткізу қабілеті, арна саны, қолдайтын RAM көлемі және PCIe желілері маңызды. Электрлік тұрғыдан тар режимде жұмыс істейтін слоттардағы екі қымбат GPU дерек күтіп қалуы мүмкін. Сатып алар алдында тақша нұсқаулығынан слоттар арасындағы қашықтықты, желілердің бөлінуін, NVMe орнатылғандағы режимді және карталарды күмәнді ауыстырғышсыз қоректендіру мүмкіндігін тексеріңіз.

Модель толығымен дерлік GPU-да болса, қуаттырақ CPU генерация жылдамдығын аз өзгертеді. Ол токендеуді, іздеуді, API-ды, пакеттерді дайындауды және орындалу ортасы үдеткішке көшірмеген операторларды бәрібір атқарады. RAG жүйесінде процессор индекс құрып, құжаттарды да өңдейді. Сондықтан әлсіз CPU генерацияның өзі жылдам болса да, алғашқы токенге дейінгі кідірісті ұзартады.

RAM көлеммен бірге өткізу қабілетін де беруі керек. Бір арналы конфигурация немесе қате орналастырылған модульдер CPU-offload жұмысына ерекше зиян келтіреді. Екі процессорлы NUMA-серверде процесс пен жадты қажетті GPU-ға жақын түйінге бекіту керек. Әйтпесе деректер процессорлар арасындағы қосылым арқылы өтеді. Қымбат сервердің ұқыпты жиналған жұмыс станциясынан ұтылуының жиі себебі осы.

Swap LLM үшін жадты кеңейту болып саналмайды. Ол қысқа шарықтау кезінде процесті құлатпауы мүмкін, бірақ салмақтарды дискіден үнемі оқитын генерация болжап болмайтындай баяулайды. Сынақ swap-қа кетсе, оны RAM жетіспеуі деп тіркеңіз. Алынған жылдамдықты модельдің немесе үдеткіштің сипаттамасы ретінде жарияламаңыз.

Өз сынағыңыз техникалық сипаттамадан бұрын жүруі керек

Тексеруді жалға алынған стендте, интегратордың көрсету машинасында немесе қолда бар жұмыс станциясында өткізуге болады. Мақсат бір кеште жеңімпаз таңдау емес, қайталанатын профиль алу: сапа, VRAM, RAM, алғашқы токенге дейінгі уақыт, генерация жылдамдығы және қатар сұраулардағы мінез. Бір уақытта бір факторды ғана өзгертіңіз, әйтпесе модель көлемі, салмақ форматы немесе жаңа промпттың қайсысы көмектескенін түсінбейсіз.

Алдымен токендеуді салыстырыңыз. Модельдер жергілікті кэште алдын ала жатса, төмендегі код желіге шықпай токен санын есептейді. Екі-үш үміткерді және ұйымыңыздың мәтіндерін қойыңыз.

from transformers import AutoTokenizer

models = [
    "Qwen/Qwen3-8B",
    "issai/LLama-3.1-KazLLM-1.0-8B",
]
text = "Құжатты қарап, өтініш берушіге қазақ тілінде қысқа жауап дайындаңыз."

for name in models:
    tokenizer = AutoTokenizer.from_pretrained(name, local_files_only=True)
    ids = tokenizer.encode(text, add_special_tokens=False)
    print(name, "tokens=", len(ids), "first_ids=", ids[:12])

Шығыс модель атауы tokens= N first_ids= [...] түрінде болады. Санның өзі сапаны анықтамайды, бірақ контекст шығынын түсіндіреді. Толық құжаттарды өткізіп, медиананы және ауыр жағдайларды есептеңіз. Бір токенизатор үнемі әлдеқайда ұзақ тізбек жасаса, сол модельге бірдей бастапқы мәтін үшін көбірек уақыт пен KV-жады қажет болады.

Одан кейін нақты GGUF файлын тұрақты контекстпен іске қосып, журналды сақтаңыз:

llama-cli -m model-Q4_K_M.gguf -c 8192 -ngl 99 -p "Қазақстандағы қызмет туралы қысқа анықтама жазыңыз." -n 256

llama.cpp журналынан модель көлемі мен KV buffer size жолдарын, одан кейін секундына токен саны бар prompt eval time және eval time жолдарын іздеңіз. Қабаттардың бір бөлігі GPU-ға көшпесе, журнал оны да көрсетеді. Қыздырғаннан кейін іске қосуды қайталаңыз, өйткені файлды дискіден алғаш оқу мен буфер құру уақытты бұрмалайды.

Жұмыс сынағын бес режимде өткізіңіз: қысқа сұрақ, ұзақ құжат, күтілетін ең ұзақ жауап, бірнеше қатар сұрау және контекст терезесінің шегіндегі сұрау. Әр режим үшін VRAM мен RAM шегін, алғашқы токенге дейінгі уақытты, генерация жылдамдығын және қателерді сақтаңыз. Қазақша жинақта BF16 немесе Q8-ді таңдалған Q4-пен бөлек салыстырыңыз. Сонда басқа тілдегі орташа бағаға сенбей, кванттау бағасын көресіз.

Қабылдауды ана тілінде сөйлейтін адам мен пән маманы бірге жүргізеді. Біріншісі жасанды жалғауларды, калькаларды және орысшаға ауысуды байқайды, екіншісі дерек пен толықтықты тексереді. Бағалаушыларға қауіпті жауапты жай әлсіз жауаптан бөлек белгілеуге мүмкіндік беріңіз. Заң, медицина немесе қаржы мәтінінде қате саны бар көркем сөйлем сынақтан өтпеуі тиіс.

Бірнеше GPU жүктеме өлшенгеннен кейін керек

Қазақстандық сервердегі жергілікті модель
GSE Қазақстанда сервер өндіріп, таңдалған жергілікті модельге арналған AI-инфрақұрылымды интеграциялайды.
Жобаны талқылау

Екінші үдеткіш өлшенген үш себептің біріне байланысты алынады: салмақтар бір картаға сыймайды, бір дана қатар жүктемені көтермейді немесе оқытуға бөлек контур керек. Бұл себептер әртүрлі сызбаға әкеледі. Бір модельді GPU арасында бөлу қолжетімді жадты көбейтеді, модельдің бірнеше көшірмесі қатар жауап санын арттырады, ал бөлек оқу машинасы жұмыс қызметінің ресурсын алмайды.

Tensor parallel кезінде бір қабаттың бөліктері карталарға таратылады, сондықтан қосылым жылдамдығы маңызды. Қалыпты PCIe пилотқа жеткілікті болуы мүмкін, бірақ алмасу кідіріс қосады. Pipeline parallel кезінде әртүрлі қабат топтары бөлек құрылғыларда орналасып, ең баяу кезең бүкіл конвейерді шектейді. Нәтижені орындалу ортасы, модель архитектурасы және нақты GPU анықтайды, сондықтан қораптардағы TFLOPS мәндерін қосу ештеңеге кепілдік бермейді.

70B Q4 үшін 24 ГБ-тан екі карта тартымды көрінеді: жалпы жадқа салмақтар сыйып кетуі мүмкін. Бірақ көлемнің бәрі дерлік модельге кетіп, KV-кэшке, буферлерге және тензорлардың біркелкі бөлінбеуіне орын аз қалады. 32 ГБ-тан екі карта немесе жады үлкен бір карта жұмысты еркінірек етеді. Таңдау бағаға, қолжетімділікке, қажетті қатар жұмысқа және нақты орындалу ортасының қолдауына тәуелді.

Қызметті деректері әртүрлі бөлімдер қолданса, бір ортақ 70B-ден гөрі бірнеше шағын 8B-14B данасы дұрыс болуы мүмкін. Индекстерді оқшаулау, модельдерді жаңарту және кезекті шектеу оңайлайды. Үлкен модель сынақ оның артықшылығын дәлелдеген сұраулар үшін қалады. Бағыттаушы қарапайым әрекеттерді шағын модельге, сирек қиын сұрауларды үлкен модельге жібере алады, бірақ енді екі жүйені бақылап, тексеру қажет.

GSE Қазақстанда серверлер мен AI-инфрақұрылымды жобалап, интеграциялайды, сондықтан сипаттаманы өлшенген модельге, пайдаланушы санына, орналастыру талаптарына және кейінгі қызмет көрсетуге байланыстыруға болады. Өнім қатарының атауы немесе ең жоғарғы конфигурация сынақ хаттамасын өздігінен алмастырмайды.

Қуат пен салқындатуды кеңседегі бос тұрысқа емес, ұзақ жүктемеге қарай жоспарлаңыз. Үдеткіш бірнеше сағат бойы белгіленген қуат шегіне жақын жұмыс істеуі мүмкін; бірнеше карта бір-біріне баратын ауаны қыздырады. Тіректегі қолжетімді қуатты, ауа бағытын, кіріс температурасын, қорек кабельдерін және желдеткіш істен шыққандағы жұмысты тексеріңіз. Осы қарапайым тармақтар модельдің жұмыс күні қолжетімді болуын анықтайды.

Жеткізу шартына құрамдастар тізімін ғана емес, қабылдау іске қосуын да енгізіңіз. Орындаушы келісілген модель файлын жүктеп, белгіленген контексті ашып, берілген қатар генерациялар санын өткізіп, swap қолданбай жад шегін көрсетуі керек. Хаттамаға драйвер мен орындалу ортасының нұсқаларын, температураны, қуат тұтынуды, алғашқы токенге дейінгі уақытты және қыздырылғаннан кейінгі генерация жылдамдығын жазыңыз. Мұндай сынақ қате қосылған PCIe желілерін, әлсіз салқындатуды және жадтың дұрыс емес конфигурациясын пайдалануға бермей тұрып табады. Синтетикалық стресс-тест пайдалы, бірақ жүйе сатып алынған бағдарламалық стекті алмастырмайды.

Соңғы конфигурация өлшенген сұраққа жауап беруі керек

Жақсы сипаттамада абстрактілі «AI-сервер» емес, тексерілетін байланыс жазылады: модель мен лицензия, салмақ форматы, жұмыс контексті, қатар генерациялар саны, қажетті кідіріс, VRAM мен RAM көлемі, деректі сақтау режимі және өсу жоспары. Бір тармақ белгісіз болса, конфигурацияны кеңейтуге ыңғайлы қалдырыңыз және белгісіздікті ең қымбат GPU-мен толтырмаңыз.

Қазақ тіліне арналған алғашқы жергілікті жобалардың көбі үшін дұрыс бастау нүктесі өзгермейді: 24 ГБ VRAM, 64 ГБ RAM және 1 ТБ NVMe, содан кейін 8B, 14B және қажет болса, қолайлы кванттаудағы 30B-32B модельдерін салыстыру. 8B қабылдаудан өтсе, ұйым арзанырақ әрі жылдам қызмет алады. Тек 70B міндетті орындаса, сынақ нәтижелері 64-80 ГБ VRAM немесе бірнеше карталы түйінге негіз болады.

Қазақша сынақты әдемі аппараттық кесте үшін қысқартпаңыз. Өз құжаттарыңыздағы токендерді өлшеңіз, BF16 немесе Q8-ді эталон ретінде тексеріңіз, Q4-пен салыстырыңыз, нақты контексті ашыңыз және бірнеше сұрауды қатар жіберіңіз. Осындай сынақтан кейін жабдық таңдау есепке айналады. Оған дейін кез келген нақты конфигурация тек болжам болып қалады.

FAQ

Қазақша 8B жергілікті модельге қанша VRAM керек?

4 биттік форматтағы 8B модельге әдетте 8-12 ГБ VRAM жеткілікті, ал 16 ГБ контекстке көбірек орын қалдырады. BF16 тек салмақтарға шамамен 16 ГБ қажет етеді, сондықтан 24 ГБ үдеткіш қолайлырақ.

16 ГБ жады бар GPU KazLLM үшін жеткілікті ме?

4 биттік KazLLM 8B жинағына 16 ГБ әдетте бір пайдаланушы мен орташа контекст үшін жеткілікті. Сатып алар алдында нақты файлды, сұрау ұзындығын және KV-кэшті тексеріңіз, өйткені «8B» жад шығынының бәрін сипаттамайды.

Неге модель орысша жақсы жауап беріп, қазақша қателеседі?

Модель көлемі қазақша деректің аздығын, нұсқауларға әлсіз бейімдеуді немесе нашар токендеуді өтемейді. Грамматиканы, жергілікті білімді және міндетті орындауды ұйымыңыздың мәтіндерінде бөлек тексеріңіз.

Қазақ тілі үшін қай кванттау дұрыс?

Эталон ретінде Q8 немесе BF16-дан бастап, кейін Q5 пен Q4-ті бір қазақша сұраулар жинағында салыстырыңыз. Q4 жиі дұрыс ымыра береді, ал қатты Q3 және Q2 жалғауларды, есімдерді және нақты деректерді көбірек бұзуы мүмкін.

70B модельді 24 ГБ-тан екі GPU-да іске қосуға бола ма?

Кейбір Q4 жинақтың салмақтары жалпы 48 ГБ-қа сыйуы мүмкін, бірақ KV-кэш пен буферлерге орын аз қалады. Мұндай сызба тексеруге жарайды, ал жұмыс қызметіне әдетте көбірек жад қоры керек.

Модель GPU-да жұмыс істесе, қуатты процессор қажет пе?

Қабаттардың көбі GPU-да болса, процессор генерация жылдамдығына аз әсер етеді. Ол токендеуді, құжат іздеуді, API-ды және сұрау дайындауды атқарады, сондықтан тым әлсіз CPU кідірісті ұзартады.

Жергілікті LLM серверіне қанша жедел жад керек?

8B-14B модельдері бар пилот үшін 64 ГБ RAM-нан бастаған дұрыс, бірақ тар міндет 32 ГБ-пен де жұмыс істеуі мүмкін. 70B Q4 және CPU-offload үшін шекті өлшегеннен кейін 128 ГБ немесе одан көп жад қолайлырақ.

Екінші GPU қазақша мәтін сапасын жақсарта ма?

Екінші GPU өздігінен сапаны өзгертпейді. Ол үлкен модель жүктеуге, контексті ұзартуға немесе көбірек сұрауға қызмет етуге мүмкіндік береді, ал тіл сапасының өсуін модельдерді бөлек салыстырумен растау керек.

Жергілікті модель құпия құжаттарға жарай ма?

Жергілікті орналастыру мәтінді сыртқы API-ға жіберу қажеттігін азайтады, бірақ қолжетімділікті, журналдарды, сақтық көшірмелерді және индекс қорғанысын шешпейді. Модель нақты пайдаланушыға рұқсат етілген құжаттарды ғана алуы тиіс.

Модельді қазақша құжаттармен қосымша оқыту керек пе?

Алдымен құжат іздеуі жақсы мықты көптілді немесе арнайы модельді тексеріңіз. Қосымша оқыту өлшенген кемшілік тұрақты болып, оны промпт, сөздік немесе RAG жаба алмаған кезде орынды; LoRA үшін де жадты бөлек есептеу қажет.