Архив рубрики ~Лента новостей~

2. Рекурсивный движок llama.cpp на RTX 3050: тесты Qwen 32B и 7B Coder — прирост качества х3 и аппетиты по памяти

2. Рекурсивный движок llama.cpp на RTX 3050: тесты Qwen 32B и 7B Coder — прирост качества х3 и аппетиты по памяти
2. Рекурсивный движок llama.cpp на RTX 3050: тесты Qwen 32B и 7B Coder — прирост качества х3 и аппетиты по памяти

Всем привет! Это вторая часть статьи про форк 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

06af2477a02f1c199a1a57a571714a2d

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

Mistral 7B Instruct v0.2

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

c5cc2d4c341b39e0b42ba7b9d221e7b9

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

97b5d0e0e027ccfb1eafbd8ca9ceb6fc

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

743c1c9ba26acaed36f5430aac294a92

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

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.Что будем делать в следующей статье?58.33%Туториал как это запускать.78.33%Сравнения harness какая вообще между ними разница.133.33%Что было сделано чтобы ускорить форк с 2 токенов в сек до 11 токенов в сек.40%Статью на другую тему не форк а рассказ принципов работы или обзор на модельки00%Другое вообще не ИИ0 Проголосовали 12 пользователей. Воздержавшихся нет.

Источник: habr.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Новости робототехники Пять лет работы определили внедрение Diligent Robotics Moxi 2.0 Новости робототехники Как Generalist использует демонстрационные данные с использованием людей для обучения роботов Архив рубрики ~Коротко из Telegram~ В работе сервисов Microsoft произошёл масштабный сбой Пользователи жалуются на… Новости робототехники Gravis Robotics вложила 200 миллионов долларов на автономное строительство Новости робототехники Человекоподобные машины не так хороши, как принято мечтать Архив рубрики ~Коротко из Telegram~ ✔️ Робособаки вытесняют охранников в США Американские компании начали активно использовать робособак… Архив рубрики ~Коротко из Telegram~ ✔️ River AI привлек $1.1 млрд Игорь Бабушкин, бывший сооснователь… Новости робототехники Uber добавляет дроны Zipline в свою сеть доставки еды Eats. Архив рубрики ~Коротко из Telegram~ Парень навайбкодил сайт, где продаёт рекламные места на… унитазе. И… Архив рубрики ~Коротко из Telegram~ Мой ИИ врач (и как сделать себе такого же) В… Архив рубрики ~Коротко из Telegram~ Чапалах по Antrophic: удаляйте любые ИИ-метки с вашего текста и… Архив рубрики ~Коротко из Telegram~ Маску не хватает всей мировой индустрии чипов. Tesla и SpaceX… Архив рубрики ~Коротко из Telegram~ Нашли библиотеку референсов для сильного веб-дизайна Для всех, кто делает… Архив рубрики ~Коротко из Telegram~ Xiaomi выпустила очиститель воды, который сразу наливает КИПЯТОК — чайник… Новости робототехники Пять лет работы определили внедрение Diligent Robotics Moxi 2.0 Новости робототехники Как Generalist использует демонстрационные данные с использованием людей для обучения роботов Архив рубрики ~Коротко из Telegram~ В работе сервисов Microsoft произошёл масштабный сбой Пользователи жалуются на… Новости робототехники Gravis Robotics вложила 200 миллионов долларов на автономное строительство Новости робототехники Человекоподобные машины не так хороши, как принято мечтать Архив рубрики ~Коротко из Telegram~ ✔️ Робособаки вытесняют охранников в США Американские компании начали активно использовать робособак… Архив рубрики ~Коротко из Telegram~ ✔️ River AI привлек $1.1 млрд Игорь Бабушкин, бывший сооснователь… Новости робототехники Uber добавляет дроны Zipline в свою сеть доставки еды Eats. Архив рубрики ~Коротко из Telegram~ Парень навайбкодил сайт, где продаёт рекламные места на… унитазе. И… Архив рубрики ~Коротко из Telegram~ Мой ИИ врач (и как сделать себе такого же) В… Архив рубрики ~Коротко из Telegram~ Чапалах по Antrophic: удаляйте любые ИИ-метки с вашего текста и… Архив рубрики ~Коротко из Telegram~ Маску не хватает всей мировой индустрии чипов. Tesla и SpaceX… Архив рубрики ~Коротко из Telegram~ Нашли библиотеку референсов для сильного веб-дизайна Для всех, кто делает… Архив рубрики ~Коротко из Telegram~ Xiaomi выпустила очиститель воды, который сразу наливает КИПЯТОК — чайник…

Оставить комментарий