Со развојот на вештачката интелегенција се почесто слушаме и за терминот LLM (големи јазични модели), но дали знаме што значат, за што се користат и како се изградени?
И да знаете и да не знаете не е страшно пошто сеа ќе ја обработиме тематиката по нашки, со народен јазик секој да разбере, на наш македонски јазик...
Што е LLM?
Вештачката интелигенција се повеќе влегува во нашиот живот и нуди се повеќе можности што им се достапни на обичните корисници. Нашиот живот веќе не можеме да го замислиме без LLM (Large Language Models) или големи јазични модели, кои веќе се користат во најразлични области. Тука спаѓаат генерирањето и обработката на текст и код, разговорната вештачка интелигенција (чат-ботови, виртуелни асистенти), машинскиот превод и машинскиот вид, автоматизацијата на деловните процеси и слично.
На крајот на краиштата, LLM овозможуваат значително да се зголеми продуктивноста при извршување на различни задачи. Она што порано можело да одземе денови, па дури и недели рачна работа, сега со помош на LLM се завршува за неколку часа или дури минути. Големите јазични модели станаа толку незаменлива алатка што некои луѓе веќе не можат да ја замислат својата работа без нив.
LLM претставуваат класа на невронски модели на вештачка интелигенција, обучени врз огромни количини податоци (big data). Нивната клучна способност е да разбираат, анализираат и генерираат текстови на природен јазик. Некои LLM работат и со слики, аудио и други видови информации.
Иако невронските мрежи се измислени одамна, вистинскиот пресврт во јавната свест се случи во 2022 година со објавувањето на чат-ботот ChatGPT, кој беше наменет за обичниот корисник, беше достапен бесплатно и на крајот предизвика голем одек во медиумите.
Како се изградени и како работат LLM
Во основата на повеќето современи LLM лежи архитектурата на трансформери (Transformer), претставена во 2017 година. Клучната особина на трансформерите е механизмот на внимание (attention mechanism): тој и овозможува на моделот да ја процени важноста на различните зборови во реченицата еден во однос на друг. Благодарение на ова, моделот ги зема предвид не само најблиските зборови, туку и врските меѓу елементите на текстот што се наоѓаат далеку еден од друг.
Работата на LLM се заснова на предвидување на токени чекор по чекор. Токенот претставува дел од текст: збор, дел од збор или знак. Моделот го анализира контекстот и пресметува кој токен со најголема веројатност треба да следува понатаму. При тоа, тој не го „разбира“ значењето како човек, туку работи со статистички етапи.
Процесот на работа може да се подели на следниве фази:
Главната вештина при работата со LLM е умеењето правилно да се формулира задачата (промптот). Колку попрецизно го опишете контекстот, улогата и посакуваниот резултат, толку поквалитетен ќе биде одговорот на моделот.
Ограничувања и проблеми кај LLM
И покрај импресивните можности, LLM имаат низа ограничувања:
Разновидност на LLM
Денес под терминот LLM се кријат како модели од општ карактер, така и мноштво специјализирани алатки. Сите тие може да се поделат во пет клучни категории според видот на содржината со која работат:
Стартување на LLM
Начините за стартување на големите јазични модели (LLM) се делат на две основни категории: облачни сервиси (готови решенија преку API) и локално стартување (на сопствена опрема).
Некои од најпопуларните добавувачи на модели нудат готови облачни сервиси, каде што големите јазични модели се веќе поставени. Доволно е да користиме посебен интерфејс за да им пристапиме. Тоа е најлесниот и најбрзиот начин, кој не бара моќен хардвер ниту управување со инфраструктура. Но во овој водич нас ќе не интересира токму локалното стартување на модели на сопствениот компјутер.
За стартување на LLM на домашен компјутер или лаптоп постојат неколку начини. Изборот зависи од тоа дали ви треба готов чат, интеграција во код или максимална заштеда на меморија. Некои од начините претставуваат готови апликации со графички интерфејс или веб-интерфејс за работа преку прелистувач. Распространети начини се:
Параметри на моделите и типови модели
Што е „параметар“ кај LLM?
Ако замислите невронска мрежа како огромен дигитален мозок, тогаш параметрите се синапсите (врските меѓу невроните). Физички, секој параметар е едноставно број (коефициент или „тежина“) што определува колку силно еден неврон влијае врз друг при преносот на информации. Кога моделот се обучува, тој ги прилагодува овие броеви. Кога моделот одговара на прашање на корисникот, тој го пропушта текстуалното барање низ овие милијарди броеви (ги множи и ги собира). Колку попрецизно се прилагодени овие броеви и колку повеќе се на број, толку посложени логички врски може да гради моделот.
Буквата „B“ во името на моделите (на пример, Llama-3-8B) означува Billion (милијарда). Тоа значи дека во Llama 3 има 8 милијарди вакви броеви-коефициенти.
Класификација на LLM според бројот на параметри
Во зависност од бројот на параметри (тежини), современите текстуални модели се делат на четири основни групи:
Квантизација / компресија на LLM
Квантизацијата (Quantization) е уште еден атрибут на моделот што треба да се земе предвид при работата со LLM. Квантизацијата претставува процес на намалување на големината на моделот преку снижување на прецизноста на броевите од кои се составени неговите параметри. Поедноставно кажано, тоа е претворање на тежините на моделот од формат со „висока прецизност“ (каде што секој број е запишан како децимален) во формат на „заокружени броеви“ (каде што децималите стануваат пократки или се претвораат во цели броеви). Ова овозможува моделот да се компресира 2 до 4 пати, при што се задржува до 95 до 99 отсто од неговата првобитна „интелигенција“.
Може да се направи и следнава споредба со пиксели и боја. Да претпоставиме дека секој пиксел од сликата во максимален квалитет се кодира со 16 бита (65.536 нијанси). Ако сликата се компресира на 4 бита (само 16 бои), сликата ќе стане груба. Но кај LLM квантизацијата работи попаметно (благодарение на сложените алгоритми за оптимизација): таа ги наоѓа најважните „нијанси“ (тежини) и ја задржува нивната прецизност, а помалку важните ги заокружува. На крајот моделот тежи многу помалку, а неговата логика речиси и да не страда.
Формати на податоци: од FP16 до INT4
Првично, моделите се обучуваат и се објавуваат во висок квалитет. За да се разберат типовите на квантизација, важно е да се знаат основните формати:
Во зависност од тоа на каков хардвер и преку кој софтвер ја стартувате невронската мрежа, се користат различни технологии на квантизација.
GGUF (порано GGML), стандард за CPU + GPU
Најфлексибилниот формат, оптимизиран за работа на обични компјутери преку процесори и графички картички (главно преку програмата llama.cpp и интерфејси како LM Studio). Овозможува моделот делумно да се префрли во оперативната меморија (RAM) ако во графичката картичка (VRAM) снема место.
Во имињата на датотеките на моделите со ваква компресија може да се видат ознаки како Q4_K_M, Q5_K_S, Q8_0:
Формати создадени исклучиво за графички картички NVIDIA. Моделот целосно се вчитува во VRAM.
Во имињата на датотеките на моделите се среќаваат ознаки како 4bit, 8bit или точна назнака за битрејтот (на пример, 4.0bpw, што значи „bits per weight“, односно битови по тежина).
Моделите во ваков формат работат повеќекратно побрзо од GGUF, бидејќи ја користат целата моќ на тензорските јадра на графичката картичка. Но ако моделот не се смести целосно во VRAM, тој едноставно ќе даде грешка и нема да се стартува.
AWQ (Activation-aware Weight Quantization), паметна компресија
Напреден метод на квантизација за GPU: при компресијата, алгоритмот анализира кои параметри на моделот најчесто се „вклучуваат“ за време на работата (активации). Овие важни параметри се оставаат во висок квалитет, а останатите се компресираат посилно. AWQ-моделите работат попрецизно од GPTQ при иста големина.
FP4 / NormalFloat4 (NF4), нова генерација
Формати што се користат при дообучување на моделите (QLoRA) и активно се воведуваат во новиот хардвер (на пример, во архитектурата Blackwell кај RTX 5090). Математички, овој формат е подобро прилагоден за распределбата на тежините во невронските мрежи отколку обичниот INT4, што ја намалува загубата на прецизност речиси до нула.
Општи забелешки
Ако преземате модел за лична употреба, тогаш подобро е да барате модел со тип Q4_K_M (во формат GGUF) или 4bit (во формат AWQ/EXL2). Ова ќе ви овозможи да добиете модел што е 4 пати помал од оригиналот, работи 3 до 4 пати побрзо, а разликата во квалитетот на одговорите најверојатно нема ни да ја забележите.
Токен и токенизација
Токенот (во контекст на моделите LLM) е основна единица текст што моделот ја користи за читање, обработка и генерирање информации. Невронските мрежи не ги разбираат човечките зборови во целост, а уште помалку ги гледаат одделните букви. Тие го претвораат текстот во броеви. Процесот на разбивање на текстот на вакви делчиња (токени) се нарекува токенизација, а алатката што го прави тоа се нарекува токенизатор (Tokenizer).
Токенот не е задолжително цел збор. Тоа може да биде:
Сега да земеме пример на македонски јазик. Во македонскиот јазик, поради сложената морфологија и наставките, зборовите се разбиваат на токени уште посилно. Зборот „Здраво“ ќе се претвори во ["З", "драв", "о"] (3 токени).
Компанијата OpenAI дури објави и бесплатна алатка за пресметка на токени, OpenAI Tokenizer, која овозможува нагледно да се види како одредена фраза се разбива на токени.
На пример, да ја земеме фразата "I love programming". Тука има три збора, а секој од нив, од гледна точка на LLM GPT-5, претставува одделен токен. Фразата се дели на токени вака: ["I", " love", " programming"]
Сега да земеме слична фраза на македонски јазик: "Јас сакам програмирање". Тука исто така има три збора, но OpenAI Tokenizer за моделот GPT-5 ќе ја подели на 4 токени: ["Јас", " сакам", " програм", "ирање"]
Но ако земеме друг модел од OpenAI, GPT-4 (претходното семејство модели), тој ќе ја подели истата фраза дури на 7 токени: ["Јас", " са", "кам", "про", " прог", "рами", "рање"]
А од гледна точка на последните верзии од семејството модели Gemini, исто така ќе има 4 токени, но со малку поинаква поделба: ["Јас", " сакам", " програмира", "ње"]
За приближна проценка на обемот на текстот, во индустријата се користи стандарден сооднос за англискиот јазик:
Зошто воопшто е потребно да се знае за токените? Пред се, поради следниве причини:
Компатибилност на хардверот/графичката картичка и можностите на LLM
Каков хардвер, каков компјутер е потребен за работа со LLM?
Обемот на видео меморија (VRAM) е главниот фактор што определува кои операции со моделите ви се достапни. Теоретски, не е задолжителна моќна графичка картичка, бидејќи моделот може да се стартува и на централниот процесор на компјутерот, користејќи ја оперативната меморија. Сепак, брзината при користење на моделот на процесор или на оперативна меморија многу ќе заостанува во споредба со стартувањето на графичка картичка со споредлив обем меморија. Затоа во овој случај ќе се фокусираме токму на графичката картичка како хардвер потребен за стартување на LLM.
Општо земено, колку поголем обем меморија има графичката картичка, толку поголем модел може да се стартува и толку посложени операции може да се извршуваат со него. Но пред да преминеме на разгледувањето на односот меѓу обемот на VRAM и достапните можности за работа со LLM, важно е да се разбере на што воопшто се троши меморијата:
До 8 GB VRAM заклучно (почетно ниво) Соодветно за: запознавање со технологијата, едноставни чат-ботови.
Да направиме мала споредба на можностите на 6 GB и 8 GB VRAM според основните аспекти:
Можност / Операција 6 GB VRAM 8 GB VRAM
Стартување модели од класата 7B/8B (Llama 3, Mistral, Gemma 2) Практично невозможно без силна загуба на брзина. Моделот не се сместува во целост, дел оди во бавната RAM. Целосно стартување во квантизација Q4 (INT4). Моделот целосно се сместува во видео меморијата.
Достапна големина на контекстот Минимална (до 512–1024 токени) за микро-модели. Основна (до 2048–4000 токени) за модели од 8B. Меморијата стига за помал разговор.
Стартување микро-модели (1B–3B) (Phi-3, Gemma-2B, Qwen-2.5-3B) Целосно стартување во добар квалитет (INT8 или FP16) со долг контекст. Идеална работа, може да се стартуваат паралелно со други задачи или во максимален FP16.
Дообучување (Fine-tuning) Недостапно дури и за LoRA (само за навистина ситни модели што имаат помалку од 1B параметри). Достапен е QLoRA-тјунинг на микро-модели (1B–3B) или LoRA за едноставни задачи.
Зошто 2 GB разлика толку силно ја менуваат ситуацијата? Работата е во тоа што условен „златен стандард“ во светот на open-source невронските мрежи се моделите од 7 до 8 милијарди параметри (7B/8B). Тие имаат основен „интелект“, логика и способни се добро да комуницираат. Приближната математика на распределбата на меморијата изгледа вака:
12–16 GB VRAM (основно работно ниво) Соодветно за удобен локален развој и основна автоматизација.
За жал, хардверските можности на нашите компјутерски системи честопати се ограничени, па соодветно, меморијата на графичката картичка едноставно може да не биде доволна. Што да се прави во тој случај? Постојат неколку варијанти, меѓу кои:
И да знаете и да не знаете не е страшно пошто сеа ќе ја обработиме тематиката по нашки, со народен јазик секој да разбере, на наш македонски јазик...
Што е LLM?
Вештачката интелигенција се повеќе влегува во нашиот живот и нуди се повеќе можности што им се достапни на обичните корисници. Нашиот живот веќе не можеме да го замислиме без LLM (Large Language Models) или големи јазични модели, кои веќе се користат во најразлични области. Тука спаѓаат генерирањето и обработката на текст и код, разговорната вештачка интелигенција (чат-ботови, виртуелни асистенти), машинскиот превод и машинскиот вид, автоматизацијата на деловните процеси и слично.
На крајот на краиштата, LLM овозможуваат значително да се зголеми продуктивноста при извршување на различни задачи. Она што порано можело да одземе денови, па дури и недели рачна работа, сега со помош на LLM се завршува за неколку часа или дури минути. Големите јазични модели станаа толку незаменлива алатка што некои луѓе веќе не можат да ја замислат својата работа без нив.
LLM претставуваат класа на невронски модели на вештачка интелигенција, обучени врз огромни количини податоци (big data). Нивната клучна способност е да разбираат, анализираат и генерираат текстови на природен јазик. Некои LLM работат и со слики, аудио и други видови информации.
Иако невронските мрежи се измислени одамна, вистинскиот пресврт во јавната свест се случи во 2022 година со објавувањето на чат-ботот ChatGPT, кој беше наменет за обичниот корисник, беше достапен бесплатно и на крајот предизвика голем одек во медиумите.
Како се изградени и како работат LLM
Во основата на повеќето современи LLM лежи архитектурата на трансформери (Transformer), претставена во 2017 година. Клучната особина на трансформерите е механизмот на внимание (attention mechanism): тој и овозможува на моделот да ја процени важноста на различните зборови во реченицата еден во однос на друг. Благодарение на ова, моделот ги зема предвид не само најблиските зборови, туку и врските меѓу елементите на текстот што се наоѓаат далеку еден од друг.
Работата на LLM се заснова на предвидување на токени чекор по чекор. Токенот претставува дел од текст: збор, дел од збор или знак. Моделот го анализира контекстот и пресметува кој токен со најголема веројатност треба да следува понатаму. При тоа, тој не го „разбира“ значењето како човек, туку работи со статистички етапи.
Процесот на работа може да се подели на следниве фази:
- Токенизација: барањето на корисникот се дели на одделни токени.
- Векторизација (создавање ембединзи): токените се претвораат во нумерички вектори што го одразуваат нивното значење и контекст.
- Обработка со трансформер: векторите поминуваат низ многу слоеви на моделот, каде што се откриваат скриените зависности и етапи.
- Генерирање одговор: моделот последователно ги предвидува токените и го формира конечниот текст. Процесот завршува кога ќе се генерира посебен токен „крај на реченицата“.
Главната вештина при работата со LLM е умеењето правилно да се формулира задачата (промптот). Колку попрецизно го опишете контекстот, улогата и посакуваниот резултат, толку поквалитетен ќе биде одговорот на моделот.
Ограничувања и проблеми кај LLM
И покрај импресивните можности, LLM имаат низа ограничувања:
- „Халуцинации“: моделот може да дава веродостојни, но лажни одговори.
- Пристрасност: во одговорите може да се појават предрасуди што се содржани во податоците за обука.
- Ограничена контекстна рамка: моделот не може да земе предвид премногу голем обем информации одеднаш.
- Чувствителност на формулациите: мала промена во барањето може силно да влијае на резултатот.
- Застарени податоци: знаењата на моделот се ограничени на периодот во кој е обучен (заостанувањето може да изнесува половина година или повеќе).
- Високи трошоци: обуката и работата на големите модели бараат значителни ресурси.
Разновидност на LLM
Денес под терминот LLM се кријат како модели од општ карактер, така и мноштво специјализирани алатки. Сите тие може да се поделат во пет клучни категории според видот на содржината со која работат:
- Текстуални модели од општа намена (LLM)
Тоа се класичните чат-ботови или „паметни соговорници“. Тие најдобро се справуваат со текст, програмски код, логичко расудување и анализа на големи количини податоци. Тука спаѓаат:- ChatGPT од OpenAI: најпопуларниот и најуниверзалниот модел во светот. Идеален е за основни задачи, креативно пишување и програмирање.
- Claude од Anthropic: главниот конкурент на ChatGPT.
- DeepSeek: кинески текстуален модел. Главен конкурент на двата од погоре.
- Генератори на слики (Text-to-Image)
Овие модели претвораат текстуален опис (промпт) во готови илустрации, фотографии или дигитална уметност. На пример:- Midjourney: светски лидер во областа на фотореализмот и уметничките илустрации.
- DALL-E 3: модел од компанијата OpenAI.
- Stable Diffusion: модел со отворен изворен код. Овозможува целосна контрола врз процесот на генерирање, но бара моќен компјутер и инсталација.
- Генератори на видео (Text-to-Video)
Алатки способни да создаваат реалистични видеа според текстуален опис или да оживеат статична слика:- Runway (Gen-2 / Gen-3): моќна комерцијална алатка за генерирање кинематографско видео, честопати користена од професионални монтажери.
- Luma Dream Machine: современа невронска мрежа што создава висококвалитетни 3D-сцени и видеа со реалистична физика на движењето.
- Sora од OpenAI: напредна апликација што умее да генерира сложени сижејни видеа со прецизно задржување на ликовите и на аглите на снимање.
- Генератори на музика и звук (Text-to-Audio)
Модели што пишуваат целосни песни со вокал, аранжман и стихови, врз основа на краток опис на жанрот и темата.- Suno AI: создава готови радио-хитови за 30 секунди. Вие ја задавате темата, а невронската мрежа сама го пишува текстот и генерира вокал на кој било јазик.
- Udio: главниот конкурент на Suno, кој се издвојува со неверојатно чист квалитет на звукот и реалистични гласови.
- Локални и тесно специјализирани модели
Модели што се создаваат за решавање конкретни задачи (на пример, само за пишување код) или се оптимизирани за работа без интернет. На пример, v0 од Vercel е специјализирана невронска мрежа за веб-развивачи, која според текстуален опис веднаш генерира готов интерфејс на сајт (код на React/HTML/CSS).
Стартување на LLM
Начините за стартување на големите јазични модели (LLM) се делат на две основни категории: облачни сервиси (готови решенија преку API) и локално стартување (на сопствена опрема).
Некои од најпопуларните добавувачи на модели нудат готови облачни сервиси, каде што големите јазични модели се веќе поставени. Доволно е да користиме посебен интерфејс за да им пристапиме. Тоа е најлесниот и најбрзиот начин, кој не бара моќен хардвер ниту управување со инфраструктура. Но во овој водич нас ќе не интересира токму локалното стартување на модели на сопствениот компјутер.
За стартување на LLM на домашен компјутер или лаптоп постојат неколку начини. Изборот зависи од тоа дали ви треба готов чат, интеграција во код или максимална заштеда на меморија. Некои од начините претставуваат готови апликации со графички интерфејс или веб-интерфејс за работа преку прелистувач. Распространети начини се:
- LM Studio
Претставува графичка програма што е доволно да ја преземете од официјалниот сајт, да ја инсталирате и да ја стартувате. Таа ви овозможува да пронајдете одреден модел (се користи складиштето Hugging Face). Доволно е со еден клик да го преземете моделот и можете да разговарате со него.
Има вграден локален сервер, па може да се поврзе со други програми.
Ова е всушност најлесниот начин. Инсталација со еден клик, интерфејс сличен на ChatGPT. Одлично одговара за обичните корисници. - an.ai
Аналог на LM Studio, исто така претставува графичка апликација, само што за разлика од LM Studio има целосно отворен код (Open-Source). Умее да работи со локални датотеки (RAG), можете да поставите PDF-документ и да разговарате за неговата содржина. - GPT4All
Програма од компанијата Nomic. Специјализирана е за работа дури и на слаби процесори без графичка картичка. Многу е лесна и добро оптимизирана за обичните процесори (CPU). - Ollama
Се инсталира како конзолна алатка. Работи во заднина како служба и по правило е достапна само преку конзола: за инсталирање и стартување на моделите се користат конзолни команди. Сепак, честопати до Ollama се пристапува преку прелистувач. За таа цел обично дополнително се презема Open WebUI (интерфејс визуелно идентичен со ChatGPT) или AnythingLLM.
Од предностите може да се спомене дека Ollama троши минимум ресурси кога мирува и управува со меморијата автоматски (префрла делови од моделот меѓу GPU и RAM).
За обичните корисници Ollama можеби претставува малку посложена варијанта од LM Studio, но сепак не е тешка за користење. Затоа сосема одговара за развивачи и напредни корисници. - llama.cpp
Ова е темелот врз кој се изградени LM Studio и Ollama. Сепак, во чиста форма е наменет за понапредни корисници и развивачи, за кои е важна можноста за пофино прилагодување, конфигурирање и управување. На пример, ако моделот треба да се вгради во сопствена скрипта на Python, Node.js или да се автоматизираат задачи. llama.cpp е напишан во чист C/C++ и се одликува со максимална брзина на работа на процесори (вклучувајќи Apple Silicon M1/M2/M3/M4) и графички картички. Има Python-биндинзи (llama-cpp-python), кои овозможуваат лесно да се вклучи овој мотор во сопствените програми. - Hugging Face Transformers
Овој начин е наменет за развивачи. Тоа е класична библиотека на Python за работа со невронски мрежи директно преку код. Одговара за длабоко прилагодување, експерименти и дообучување. Работи со не компресирани модели (форматот Safetensors), поради што бара огромен обем чиста видео меморија (VRAM). За обичните компјутери во моментов ретко се користи.
Параметри на моделите и типови модели
Што е „параметар“ кај LLM?
Ако замислите невронска мрежа како огромен дигитален мозок, тогаш параметрите се синапсите (врските меѓу невроните). Физички, секој параметар е едноставно број (коефициент или „тежина“) што определува колку силно еден неврон влијае врз друг при преносот на информации. Кога моделот се обучува, тој ги прилагодува овие броеви. Кога моделот одговара на прашање на корисникот, тој го пропушта текстуалното барање низ овие милијарди броеви (ги множи и ги собира). Колку попрецизно се прилагодени овие броеви и колку повеќе се на број, толку посложени логички врски може да гради моделот.
Буквата „B“ во името на моделите (на пример, Llama-3-8B) означува Billion (милијарда). Тоа значи дека во Llama 3 има 8 милијарди вакви броеви-коефициенти.
Класификација на LLM според бројот на параметри
Во зависност од бројот на параметри (тежини), современите текстуални модели се делат на четири основни групи:
- Микро-модели (до 4B параметри) Најкомпактните мрежи, создадени специјално за работа на смартфони, слаби лаптопи и канцелариски компјутери. Примери: Microsoft Phi-3 (3.8B), Google Gemma 2 (2B), Qwen 2.5 (1.5B и 3B). Ваквите модели имаат основно разбирање на јазикот, можат правилно да поправаат грешки, да прават краток извадок (summary) од текстови и да одговараат на едноставни прашања. Сепак, тие слабо се справуваат со сложена логика, математика, програмирање и долги низи расудување. Честопати „халуцинираат“ (измислуваат факти).
- Мали / основни модели (7B – 14B параметри) Овие модели претставуваат таканаречен „златен стандард“ на open-source индустријата. Идеална рамнотежа меѓу квалитетот на одговорите и системските барања. Примери: Mistral (7B), Llama 3 (8B), Qwen 2.5 (14B), Gemma 2 (9B). Имаат целосно „разбирање“ на контекстот. Добро пишуваат програмски код, одлично преведуваат меѓу јазиците и можат да следат сложени повеќечекорни инструкции (System Prompts). Но на длабоки специјализирани теми (медицина, право) или на заплеткани логички задачи може да прават грешки.
- Средни / професионални модели (30B – 35B параметри) Тешка артилерија за напредни развивачи и ентузијасти. Бараат моќен хардвер. Примери: Yi-34B, Command R (35B), Qwen 2.5 (32B). Покажуваат ниво на логика блиско до комерцијалните затворени модели. Одлично работат со огромни текстови (цели книги) и сложени бази на знаење (RAG-системи). Речиси не прават глупави грешки во кодот.
- Големи / флагмански модели (70B+ параметри) Максимално ниво на интелигенција што е достапно за локално стартување или што го користат големите ИТ-компании. Примери: Llama 3 (70B), Qwen 2.5 (72B). Оваа класа модели има експертски знаења во повеќето области, способна е да решава сложени математички задачи, да пишува архитектура на големи програми и да води длабок аналитички разговор.
Квантизација / компресија на LLM
Квантизацијата (Quantization) е уште еден атрибут на моделот што треба да се земе предвид при работата со LLM. Квантизацијата претставува процес на намалување на големината на моделот преку снижување на прецизноста на броевите од кои се составени неговите параметри. Поедноставно кажано, тоа е претворање на тежините на моделот од формат со „висока прецизност“ (каде што секој број е запишан како децимален) во формат на „заокружени броеви“ (каде што децималите стануваат пократки или се претвораат во цели броеви). Ова овозможува моделот да се компресира 2 до 4 пати, при што се задржува до 95 до 99 отсто од неговата првобитна „интелигенција“.
Може да се направи и следнава споредба со пиксели и боја. Да претпоставиме дека секој пиксел од сликата во максимален квалитет се кодира со 16 бита (65.536 нијанси). Ако сликата се компресира на 4 бита (само 16 бои), сликата ќе стане груба. Но кај LLM квантизацијата работи попаметно (благодарение на сложените алгоритми за оптимизација): таа ги наоѓа најважните „нијанси“ (тежини) и ја задржува нивната прецизност, а помалку важните ги заокружува. На крајот моделот тежи многу помалку, а неговата логика речиси и да не страда.
Формати на податоци: од FP16 до INT4
Првично, моделите се обучуваат и се објавуваат во висок квалитет. За да се разберат типовите на квантизација, важно е да се знаат основните формати:
- FP16 / BF16 (16 бита): стандарден формат по правило. Секој параметар зафаќа 2 бајти. Модел од 8B тежи околу 16 GB.
- INT8 (8 бита): тежините се претвораат во цели броеви. Моделот се компресира точно 2 пати. Квалитетот опаѓа незабележливо (во рамки на 1 отсто). Модел од 8B тежи околу 8 GB.
- INT4 / FP4 (4 бита): најпопуларниот формат за домашно стартување. Моделот се компресира 4 пати. Модел од 8B тежи околу 4,5 до 5 GB и лесно се сместува во графичка картичка од 8 GB. Загубата на квалитет изнесува само 1 до 3 отсто.
- INT2 / INT3 (2 до 3 бита): екстремна компресија. Моделот станува многу лесен, но почнува силно да „затапува“, да меша зборови и да губи логика. Ретко се користи.
Во зависност од тоа на каков хардвер и преку кој софтвер ја стартувате невронската мрежа, се користат различни технологии на квантизација.
GGUF (порано GGML), стандард за CPU + GPU
Најфлексибилниот формат, оптимизиран за работа на обични компјутери преку процесори и графички картички (главно преку програмата llama.cpp и интерфејси како LM Studio). Овозможува моделот делумно да се префрли во оперативната меморија (RAM) ако во графичката картичка (VRAM) снема место.
Во имињата на датотеките на моделите со ваква компресија може да се видат ознаки како Q4_K_M, Q5_K_S, Q8_0:
- Q4_K_M (4 бита, среден метод): „златен стандард“. Идеална рамнотежа меѓу големината и интелигенцијата на моделот.
- Q5_K_M (5 бита): малку попаметен, малку потежок. Се препорачува ако имате доволно меморија.
Формати создадени исклучиво за графички картички NVIDIA. Моделот целосно се вчитува во VRAM.
Во имињата на датотеките на моделите се среќаваат ознаки како 4bit, 8bit или точна назнака за битрејтот (на пример, 4.0bpw, што значи „bits per weight“, односно битови по тежина).
Моделите во ваков формат работат повеќекратно побрзо од GGUF, бидејќи ја користат целата моќ на тензорските јадра на графичката картичка. Но ако моделот не се смести целосно во VRAM, тој едноставно ќе даде грешка и нема да се стартува.
AWQ (Activation-aware Weight Quantization), паметна компресија
Напреден метод на квантизација за GPU: при компресијата, алгоритмот анализира кои параметри на моделот најчесто се „вклучуваат“ за време на работата (активации). Овие важни параметри се оставаат во висок квалитет, а останатите се компресираат посилно. AWQ-моделите работат попрецизно од GPTQ при иста големина.
FP4 / NormalFloat4 (NF4), нова генерација
Формати што се користат при дообучување на моделите (QLoRA) и активно се воведуваат во новиот хардвер (на пример, во архитектурата Blackwell кај RTX 5090). Математички, овој формат е подобро прилагоден за распределбата на тежините во невронските мрежи отколку обичниот INT4, што ја намалува загубата на прецизност речиси до нула.
Општи забелешки
Ако преземате модел за лична употреба, тогаш подобро е да барате модел со тип Q4_K_M (во формат GGUF) или 4bit (во формат AWQ/EXL2). Ова ќе ви овозможи да добиете модел што е 4 пати помал од оригиналот, работи 3 до 4 пати побрзо, а разликата во квалитетот на одговорите најверојатно нема ни да ја забележите.
Токен и токенизација
Токенот (во контекст на моделите LLM) е основна единица текст што моделот ја користи за читање, обработка и генерирање информации. Невронските мрежи не ги разбираат човечките зборови во целост, а уште помалку ги гледаат одделните букви. Тие го претвораат текстот во броеви. Процесот на разбивање на текстот на вакви делчиња (токени) се нарекува токенизација, а алатката што го прави тоа се нарекува токенизатор (Tokenizer).
Токенот не е задолжително цел збор. Тоа може да биде:
- Дел од збор (слог или корен)
- Цел збор (ако е краток или често се среќава)
- Еден знак или интерпункциски знак (запирка, празно место, емоџи)
Сега да земеме пример на македонски јазик. Во македонскиот јазик, поради сложената морфологија и наставките, зборовите се разбиваат на токени уште посилно. Зборот „Здраво“ ќе се претвори во ["З", "драв", "о"] (3 токени).
Компанијата OpenAI дури објави и бесплатна алатка за пресметка на токени, OpenAI Tokenizer, која овозможува нагледно да се види како одредена фраза се разбива на токени.
На пример, да ја земеме фразата "I love programming". Тука има три збора, а секој од нив, од гледна точка на LLM GPT-5, претставува одделен токен. Фразата се дели на токени вака: ["I", " love", " programming"]
Сега да земеме слична фраза на македонски јазик: "Јас сакам програмирање". Тука исто така има три збора, но OpenAI Tokenizer за моделот GPT-5 ќе ја подели на 4 токени: ["Јас", " сакам", " програм", "ирање"]
Но ако земеме друг модел од OpenAI, GPT-4 (претходното семејство модели), тој ќе ја подели истата фраза дури на 7 токени: ["Јас", " са", "кам", "про", " прог", "рами", "рање"]
А од гледна точка на последните верзии од семејството модели Gemini, исто така ќе има 4 токени, но со малку поинаква поделба: ["Јас", " сакам", " програмира", "ње"]
За приближна проценка на обемот на текстот, во индустријата се користи стандарден сооднос за англискиот јазик:
- 1 токен ≈ 4 знаци
- 1 токен ≈ 0,75 збор
- 100 токени ≈ 75 збора
Зошто воопшто е потребно да се знае за токените? Пред се, поради следниве причини:
- Ограничување на контекстот (таканаречен контекстен прозорец или Context Window): секој LLM има лимит на меморија, на пример, 8.000, 32.000 или 128.000 токени. Ако вашиот разговор го надмине овој лимит, моделот ќе почне да го „заборава“ почетокот на преписката. А тоа, пак, ќе влијае врз квалитетот на одговорите на моделот.
- Цена: развивачите им плаќаат на ВИ-добавувачите (OpenAI, Anthropic) строго според бројот на испратени и примени токени.
- Брзина на работа: колку повеќе токени генерира моделот, толку подолго корисникот чека одговор.
- Заштеда: за развивачите е поисплатливо сложените системски инструкции (промптови) да ги пишуваат на англиски јазик, тоа заштедува до 60 до 70 отсто од буџетот за API.
- Меморија: на англиски јазик невронската мрежа ќе може да задржи во меморијата (контекстниот прозорец) условно кажано огромна книга, а на македонски само половина од таа книга, бидејќи лимитот на токени ќе се исцрпи побрзо.
Компатибилност на хардверот/графичката картичка и можностите на LLM
Каков хардвер, каков компјутер е потребен за работа со LLM?
Обемот на видео меморија (VRAM) е главниот фактор што определува кои операции со моделите ви се достапни. Теоретски, не е задолжителна моќна графичка картичка, бидејќи моделот може да се стартува и на централниот процесор на компјутерот, користејќи ја оперативната меморија. Сепак, брзината при користење на моделот на процесор или на оперативна меморија многу ќе заостанува во споредба со стартувањето на графичка картичка со споредлив обем меморија. Затоа во овој случај ќе се фокусираме токму на графичката картичка како хардвер потребен за стартување на LLM.
Општо земено, колку поголем обем меморија има графичката картичка, толку поголем модел може да се стартува и толку посложени операции може да се извршуваат со него. Но пред да преминеме на разгледувањето на односот меѓу обемот на VRAM и достапните можности за работа со LLM, важно е да се разбере на што воопшто се троши меморијата:
- Параметри на моделот: секоја милијарда параметри (1B) во првобитен квалитет (FP16) зафаќа 2 GB VRAM.
- Квантизација (компресија): моделите може да се компресираат. Во квалитет INT4 (4 бита), секои 1B параметри зафаќаат само 0,5 GB VRAM.
- Контекст (KV-Cache): долгиот разговор бара многу меморија за историјата на комуникацијата.
- Обука: за дообучување (Fine-tuning) е потребна 3 до 4 пати повеќе VRAM отколку за обично стартување, бидејќи треба да се чуваат дополнителни информации (градиенти и состојби на оптимизаторот).
До 8 GB VRAM заклучно (почетно ниво) Соодветно за: запознавање со технологијата, едноставни чат-ботови.
- Стартување (Inference): модели до 7B–8B параметри само во силна квантизација (INT4/Q4). Примери: Llama-3-8B (Q4), Mistral-7B (Q4).
- Должина на контекстот: ограничена (обично до 2048 токени).
- Обука: недостапна. Возможен е само LoRA-тјунинг на микро-модели (до 1B–2B параметри).
Да направиме мала споредба на можностите на 6 GB и 8 GB VRAM според основните аспекти:
Можност / Операција 6 GB VRAM 8 GB VRAM
Стартување модели од класата 7B/8B (Llama 3, Mistral, Gemma 2) Практично невозможно без силна загуба на брзина. Моделот не се сместува во целост, дел оди во бавната RAM. Целосно стартување во квантизација Q4 (INT4). Моделот целосно се сместува во видео меморијата.
Достапна големина на контекстот Минимална (до 512–1024 токени) за микро-модели. Основна (до 2048–4000 токени) за модели од 8B. Меморијата стига за помал разговор.
Стартување микро-модели (1B–3B) (Phi-3, Gemma-2B, Qwen-2.5-3B) Целосно стартување во добар квалитет (INT8 или FP16) со долг контекст. Идеална работа, може да се стартуваат паралелно со други задачи или во максимален FP16.
Дообучување (Fine-tuning) Недостапно дури и за LoRA (само за навистина ситни модели што имаат помалку од 1B параметри). Достапен е QLoRA-тјунинг на микро-модели (1B–3B) или LoRA за едноставни задачи.
Зошто 2 GB разлика толку силно ја менуваат ситуацијата? Работата е во тоа што условен „златен стандард“ во светот на open-source невронските мрежи се моделите од 7 до 8 милијарди параметри (7B/8B). Тие имаат основен „интелект“, логика и способни се добро да комуницираат. Приближната математика на распределбата на меморијата изгледа вака:
- Модел од 8B во компресија Q4 (4 бита) тежи приближно 4,5 до 5 GB.
- Оперативниот систем (Windows/Linux) и отворениот прелистувач земаат уште 1,5 до 2 GB VRAM.
- На картичка од 8 GB: 5 GB (модел) + 1,5 GB (систем) = 6,5 GB. Остануваат уште 1,5 GB за контекст (KV-Cache). Моделот работи брзо.
- На картичка од 6 GB: 5 GB (модел) + 1,5 GB (систем) = 6,5 GB. Меморијата физички не е доволна. Системот вклучува offloading (префрлање на остатокот во обичната оперативна меморија на процесорот), поради што брзината на генерирање опаѓа 5 до 10 пати (до 1 до 3 токени во секунда).
12–16 GB VRAM (основно работно ниво) Соодветно за удобен локален развој и основна автоматизација.
- Стартување (Inference): модели од 7B–8B параметри во максимален квалитет (FP16) или модели до 14B–20B параметри во компресиран вид (Q4).
- Должина на контекстот: целосни 4000 до 8000 токени за модели од 8B.
- Обука: ефикасен QLoRA-тјунинг (квантизирано дообучување) за модели од 7B–8B.
- Стартување: модели до 30B–34B параметри во квантизација Q4. Или средни модели (14B) во квалитет FP16/INT8.
- Должина на контекстот: долг контекст (до 32k+ токени) на модели од класата 8B.
- Обука: целосен LoRA-тјунинг (без строга квантизација) за модели од 7B–8B. Брзината на обуката е значително поголема.
- Стартување: модели со 30B–34B параметри во висок квалитет може да се стартуваат не во строга компресија (INT4), туку во многу попрецизен INT8 или дури FP16 (ако моделот е поблиску до 14B–20B) без ризик од преполнување на меморијата.
- Должина на контекстот: на модели од популарната класа 8B (Llama 3 / Mistral) може да се постави максимален контекст од 32k, 64k па дури и 128k токени. Меморијата ќе стигне и за самиот модел и за огромниот KV-Cache (историјата на разговорот), што е критично важно за анализа на долги документи и книги.
- Обука: со 32 GB VRAM може удобно да се дообучуваат модели со среден обем (14B–34B) на сопствени податоци преку QLoRA. Моделите од класата 7B–8B сега може да се обучуваат навистина (целосна обука или Full Fine-tuning), односно со ажурирање на сите тежини на добра големина на пакетот податоци (batch size), без страв од прекини поради недостиг на меморија.
- Стартување: тешки модели до 70B–80B параметри во компресија INT4 (на пример, Llama-3-70B Q4).
- Должина на контекстот: огромен контекст на модели од средно ниво.
- Обука: целосно дообучување (Full Fine-tuning) на модели до 7B или LoRA за модели до 34B.
- Стартување: модели од 70B+ во оригинален квалитет (FP16). Истовремено стартување на неколку модели.
- Должина на контекстот: максимален контекст (128k+ токени) за кои било достапни модели.
- Обука: целосна обука и дообучување на тешки модели (70B+) со користење на распределени пресметки.
За жал, хардверските можности на нашите компјутерски системи честопати се ограничени, па соодветно, меморијата на графичката картичка едноставно може да не биде доволна. Што да се прави во тој случај? Постојат неколку варијанти, меѓу кои:
- CPU + RAM (таканаречен offloading): алатки како llama.cpp и LM Studio овозможуваат стартување на моделите на процесорот и на обичната оперативна меморија. Ова работи многу побавно, но овозможува бесплатно стартување на огромни модели (ако, се разбира, имате таква оперативна меморија).
- Поделба на неколку GPU: може да се обединат неколку графички картички (на пример, две картички по 12 GB за да се добијат 24 GB). Тогаш теоретски моделот автоматски ќе се подели меѓу нив.