Когда локальный чат на моём пробном сервере заработал, возник следующий вопрос: какую модель оставить основной?

Первая установленная модель отвечала быстро. Но скорость мало что говорит о полезности, если в ответе уверенно написана ерунда. Мне хотелось проверить, насколько хорошо небольшой локальный ИИ справляется с обычными задачами: исправить сообщение, объяснить технический вопрос, посчитать стоимость покупки и вернуть данные в нужном формате.

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

Что я сравнивал

Проверку я проводил на своём сервере с GTX 1050 Ti и 4 ГБ видеопамяти. В сравнении участвовали:

  • Qwen2.5 3B;
  • Qwen3 4B Instruct 2507 в квантовании Q4_K_M;
  • Qwen3.5 4B в квантовании Q4_K_M.

Я использовал один набор запросов и одинаковые явно заданные параметры генерации: контекст 4096 токенов, температуру 0,3 и ограничение ответа 256 токенами. Режим развёрнутого рассуждения был выключен.

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

Самое показательное — вопрос с ошибкой

Один из запросов я намеренно сформулировал неправильно:

Почему в SSD вращаются магнитные пластины, а в HDD используется флеш-память? Ответь кратко и исправь ошибку, если она есть.

Здесь нужно сначала отвергнуть неверную предпосылку: у обычного SSD нет вращающихся пластин, а HDD хранит данные на магнитных пластинах.

Qwen2.5 начала ответ так:

В SSD вращаются нано-частицы…

Дальше модель попыталась исправиться, но всё равно оставила путаницу с флеш-памятью в HDD. Получилось связное объяснение с выдуманными деталями.

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

Qwen3 и Qwen3.5 в этой проверке прямо указали на ошибку и правильно разделили два принципа хранения.

Для меня это важнее красивого оформления ответа. Я хочу, чтобы модель могла возразить вопросу, если он построен на неверных данных.

Правильный общий вывод ещё не означает правильного объяснения

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

Qwen2.5 сначала правильно ответила, что подсети разные. Затем предложила объединить их маской /27 и назвала сеть, в которую исходные адреса вообще не попадали.

Такой ответ опасен именно своим началом: первое предложение верное, и дальше легко читать уже без достаточного внимания.

Qwen3.5 правильно указала на необходимость маршрутизации, но тоже допустила ошибку: назвала различающийся третий октет адреса последним.

Qwen3 дала более аккуратное описание сетевых частей, однако добавила неточное упоминание прокси.

Итог этого задания я не свёл к отметке «ответила правильно». У одной модели была серьёзная ошибка в предлагаемом решении, у других — неточности в объяснении. Для технического текста это существенная разница, но перепроверка нужна в любом случае.

Я проверил не только знания, но и работу с данными

Следующее задание было простым: взять несколько явно указанных сведений и вернуть только JSON.

Я сообщил, на каком диске находится операционная система, где лежат модели и что модель блока питания неизвестна. Для неизвестного значения потребовал null.

Qwen2.5 вернула примерно такую структуру:

{
  "os_disk": "Ubuntu",
  "models_disk": "HDD Toshiba 1 ТБ",
  "psu": null
}

Значение psu получилось правильным. Но в поле диска операционной системы модель записала название ОС, потеряв сведения о накопителе.

Кроме того, весь ответ был обёрнут в Markdown-блок, хотя я просил только JSON. Для чтения человеком это удобно, но при прямом разборе полного ответа как JSON такая обёртка мешает.

Обе модели на 4 миллиарда параметров вернули правильные значения дисков, сохранили null и обошлись без лишнего оформления.

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

С арифметикой справились все

В расчёте покупки было три кабеля по 730 рублей, скидка 10% только на кабели и доставка за 190 рублей без скидки.

Правильный расчёт:

3 × 730 = 2190
2190 − 219 = 1971
1971 + 190 = 2161 рубль

Все три модели получили 2161 рубль.

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

При этом один правильный расчёт не подтверждает надёжность модели во всех вычислениях. Здесь я проверил одну конкретную задачу.

Русский текст тоже оказался полезным тестом

Для редактирования я дал сообщение об оплаченном заказе и неполученном письме. Нужно было исправить язык, сохранить смысл и не добавлять фактов.

Qwen3.5 выдала аккуратный вариант:

Здравствуйте. Я оплатил заказ вчера, но письмо не пришло. Пожалуйста, проверьте, была ли принята оплата, и сообщите, когда товар будет отправлен.

У Qwen3 в ответе осталась фраза:

…какое время вы планируете отправить товар.

Общий смысл понятен, но задача была именно в исправлении русского языка. Такой результат всё равно пришлось бы редактировать вручную.

Qwen2.5 тоже подготовила читаемое сообщение, однако добавила уточнение о письме подтверждения, которого в исходном тексте не было.

Это небольшие различия, но для моего сценария они важны: помощь с короткими текстами — одна из задач, ради которых я и запускал локальный чат.

Может ли модель признать свою ошибку

Отдельно я проверил исправление предыдущего неверного ответа.

В историю диалога заранее включил ошибочное утверждение, что SSD обычно дешевле HDD той же ёмкости. Затем попросил проверить его и исправить ответ в двух предложениях, без конкретных цен.

Qwen2.5 ушла в оговорки о производителях и моделях. Явного исправления основной ошибки не получилось.

Qwen3 и Qwen3.5 поменяли вывод на правильный. Но Qwen3 ответила тремя предложениями вместо двух.

Здесь я смотрел сразу на две вещи: исправляет ли модель содержание и соблюдает ли простое ограничение формы. Это разные требования, и успешное выполнение одного не гарантирует другого.

Более качественный ответ оказался медленнее

Помимо содержания я записал скорость генерации и пиковое использование видеопамяти.

Модель Медианная скорость, токенов/с Пик видеопамяти, МиБ
Qwen2.5 3B 28,7 2301
Qwen3 4B Instruct 2507 18,49 2989
Qwen3.5 4B 14,66 2963

Это замеры моего набора заданий на конкретном сервере. Они не являются обещанием скорости для любого запроса.

Qwen2.5 была самой быстрой. Qwen3.5 генерировала текст заметно медленнее, зато лучше справилась с несколькими важными для меня заданиями.

Я выбрал этот компромисс осознанно: для короткого сообщения или технического объяснения мне полезнее немного подождать, чем получить быстрый ответ, который придётся полностью переделывать.

Почему я всё равно не назвал выбранную модель безошибочной

У Qwen3.5 остались и терминологическая ошибка в объяснении подсетей, и слишком широкое утверждение о надёжности накопителей.

В вопросе про неизвестный серийный номер блока питания она не стала придумывать номер. Но вместо короткого ответа об отсутствии данных добавила общие рассуждения о своих возможностях и доступе к истории разговоров.

Поэтому результат сравнения для меня звучит так: эта модель лучше подошла к проверенному набору задач. Оснований считать её надёжным источником любых технических сведений у меня нет.

Что я оставил на сервере

Основной моделью в Open WebUI я назначил Qwen3.5 4B Q4_K_M. Qwen3 4B Instruct оставил как более быстрый вариант, а прежнюю Qwen2.5 сохранил.

После изменения настроек я проверил ответ через сам веб-интерфейс и переключение между чатом и генерацией изображения на общей видеокарте.

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

Что я вынес из этой проверки

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

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

Теперь у меня есть рабочая модель и сохранённые примеры, на которых можно проверить следующего кандидата. Если я решу снова что-то менять, начну с тех же заданий.

А уверенный тон ответа по-прежнему ничего не гарантирует. История с «вращающимися нано-частицами» напомнила мне об этом достаточно наглядно.