Всем привет! Это вторая часть статьи про форк llama.cpp. В ней я покажу реальные цифры и посмотрим, насколько лучше модель решает сложные задачи по сравнению с обычным движком, а также насколько вырастет потребление VRAM и загруженность видеокарты. Обозначения: D=0 — llama.cpp без патча, D=12 — улучшенный форк.

Железо

Все модели запускались на RTX 3050 6 ГБ, поэтому результаты на других видеокартах могут отличаться. Все модели запускались в формате Q4.

Начнём с запуска простых ИИ-моделей, после чего перейдём к более сложным. Каждую модель проверяем в тестах производительности и сравниваем оба движка. Сегодня тестируем: Qwen 32B-A3B и Qwen 2.5 Coder 7B, дообученную на трассировках лучших моделей. Проведём тесты, а затем сравним два варианта кода от Qwen 32B.

Qwen3.5 35B-A3B: самая большая модель

Сразу предупреждаю: у меня слабая видеокарта — RTX 3050 Mobile 6 ГБ. Поэтому скорость генерации составляет примерно 3 токена в секунду. Я активно работаю над решением этой проблемы и в будущем смогу показывать более репрезентативные тесты.

Для этой модели я выбрал простой, компактный, но показательный бенчмарк — Zux1U/microbench_16. Конечно, я взял простые уровни — 4 теста лёгкой сложности. Вот результаты запуска по Easy-треку:

Benchmark
Benchmark

Результаты вполне ожидаемые: обе модели показали абсолютно одинаковый результат, но рекурсивная версия оказалась чуть медленнее. Я замечал такое только на больших моделях, на маленьких подобного не наблюдалось. Следующий тест — это уже Hard-сегмент. Здесь мы наконец-то увидим, какой из движков даёт лучший результат в реальных задачах. В задаче на код-ревью мы попросили обе модели проанализировать код и получили следующие результаты:

ревью кода
ревью кода

Как мы видим, количество правильных исправлений увеличилось почти в 3,1 раза. Хотя оба варианта выполнили свою задачу, рекурсивный всё-таки сделал намного больше и точнее. Разница во времени составила 17%. В будущем в проект будут внесены оптимизации для ускорения работы и KV-кэша. Вот основные моменты:

Ключевые выводы на основе сравнения D = 0 и D = 12:

  1. Решение проблемы «ленивого кода» (ленивой генерации):
    • В D = 0 (базовый запуск) модель выдала фрагментированные куски (snippets), оставив заглушки и опустив критически важные части кода (импорты, инициализацию, запуск).
    • В D = 12 движок заставил модель собрать код в единый, монолитный и готовый к продакшену скрипт с полной обвязкой (логированием, типизацией typing и корректным асинхронным сценарием запуска через asyncio.gather).

  2. Существенный рост глубины проработки (observability и инварианты):
    • Базовый проход (D = 0) ограничился стандартным исправлением состояния гонки (добавлением блокировки lock).
    • Рекурсивный проход (D = 12) поднял уровень инжиниринга: добавил структурированный сбор метрик прямо в класс (metrics для подсчёта успешных/неуспешных транзакций и объёмов переданных средств), ввёл валидацию типов на входе и корректно поместил логирование транзакций внутрь контекста блокировки (защитив логи от race condition, что в D = 0 было сделано лишь частично).

  3. Логическая связность и отсутствие «галлюцинаций контекста»:
    • При глубокой рекурсии контекст итеративно уточняется, что позволило выдать полностью валидный Python-код без потери структуры, который можно запускать сразу из коробки.

Qwen 2.5 7B Coder Instruct

Многие читатели просили протестировать именно эту модель, поэтому я проверю её на 3 задачах, по которым можно определить качество кода и то, насколько в разных сценариях помогает рекуррентность. Все подробные результаты этой модели вы сможете найти на моём Google Диске, ссылку на который я оставлю в конце статьи.

Основных задач всего три, остальные я посчитал нецелесообразными:

  1. 1. Код-ревью: найти баги, исправить их и развернуть (деплой) Flask-сервер.

  2. 2. Фулстек-разработка: создание полноценного сервиса по продаже Orange Pi (с каталогом, дизайном, оформлением заказа и имитацией оплаты).

  3. 3. 2D-игра «Динозаврик»: популярный тест среди авторов контента.

Конечно, это не HumanEval и не SWE-Bench, но эти тесты показывают реальные возможности модели без затяжных прогонов (ограничения по железу всё ещё сказываются). Учитывайте также, что перед нами 7B-модель, поэтому её решения могут выглядеть достаточно скромными.

test_1
test_1

В этом тесте оба варианта показали себя неплохо, однако рекурсивный закрыл на один баг больше, чем стандартный.

тест2
тест2

В этом тесте обе версии справились хуже, чем их старшие модели, однако ТЗ полностью выполнил только рекурсивный вариант.

тест3
тест3

Ни один из вариантов не смог полноценно создать игру — это видно на предпросмотрах. Однако, в отличие от стандартной модели, рекурсивная не генерировала несуществующие теги и смогла реализовать базовую игровую логику (пусть и без SVG). В целом можно засчитать ничью.

Итоги по Qwen 2.5 Coder Instruct

Как видите, рекурсивная версия стабильно опережает стандартную, однако почти на каждой задаче приходится жертвовать 11–13% скорости генерации. По-моему, это вполне приемлемый компромисс, но для некоторых сценариев это может оборачиваться заметными потерями времени. Именно поэтому форк продолжает развиваться — вы можете поддержать его, создав PR или Issue на GitHub.

Mistral 7B Instruct v0.2

По вашим просьбам я также протестировал известную модель Mistral 7B Instruct v0.2 на тех же трёх практических задачах. Сравнение показало очень интересную разницу между базовым движком (D = 0) и рекурсивным (D = 12).

1. Исправление уязвимостей Flask (Код-ревью): В базовом режиме (D = 0) модель пыталась защитить опасные эндпоинты через локальные фильтры, оставив частичные уязвимости. Рекурсивный вариант (D = 12) радикально переработал архитектуру и полностью заблокировал опасные руты (/ping, /math), доведя уровень защищённости кода до 98%.

2. Фулстек-платформа OrangeSell: В этой задаче прирост оказался максимальным (2.2x). Обычная модель опустила блоки FAQ, отзывов и формы входа, ограничившись простейшим списком товаров. Рекурсивный движок выполнил 100% бизнес-логики, добавив всю необходимую верстку и интерактивную корзину. И это пока что лучший из всех вариантов

3. 2D-игра «Динозаврик»: Обе версии реализовали рабочий игровой цикл и физику прыжка, однако рекурсивная модель показала более аккуратную адаптивную верстку без наложения блоков.

Итоги

В этой статье я наглядно показал, почему мой движок превосходит стандартный. Но вместе с тем мы увидели и его главный недостаток — скорость: она снижается примерно на 13%, заметно растягивая время генерации.

Почему так мало тестов Qwen 3.5 35B?

Моё оборудование не позволяет запускать большие модели полностью в VRAM. Пришлось использовать дополнительные решения, чтобы выполнить просьбы из анонимной формы обратной связи.

Почему на диаграммах рекурсивная модель выглядит значительно лучше стандартной?

Для генерации визуализации данных я использовал ИИ, который постарался максимально выгодно представить результаты моей модели в процентах. Таблицы при этом корректные — так что ничего критичного.


Ссылки

  1. https://github.com/cubetitled-ui/llama.cpp/tree/patch-speedup

  2. https://drive.google.com/drive/folders/15QYzCQkJvjaPsv1U-K3PBpp3Rai9q_SY?usp=sharing

P.S. Я очень извиняюсь если результаты Mistral оказались неверными ведь я доверил слишком много ии агенту но вроде все нормально

Для запуска моделей используйте именно https://github.com/cubetitled-ui/llama.cpp/tree/patch-speedup

Комментарии (27)


  1. melodicmsk
    31.07.2026 02:11

    Всегда возникает вопрос. Почему у некоторых ии разработчиков такие плохие видюхи. Если студент - вопросов нет.


    1. SimpleTitled Автор
      31.07.2026 02:11

      Школьник, а так наверно идеи рождаються из проблем.


      1. Zirext
        31.07.2026 02:11

        Попробуй может что полегче в сегменте Moe когда будет время. Может ZAYA1-8B. И модели заточенные на рекурсию возможно Nanbeige4.2-3B.


  1. TomskDiver
    31.07.2026 02:11

    Спасибо что прислушались к моему комментарию в прошлой статье (про запятые и т.д.) Данная статья выглядит куда более серьезной и взрослой. Желаю вам успехов!


    1. SimpleTitled Автор
      31.07.2026 02:11

      Да, огромное спасибо вам за совет!


  1. Politura
    31.07.2026 02:11

    Про открытые модели лучше всего ничего не спрашивать ни у каких LLM, ни у GPT, ни у Claude, ни у Gemini - в мире открытых моделей все меняется очень быстро, а у LLM во-первых минимум на пол года устаревшие данные, а во-вторых это похоже на какой-то сговор, все эти платные модели советуют устаревшее барахло. Лучше самому искать инфу, здесь основное обсуждение открытых моделей: https://www.reddit.com/r/LocalLLaMA/, ну и конечно https://huggingface.co/models, но там их море и легко потеряться. Самые скачиваемые часто бывают кривым барахлом, качают их из-за того, что в названии есть какой-нибудь Opus/Fable.

    Qwen 32B-A3B: самая большая модель

    Qwen 32B-A3B не существует. Обычно после названия пишут номер версии, а потом могут быть параметры, ну и 32B-A3B означает, что это MoE модель у которой 32B параметров всего и 3B параметров активных. У Qwen таких моделей не было вообще. Была dense модель Qwen3 32B и были MoE модели Qwen3 30B-A3B, Qwen 3.5 35B-A3B и Qwen 3.6 35B-A3B. Судя по рисунку после заголовка, у вас была Qwen 3.5 35B-A3B, но не оригинальная, а abliterated. Qwen3 вышли год-полтора назад и уже устарели, Qwen 3.6 самая современная, различные abliterated версии обычно хуже оригинальных.

    Qwen 2.5 7B Coder Instruct

    Многие читатели просили протестировать именно эту модель

    Интересно, 2 года назад просили? :) Модель вышла в 2024 году, сейчас ее использовать смысла нет вообще.

    Mistral 7B тоже древняя.

    Под 6Гб видеопамяти, для кодинга вам можно попробовать либо Qwen 3.5 9B - 4-х битная по-идее должна влезть целиком, либо ее файнтюн Ornith-1.0, сам не пробовал, но судя по бенчмаркам, она хорошо от оригинала ушла: https://huggingface.co/deepreinforce-ai/Ornith-1.0-9B-GGUF


    1. SimpleTitled Автор
      31.07.2026 02:11

      Насчет Qwen2.5, я проводил опрос на гугл форме и тогда многие люди голосовали менно за Mistral+Qwen2.5+ Qwen3.5 35b-A3B
      Насчет Qwen 3.5 9b я ее пробовал изза ее особеностей архитектуры запуск был медленее чем сейчас 35b запуск


    1. Granulex
      31.07.2026 02:11

      Это не сговор, а статистика: модель тянет то, что чаще мелькало в обучении, а не то, что вышло вчера. Свежак живёт на r/LocalLLaMA и в лидербордах – тут вы правы на сто процентов. Правда, та же модель с включённым веб-поиском выдаёт вполне актуальную картину.


  1. Uglevod
    31.07.2026 02:11

    Проект интернесный. В плане приближения разработки на локальных LLM.
    Но, есть пара вопросов будет ли работать в MTP режиме с Qwen моделями ?
    И понимаю, есть репа - изуйчайте, но в описании не увидел собсвенно какой механизм под капотом ?
    Типа, да - что это дает, но не как это реализовано, или это коммерческая тайна ) ?
    На первый взгляд, как будто бы если это сделать на уровне лангчейна - типа сделать описание главных "составляющих" кода и по шагово их доработать.
    Понятно, что если с разу на уровне движка сделано - это меньше заморочек потом.

    С малыми моделями - до 24b была проблема написания башскрипта, в целом не сложного ( 70 строк ), пришлось применять облачную.
    А как у вас с написанием bash скриптов ?
    ( Я про то, что вот как будто, у малых моделей натыкаюсь на концептуальные ограничения в стилистике кода, хотя это можно решать через MCP )


    1. SimpleTitled Автор
      31.07.2026 02:11

      Здравствуйте вы можете посомотреть первую статью .

      Там я уже полностью разобрал каждую часть реализации и то как это работает.


    1. Vic07Region
      31.07.2026 02:11

      Гоняю в свободное время qwen3.6-35b-a3b

      На машине

      i7 14700k

      32 ram

      RTX 5060ti infinity oc 16g

      Через llama.cpp cuda добивался при контексте до 100к 50+ т/с

      Контекстное окно на 1 поток 200к, при увеличении контекста ближе к 200к до 30т/с

      Если интересно os Manjaro kde.


  1. malyazin_2010
    31.07.2026 02:11

    Я думаю если в этот пк добавить майнинговую карту типа p104-100 за 1000 руб все будет работать в разы быстрее.


    1. SimpleTitled Автор
      31.07.2026 02:11

      Это ноутбук. И я уже добился скорости с 2 ток в сек до 11 ток в сек с увелечением качесвта относительно базовой модели.


    1. ShadF0x
      31.07.2026 02:11

      Не будет. Pascal как архитектура плохо заточена под нейронки.


    1. SimpleTitled Автор
      31.07.2026 02:11

      Лучше использовать MI50 16gb они намного лучше для ИИ инференса и стоят по 9900 за шт.


      1. akardapolov
        31.07.2026 02:11

        Сами пробовали? Как с совместимостью с ПО от NVIDIA? Последние модели (этого года) смогли запустить на этом железе?


        1. SimpleTitled Автор
          31.07.2026 02:11

          Совместимости с ПО от Nvidia на картах AMD нету для MI50 требуеться специальная ROCm сборка или установка Vulkan


  1. artden111
    31.07.2026 02:11

    Не совсем понятно. Можно запускать любую модель на этом форке или для запуска её надо как-то дорабатывать?


    1. SimpleTitled Автор
      31.07.2026 02:11

      нет не любую только
      Qwen2.5
      Qwen3.5/3.6

      Mistral v0.1 v0.2
      Llama 3.1

      Остальные архитектуры еще не поддерживаються но да форк запускает ЛЮБУЮ модель из этих архитектур

      UPD: За это время были добавлены еще Gemma 2, Mistral 7B v0.3 и Mixtral 8x22B. Полный список можно посомтреть на репозитории проекта в ветке patch-speedup.


      1. artden111
        31.07.2026 02:11

        Попробовал несколько моделей. Ни одна не запустилась. Падают на assert при запуске. На гитхабе не включены issues, поэтому не могу туда отписаться


        1. SimpleTitled Автор
          31.07.2026 02:11

          Извините сейчас исправлюсь


        1. SimpleTitled Автор
          31.07.2026 02:11

          Я включил Issues вы можете отправить Issue и я смогу попробовать помочь вам!


          1. artden111
            31.07.2026 02:11

            На каком языке там писать?


            1. SimpleTitled Автор
              31.07.2026 02:11

              Желательно английский.


        1. SimpleTitled Автор
          31.07.2026 02:11

          Возможно вы используете не ту ветку порбуйте ту которую я указал в конце статьи это ускоренная ветка


  1. DanielBobrov
    31.07.2026 02:11

    А ты на ноутбучной 3050 запустил 30B модель? И получил 11т/с? Если да, то звучит вообще интересно


    1. SimpleTitled Автор
      31.07.2026 02:11

      Нет я получил 10 ток в секунду и запускал 35b модель но весь секрет в том что это MoE и реальных параметров в рантайме - 3b