Математика без галлюцинаций. Реально?
Большие языковые модели обожают врать в математике. Особенно когда числа становятся больше десяти. Они выдают красивые, уверенные ответы, которые оказываются полной ерундой. DeepMath — попытка исправить эту ситуацию радикальным способом: заставить модель не вычислять в уме, а писать код.
Это не просто промпт "реши задачу". Это полноценный агент, построенный на библиотеке smolagents, который получает задачу, размышляет, пишет Python-сниппет, выполняет его в изолированной песочнице и возвращает результат. И да, он на 66% точнее, чем просто запустить Qwen3-4B с просьбой решить задачу.
Проект полностью открытый. Модель доступна на Hugging Face, код — на GitHub. Можно запустить локально или в Colab.
Что внутри? Архитектура, которая заставляет модель думать руками
DeepMath — это не новая модель. Это "обвязка" вокруг Qwen3-4B, которая меняет способ её работы с математикой.
- Ядро: Qwen3-4B — компактная, но мощная модель от Alibaba. Не монстр вроде GPT-OSS-120B, но для агентской работы подходит идеально.
- Фреймворк агентов: smolagents. Минималистичная альтернатива LangChain и LlamaIndex, созданная специально для таких задач. Если вы смотрели Kaggle по AI-агентам, то знаете, что простые инструменты часто выигрывают.
- Обучение: GRPO (Group Relative Policy Optimization). Не RLHF, а более лёгкий метод, который учит модель не просто давать ответ, а правильно использовать инструменты (в данном случае — Python).
- Песочница: Безопасное выполнение кода. Агент не может удалить ваши файлы или отправить запрос в интернет. Он только считает.
Зачем это нужно? Сравнение с "просто спросить у LLM"
Давайте начистоту. Вы можете открыть ChatGPT, Claude или даже локально запущенную Nanbeige 3B и спросить: "Чему равно 17 в степени 5?".
Они ответят. Иногда правильно. Иногда нет. И вы никогда не узнаете, откуда они взяли этот ответ.
DeepMath работает иначе. Его вывод выглядит так:
МЫСЛЬ: Нужно вычислить степень. Это простая операция, но с большими числами модель может ошибиться. Лучше написать код.
КОД: result = 17 ** 5
ВЫПОЛНЕНИЕ КОДА...
РЕЗУЛЬТАТ: 1419857
ОТВЕТ: 17^5 = 1,419,857
Разница очевидна. Вы видите процесс. Вы видите код. Вы можете проверить логику. Это не чёрный ящик.
| Подход | Точность на MATH500 | Длина вывода | Проверяемость |
|---|---|---|---|
| Qwen3-4B (базовый) | ~34% | Короткий, но часто неверный | Нулевая |
| DeepMath (агент) | ~56% | Длиннее, с объяснениями | Полная: есть код для проверки |
Кому это пригодится? Не только математикам
Казалось бы, нишевый инструмент для олимпиадников. Но нет.
- Преподаватели и студенты: Для проверки решений. Не для списывания, а для понимания шагов. Агент показывает не ответ, а путь к нему.
- Разработчики: Которые устали от галлюцинаций в численных расчётах. Нужно посчитать сложную формулу в приложении? Пусть агент напишет и проверит код.
- Исследователи: Работающие с данными. Иногда нужно быстро прикинуть статистику или преобразовать формулу. Deep Research агенты часто спотыкаются на арифметике. DeepMath может стать их "вычислительным модулем".
- Те, кто хочет понять агентов: Это отличный учебный проект. Проще, чем NeMo Agent Toolkit, но показывает самую суть: размышление, использование инструментов, проверка.
А что с альтернативами? Не один такой умный
Конечно, идея не нова. Есть WeDLM от Tencent — специализированная модель, которая просто быстрее и точнее считает в уме. Но это всё ещё чёрный ящик.
Есть Code Interpreter в ChatGPT Advanced. Он тоже выполняет код. Но это облачный сервис, закрытый, дорогой и не всегда доступный.
Главное преимущество DeepMath — открытость и локальность. Вы качаете модель (4B параметров — это примерно 8-10 ГБ в формате GGUF), ставите библиотеки и запускаете. Всё работает на вашей машине. Никаких API-ключей, никаких лимитов.
Важный нюанс: DeepMath не панацея. Он отлично справляется с алгеброй, арифметикой, простым анализом. Но сложные доказательства или абстрактная математика — не его конёк. Там нужны модели другого типа, возможно, с "тёмной цепочкой мыслей".
Как начать использовать? Не теория, а практика
1Установите базовое окружение
Нужен Python 3.10+. Установите smolagents и transformers. Всё. Никакого LangChain, если только вы не хотите интегрировать агента в большую систему.
2Загрузите модель
Модель лежит на Hugging Face. Можно использовать прямо из transformers. Или конвертировать в GGUF для эффективного запуска на CPU/GPU. Для серьёзной работы советую посмотреть статью про GLM-4.7 на RTX 6000 — там много про оптимизацию.
3Настройте агента
Импортируйте MathAgent из smolagents, передайте ему загруженную модель и настройте песочницу. Песочница по умолчанию безопасна, но вы можете ограничить её ещё сильнее.
4Задавайте вопросы
Отправляйте задачи текстом. Агент будет возвращать цепочку: мысль, код, результат, итоговый ответ. Начните с простого: "Найди корни квадратного уравнения x^2 - 5x + 6 = 0". Посмотрите, как он выведет дискриминант и формулу.
Самая частая ошибка новичков — давать слишком расплывчатые инструкции. Не "реши задачу по физике", а "рассчитай конечную скорость тела, падающего с высоты 100 метров, если начальная скорость равна нулю". Агент мыслит конкретными операциями.
Что дальше? Математика — только начало
Архитектура DeepMath — шаблон для создания любых агентов, которым нужны точные вычисления.
Представьте агента для финансовых расчётов, который всегда правильно считает проценты и налоги. Или агента для инженерных задач, который проверяет размерности в формулах. Или даже агента для извлечения данных, который потом статистику считает.
Песочница для кода — это мост между языковым мышлением и точным исполнением. И этот мост только начинают строить.
Попробуйте запустить DeepMath на своей задаче. Даже если он ошибётся, вы увидите, в каком месте пошло не так. А это уже больше, чем может дать большинство ИИ-инструментов.