On the state of local models
Когда-то у меня был сервак с 3090 и зеоном с алика и я крутил локальные модели. Это было ещё в те восхитительные времена, когда всё взаимодействие с LLM было в вебморде, когда агенты только-только начинались и чтобы нормально писать код, надо было копировать его из чатика в файл и наоборот. Тогда я крутил у себя Mixtral 8x7B с частичной выгрузкой в оперативку и был страшно этим доволен. Генерация была со скоростью примерно 8 токенов в секунду — для casual chat у instant моделей этого было вполне достаточно — и микстраль успешно писал мне эссе по Entrepreneurship & Innovation в Сколтехе. Я пробовал его использовать для генерации кода (вернее, конфигов для Ansible) и закономерно получал втык от Паши, моего лида, за дебильные ошибки. Весёлое было время.
Сейчас вышли Qwen-3.6-27B и Qwen-3.6-35B-A3B, две мелкие модельки, которые специально заточены под кодовые и агентные задачи и которые целятся в локальный инференс. Чтобы запустить их в полной точности (то бишь, в fp8 — они учились в нём нативно), нужно в районе 36/40 гб видеопамяти, но мы не гордые и с радостью идём на компромиссы — так что можем взять GGUF’ы в q4_k_m или даже в q3_k_s, чтобы оно влезло в локальное железо.
Мне стало интересно, насколько локальные модели действительно способны вайбкодить. Очевидно, что ни опус, ни соннет они не заменят — так что в качестве таргета, который был бы удовлетворительным, я взял субфронтир модель от фронтир лабы — GPT-Codex-Spark. Там 262к контекста, она не такая умная, как фулл кодекс или GPT-5.2/5.4/5.5, но она вполне себе способна дёргать тулы, писать код и так далее. Как приближение локальной модели пойдёт — с тем лишь различием, что она супербыстрая и за 100 баксов в месяц, а локальная моделька будет супермедленной и забесплатно (вернее, за цену электричества, которое сожрёт мой игровой комп). Дополнительно я взял Claude Haiku 4.5 — чтобы посмотреть, что есть у Anthropic.
В качестве железа для локального инференса я использовал систему на Ryzen 7 7800X3D, 64GB DDR5 6400 и RTX 5080 на 16 гб. Чтобы сделать задачу реалистично-сложной, я взял довольно сложный рабочий проект (сделать autoresearch loop по относительно подробному диздоку*) и запромптил Qwen-3.6-27B-q4_k_m, Qwen-3.6-27B с опенроутера, Gemma-4-31B с опенроутера и Claude Haiku 4.5 в Pi Agent и Codex-Spark в Codex, чтобы они его реализовали с использованием моего AGENTS.md. Модели с опенроутера тут были нужны, чтобы оценить, во-первых, насколько будет дорого использовать эти модели если платить за апи, а во-вторых, чтобы оценить верхнюю границу их способностей — не куцый квантованных инференс на моём железе, а full precision.
Важно, что я специально взял слишком сложную задачу для этих моделей — я не ожидал, что хотя бы одна из них её чисто решит. В принципе, это довольно частая проблема эвалов локальных моделей — все промптят их слишком простыми задачами и поэтому появляются новости типа “My locally hosted Qwen matched Claude Opus in performance!” (обе модели написали змейку в хтмл, вот это да). В моём случае же цель была не “решить задачу”, а “как можно меньше продолбаться в решении задачи”. Поэтому оценивать применимость моделей мы будем не через то, решили ли они (справилась лишь одна модель из четырёх), а через чистоту этого нерешения и число доделок, которые бы осталось сделать модели, чтобы сматчить спеку. Реализации я оценил с помощью Claude Code (Claude Opus 4.7, xhigh) — он и написал диздок, и смог реализовать чистое решение (по крайней мере, по мнению GPT-5.5), так что верим, что он хороший судья.
Post #336
1.37K
- ❤ 14
- 👍 4
- 🔥 4