Одисея на ръба
Когато NPU-то предаде, а GPU-то спаси локалния AI
Контекст – защо тази история изобщо си струва
В края на 2025 г. изкуственият интелект вече не е визия. Той е продукт. Платформа. Зависимост.
Но има един въпрос, който все по-често се избягва:
Какво става, ако искаш AI да работи при теб – локално?
Без облак.
Без месечни такси.
Без чужди сървъри, които „по принцип“ спазват правилата.
Точно тук започва тази история. Не като демонстрация. А като опит за изграждане на автономна система, която трябва да работи днес, не „в следващия релийз“.
Сцената – 30 декември, София
Късна вечер. Навън е тихо. Вътре бръмчи малка машина – ASUS NUC 15 Pro Plus, с Intel Core Ultra 9 285H (Arrow Lake).
На хартия това е „AI PC“ – с CPU, GPU и новото бижу: Intel AI Boost NPU. Шест изчислителни плочки. Специализиран силиций. Обещание за бъдеще без компромиси.
Целта е ясна:
– локални езикови модели
– хардуерно ускорение
– стабилна, автономна система
Не играчка. Не демо. Инфраструктура.
Акт I – предателството на NPU-то
Първият опит е логичен. Инсталация на OpenVINO GenAI. Насочване към NPU. Стартиране.
Идва отговорът:
ERROR: Unsupported configuration key: NPU_MAX_TILES
Няма stack trace. Няма crash. Само отказ.
Това е най-лошият тип грешка – архитектурна.
Arrow Lake вече не е 2-tile NPU. Това е нов модел, нов драйвер, нови правила. А софтуерът още очаква стария свят.
След часове анализ става ясно:
– NPU драйверът е нов
– OpenVINO Core го разбира
– GenAI слоят – не
Това не е „лоша конфигурация“. Това е разминаване между поколения.
Акт II – когато инженерството казва „стига“
Следва логичният инстинкт: пачване.
Влизане в сорса. try/catch. Премахване на проблемния параметър. Компилация.
И вторият удар идва бързо – ABI грешки. Липсващи символи. Счупен бинар.
Това е моментът, в който трябва да спреш.
Не защото не можеш.
А защото цената вече е по-висока от ползата.
NPU-то няма да заработи днес.
Акт III – тихото изкупление на GPU-то
И тогава остава нещо, което никой не рекламира шумно – интегрираната Intel Arc GPU.
Без фанфари.
Без „AI Boost“ лепенки.
Компилация на GPU плъгина от сорс. Дълго чакане. Терминалът пълзи. Вентилаторът се обажда.
Първият inference минава.
123 tokens/second.
GPU-то не спори. Не отказва. Просто работи.

Истината в числа – когато драмата срещне метриките
В един момент всяка история трябва да слезе на земята.
При AI това става с tokens per second.
Реална производителност (измерени стойности)
| Модел | Устройство | Tokens | Време за генериране | Tokens/s |
|---|---|---|---|---|
| TinyLlama 1.1B | CPU | 258 | 5.10 s | 50.64 |
| Phi-3.5 Mini 3.8B | CPU | 250 | 14.91 s | 16.77 |
| Llama 3.2 3B | CPU | 203 | 11.04 s | 18.38 |
| Qwen 2.5 7B | CPU | 111 | 15.35 s | 7.23 |
| DeepSeek-Coder 1.3B | CPU | 61 | 2.01 s | 30.39 |
| Phi-3.5 Mini 3.8B | GPU (Intel Arc iGPU) | — | — | 123.0 ⭐ |
Тук няма NPU.
И въпреки това системата надминава очакванията.
Какво ни казва тази таблица (без маркетинг)
- NPU-то липсва, но системата не се срива
Архитектурата оцелява, защото има алтернативи. - Интегрираната GPU вече не е компромис
123 tokens/s променят разговора изцяло. - Един модел никога не е достатъчен
Различните модели имат различни роли – скорост, качество, код.
Таблицата не е украшение. Тя е доказателство, че подходът работи.
Синтез – по-голямата картина
Тази одисея не е за един NUC. Тя е за начина, по който мислим системите:
– хардуерът изпреварва софтуера
– зрелостта бие новостта
– устойчивите системи не чакат идеалния компонент
Истината е проста:
AI не е функция. AI е архитектура.
Какво следва – без илюзии
Краткосрочно
– GPU остава гръбнакът
– NPU ще дойде с нов OpenVINO
– локалният AI вече е практичен
Дългосрочно
– CPU, GPU и NPU ще работят заедно
– „AI PC“ ще значи нещо реално
– инженерството отново ще изпревари маркетинга
Финал – защо си струваше
Малко преди полунощ системата работи.
Няма фанфари. Няма обещания. Само стабилен inference и тихо бръмчене.
NPU-то мълчи. GPU-то говори вместо него.
И това е може би най-честният край на една инженерна история:
не всичко тръгна, но достатъчно неща тръгнаха правилно.
А оттам нататък – се строи.
2026 идва.
С нови версии.
С нови грешки.
И с още по-големи системи.
Тази вече е готова.
Акт IV – Web UI-то: когато машината започва да говори човешки
До тук имаме „ядро“: модели, ускорение, рутиране, CLI.
Но истинската граница между „инженерна играчка“ и „лична инфраструктура“ е една:
дали можеш да я ползваш като продукт.
Терминалът е мощен, но е за нас – хората, които живеем в логове.
Ако искаш системата да стане ежедневна – за теб, за екип, дори за семейството – трябва да има врата.
Нещо, което изглежда просто, но реално е най-сложното: уеб интерфейс.
И тук идва финалният завой – Web UI + AI I/O.
Web UI – фасадата, която превръща системата в инструмент
Web UI-то не е „украса“. То е:
– входна точка за разговори
– история и контекст
– контрол на модела
– усещане за „жив“ асистент, не за скрипт
След като backend-ът вече е стабилен, UI-то става естественото продължение.
Системата вече не е само процеси и демони. Тя става място, където се влиза.
Ключовото тук: UI-то не трябва да знае всичко.
UI-то трябва да бъде чист вход/изход.
Интелигентността е в backend-а: рутиране, fallback, качество, GPU/CPU.
Точно това е „AI I/O“ философията.
AI I/O – инженерната идея, която спасява продукта
AI I/O (Input/Output) е прост принцип:
– UI-то е интерфейс
– backend-ът е мозък
– хардуерът е мускул
– а системата трябва да деградира красиво, не да умира
В AI I/O модел:
Input
– текст от браузър
– текст от терминал (ai "...")
– интерактивен режим (oi)
Output
– отговори в уеб чат
– отговори в конзола
– възможност за изпълнение на действия (когато е нужно)
Така UI-то остава стабилно, независимо дали днес работи GPU-то, утре се добавя NPU-то, а вдругиден системата става клъстер.
Последният удар: зависимостите, които почти убиха интерфейса
И когато вече всичко изглежда „готово“… идва най-човешката грешка:
pip install semgrep
Една команда. Една невинна идея: „да добавим още сигурност“.
Резултатът е класически dependency collapse:
– версии се пренареждат
– пакети се даунгрейдват
– други стават несъвместими
– Web UI-то умира в стартовия си цикъл
И това е най-драматичната част, защото тук не се чупи „ускорението“.
Чупи се лицето на системата.
Ако няма UI, хората казват: „не работи“. Дори backend-ът да е жив.
Решението е прагматично, но правилно:
– махаш semgrep
– фиксираш Web UI версията
– връщаш стабилността
– приемаш trade-off: по-малко автоматична проверка, повече контрол от човека
Това е инженерство: не максимална функция, а минимален риск.
Финал – 23:59 и системата, която вече е истинска
В 23:59 на 31 декември системата работи така, както трябва да работи една локална AI инфраструктура:
– има ядро (модели + ускорение)
– има мозък (адаптивно рутиране)
– има мускул (GPU, CPU fallback)
– има лице (Web UI)
– има AI I/O логика (вход/изход без зависимост от конкретен интерфейс)
– има дисциплина (systemd, рестарти, здравен контрол)
NPU-то още не е дошло.
Но системата вече не зависи от него.
И това е истинската победа:
когато една технология спре да е експеримент и стане инфраструктура.
Тихо бръмчи. Живее локално. Не пита облака.
И на Нова година ти дава не обещание, а факт:
– работи.
И да, това е „AI Odyssey“.
Но реално е нещо по-рядко: инженерна система, която оцелява.
Епилог – трите врати към системата
В края на тази одисея няма фанфари.
Има три прости входа – и това е достатъчно.
✅ ai "въпрос" – бърз AI отговор от терминала ✅ oi – Open Interpreter за code execution ✅ http://localhost:8080 – Web UI за човешки разговор
Три начина да говориш със системата.
Една и съща логика. Един и същ мозък. Различен контекст.
Това вече не е „setup“.
Това е локална AI среда, която:
– отговаря бързо
– изпълнява код, когато трябва
– говори човешки, когато е нужно
Без облак.
Без абонамент.
Без обещания „в следващия релийз“.
Последна мисъл
NPU-то ще дойде.
GPU-то вече работи.
А системата е тук – жива, адаптивна, тиха.
И ако някой ден се чудиш дали си струваше усилието, има лесен начин да си отговориш:
ai "Какво сме изградили?"
Ако получиш смислен отговор – значи си го направил както трябва.