Pull to refresh

Comments 16

Предлагаемое это более сложный путь, чем встроить в бинарник модели калькулятор и при вычислениях дёргать его апишечку или вызывать напрямую. По сути это как дать школьнику калькулятор и научить его жать на кнопки, вместо того чтобы обучить его самого счёту. Но ведь люди, при всей их аналоговости и обладающие схожей бионейросетью как-то считают? В ранних статьях, где-то между ChatGPT 3.5 и 4.0 проскакивало что её специально не обучали математике и она сама вывела закономерности и научилась считать. Просто не стоит зацикливаться на LLM архитектуре, её потолок уже виден. Сейчас всё что делается это раздувание контекста, увеличение количества параметров, увеличение вычислительного кластера, кое-какие алгоритмы оптимизации, сжатия, ограниченное число активных слоёв (MoE)... и на этом всё. Если революционных идей нет, то хотя бы пробовать комбинировать уже существующие, такие как Diffusion LLM, Diffusion forcing или мифические символические ИИ.

Вы правы, встроенный калькулятор в модель - это более чистое решение на уровне архитектуры. И оно уже существует: tool use / function calling в GPT-4, Claude, Gemini. Модель сама решает когда вызвать калькулятор.

Но в моём случае задача шире чем 18 * 38.76. Расчёт коммуналки - это 15-20 переменных, условная логика (двухкомпонентный тариф ГВС, разные тарифы по диапазонам потребления), формирование Excel с форматированием. Калькулятор через API это не закроет. А полноценный Python-скрипт - закроет.

По поводу "научить модель считать" - согласен, потолок текущей архитектуры виден. Но мне не нужно ждать революции в архитектуре. Мне нужно чтобы бухгалтерский расчёт работал точно сегодня. Генерация кода - это прагматичный обход ограничения, не попытка его решить.

Diffusion LLM и символические подходы интересны, но когда они дойдут до продакшена - вопрос открытый. А коммуналку люди платят каждый месяц.

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

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

Бухгалтер Марина из Томска не должна учить Python чтобы посчитать коммуналку. Как и председатель ТСЖ не должен учить pandas чтобы проверить смету.

Это не замена программированию. Это программирование, спрятанное за интерфейс для тех, кому нужен результат, а не процесс. Как Excel в своё время: формулы под капотом, таблица снаружи.

Это программирование, спрятанное за интерфейс для тех, кому нужен результат, а не процесс.

Это «программирование» для тех, кому не нужен правильный результат, а нужен результат, идентичный натуральным правильным (ЕВПОЧЯ).

В этом и суть подхода из статьи. LLM не считает - считает Python. Когда интерпретатор выполняет 18 * 38.76, результат 697.68. Не "идентичный натуральным правильным", а правильный. Детерминированно. Каждый раз.

Галлюцинирует модель - когда считает сама. Код - не галлюцинирует. Именно поэтому мы вынесли арифметику из модели в песочницу. Об этом вся статья.

А не оверхед ли использовать нейросеть для подсчёта коммунальных услуг? Судя по Excel таблице на скриншотах можно было просто обойтись формулами.

Формулами можно посчитать коммуналку, если вы знаете тарифы, структуру расчёта и готовы сами создать таблицу. Но формулы не ответят на вопрос "почему за горячую воду столько?" и не объяснят откуда взялся двухкомпонентный тариф ГВС.

Ключевое отличие не в арифметике. А в том что пользователь пишет запрос в свободной форме, получает результат, и может задать уточняющий вопрос: "Почему водоотведение посчитано от суммы ХВС и ГВС?", "А если у меня электроплита, не газовая?", "Сравни с прошлым месяцем".

Со сметой это ещё нагляднее. Председатель ТСЖ загружает смету и спрашивает: "Почему позиция 4 завышена на 142%? Откуда рыночная цена? Какой источник?" И получает ответ с разбивкой и ссылками. Формулы в Excel на это не способны.

Коммуналка в статье - простой пример для иллюстрации подхода. Реальная ценность - в диалоге, а не в вычислении.

А проблема получить «примерно 680» еще актуальна?. Вроде все дают правильный ответ, а в примере их типичный порядок рассуждений. ГигаЧат, который для двоечников (см. рекламу про биссектрису), пошел еще дальше - он отдельно умножал на целые, на десятые, на сотые, затем аккуратно все сложил. Только еще не спросил: "Ну что, Баранкин, теперь-то тебе все понятно?"

Проблема «примерно 680» решена для арифметики, но GigaChat нашёл себе новые способы ошибаться. В аудите 14 нейросетей на Habr (habr.com/ru/articles/989438/) GigaChat стал аутсайдером тестирования с массовыми галлюцинациями в цифрах и фактах. Например, на вопрос о пропускной способности нейроинтерфейсов он заявил 100 Мбит/сек прямо в мозг (это скорость Wi-Fi), тогда как реальная оценка из Nature - 10-100 бит/сек. Ошибка на шесть порядков. Простое умножение научились делать, а с фактами по-прежнему беда. Так что реклама про биссектрису - это ещё цветочки.

Да, нагаллюцинировать они могут всякого. Но это все-таки из разряда "Откуда ты это взял?" А у Вас в статье речь именно про арифметику и давно известные глюки с вычислениями, где разное количество цифр после запятой. Последнее время я как-то не могу их поймать на подобных фокусах. Недавно выписывал на скорую руку суммы с около сотни чеков на лист А4. Там были и целые рубли, и с одной цифрой после запятой, и с двумя. Сфотографировал лист и подсунул Qwen-у, он прекрасно все сложил, ни на копеечку не ошибся.

Deepseek 3.2
Deepseek 3.2

«Раздели 123 456 789 на 7. Ответ с остатком.» (Правильный ответ: 17 636 684 остаток 1)

QWEN 3.5 Plus
QWEN 3.5 Plus

«Посчитай: 127.83 + 94.17 + 218.56 + 43.91 + 876.03 + 155.47 + 312.69 + 88.44 + 567.21 + 33.79 + 441.58 + 106.32. Ответ одним числом.» (Правильный ответ: 3 066.00)

Проверил. Qwen Max действительно все три решил. Но Qwen 3.5 Plus ошибся во втором (сложение 12 чисел), а DeepSeek V3.2 — в третьем (деление с остатком). Так что арифметические глюки никуда не делись, просто переехали из флагманов в модели, которыми реально пользуется большинство. Ваш Qwen с чеками скорее всего был Max — он действительно считает лучше остальных. Но стоит в 10 раз дороже.

Да, Вы правы: доверять трансформерам важные вычисления - дело рискованное. "Доверяй, но проверяй", а какой тогда смысл? Ладно ЖКУ, там в худшем случае налетишь на пеню. А если это какие-то критичные вычисления? Поэтому Ваша идея про разделение труда между ИИ и программой вполне здравая. Каждый должен заниматься тем, на что он больше всего годится.

Sign up to leave a comment.

Articles