Комментарии 32
Интересно, какое место заняли бы нейросети в конкурсе "как перемножить два числа наиболее неэффективным способом"? А если серьезно - неужели так трудно математический движок сбоку прикрутить и оставить собственно нейросетке только распознавание запросов к нему? Или это из каких-то принципиальных соображений не делают?
Тут, наверное, цели были другие всё же, чем получение калькулятора.
У вас бывали случаи, когда вам надо что-то посчитать, но вы вместо расчётов просто "прикидываете примерно сколько" и попадаете довольно близко. даже без расчётов. Просто примерно представляя в голове абстрактное взаимодействие абстрактных чисел. Тут примерно то же. ИИ конкретно тут не считает по формуле, а "прикидывает сколько примерно получится".
Я понимаю, как это работает, но не понимаю, ЗАЧЕМ. Т.е. в научно-исследовательских целях - понимаю, но почему к публично доступным моделям (за которые еще и деньги берут) не прикручивают "калькуляторы" - уже не очень. Потому и прошу объяснить.
"Если к публичным моделям ИИ не прикручивают калькуляторы, значит это кому-то нужно".
Наверное, те, кому важна точность расчётов будут таки использовать калькулятор, а не ИИ. ИИ будут использовать те, кому нужно нечто другое, чем точность и скорость расчётов. Ну и для развития направления ещё. А практической пользы такие ИИ калькуляторы не несут. Пока что не несут. Думаю так.
Но это моё предположение. Взгляд со стороны, не более.
УПД.: ну да, там ответили ниже, для чего это надо.
Популярные сетки это больше текстогенераторы/картинкогенераторы. Генерируется чисто по коэффициентам встречаемости.
Подход по принципу: напихаем побольше в обучайку, подкрутим-подшаманим и наверное что-то готово.
У тебя вопрос больше про глобальную базу знаний. Типа Вольфрам Альфа.
Тут да, есть система извлечения вопроса и его интерпретирования и есть системы детерминированного решения. Для математики, физики, химии и других областей знаний, где решение считается по справочным формулам, это работает идеально (в рамках как поняла система и что заложили разработчики), но требует некоторого формализма в оформлении задач, и необходимо под каждую предметную область писать свой решатель.
Для этого надо ещё 1 запрос делать. Сначала найти всё что можно почитать на калькуляторе, потом добавить результаты вычислений в запрос. Время, деньги. А оно ещё и тупит, не всегда правильно определяет что надо считать.
На практике это вообще не так будет) Никто не будет звать калькулятор сам. Пользователь скорее напишет: "о Великий Вычислитель, посмотри на мою банковскую историю и скажи, будет ли у меня бабло залпатить кредит в следующем месяце". И дальше нейронка породит цепочку рассуждений, внутри которых как раз и будут вычисления типа умножения. "На поверхности" никаких вычислений тебе не покажут, ты задашь вопрос без них, и получишь ответ без них. Такие исследования как в этой статье показывают, насколько ты можешь доверять таким рассуждениям.
К моделям OpenAI, работающим через их интерфейс, уже давно всё прикручено. Попросил сейчас посчитать дисперсию ряда из десятка случайно набранных чисел. Модель выдала результат, при желании можно посмотреть код на питоне, который модель написала, чтобы проверить, всё ли правильно. Промт был " Вычисли дисперсию ряда 3, 5, 2, -1, 9, 0, 1, 1, 1", код писать или запускать калькулятор я не просил.
Так она код на питоне пишет (или еще какую левую фигню делает), чтобы посчитать, или просто считает, вызывая математическую библиотеку? Мне именно вот это интересно.
Это кому-то нужно, думаете? Исследователям настоящий калькулятор не нужен (иначе исследование теряет смысл), пользователям тоже. Так зачем?
Это нужно для того, чтобы понять, насколько можно доверять вычислениям, котрые нейросеть делает в процессе решения других задач
Это изолированное исследование, позволяющее конкретно на числах увидеть результаты
Ну то есть мы просим языковую модель выполнить арифметические действия, а потом говорим что она не справилась? Тогда уж лучше попросили бы покрасить стену - и можно сразу говорить что никуда не годятся ваши жпт.
Попросите её написать программу, которая умножает числа - и вот тогда делайте выводы.
Вспоминаем бородатую шутку, как сложить два числа с помощью jQuery.
Напротив. Мы просим языковую модель выполнить арифметические действия, и она справилась.
А, ну то есть ваш вывод о итогам статьи что она справилась?
Это было не очевидно на фоне графиков, где произведение двух шестизначных чисел считается с точностью всего 57%
Однако, мне ChatGPT на запрос посчитать произведение 8-значных чисел сразу показал в анализе код на Python, хотя я его и не просил. То есть, уже может понять что это именно точная формула.
# Рассчитаем произведение двух чисел
result = 27364822 * 636373828
result
Вы так говорите, будто задача исследователя - обидеть модель и её авторов. Вот ведь, не справилась.
Задача исследователя - исследовать. Вы можете попросить её написать программу и сделать выводы, если хотите. Авторы исследования захотели иначе.
насколько можно доверять вычислениям, котрые нейросеть делает в процессе решения других задач
Вычислениям, если она вызывает код, предназначенный для математический операций, например калькулятор, для вычислений в процессе решения других задач (тем же образом, каким bing вызывает поиск для выбора информации) - можно верить почти на 100%.
А вот домыслам языковой модели в виде подстановки токенов, соотвествующих цифрам (не числам даже) - верить нельзя, ибо это просто игра в угадайку с успехом, зависящим ислючительно от обучающей выборки и настроек семплера, а не от (отсутсвующих у языковой модели) навыков счета.
А Вы представьте, что к этим токенам кода-нибудь прикрутят некую априорную модельную информацию, которая, с одной стороны, позволит всем этим витиеватым вероятностным процессам быстро "сходиться" к точному результату, а, с другой стороны, допустит некоторую самопроверку достоверности статистического вывода (в виде некоторого внешнего по отношению к какой-либо выборке данных критерия). В этом смысле, все эти игры с токенами могут оказаться очень плодотворными, Вы просто недооцениваете их возможности.
В конце-концов, что такое навыки счёта? ;-)
Обязательно прикрутят. И, возможно, уже скоро. Однако, это не такая уж приоритетная цель, думаю. Важнее всего то, чтобы модель правильно понимала контекст вопроса. Недостаточно просто тупо парсить ввод и заменять все формулы на результат. Например, запросы "сколько будет 6*18" и "расскажи сказку про 6*18" - это разные запросы, предполагающие совершенно разный ответ.
Сказка
Еще раз поясню - мне понятно, зачем это исследователям, но непонятно, зачем это пользователям этих моделей, которые вместо обычных вычислений получают гадание на кофейной гуще там, где в этом нет никакой необходимости, и почему при практическом применении нельзя прикрутить к модели (которая в том числе продается за деньги клиенту) вызов банальной математической функции. Есть какие-то фундаментальные сложности (какие?) или в чем-то еще дело?
Видимо, потому что вы не понимаете как это работает.
Модель не делает математические вычисления. Она оценивает вероятность того, что на запрос с такими вот словами можно дать вот такой ответ. Для неё результатом 2x2 будет не одно число, а целый набор, со своими вероятностями.
И 4, и 5.7777, и 899 - это всё будут ответы, но с разной вероятностью. Какие это будут варианты и какие у них будут вероятности - зависит от того как эту модель обучали.
Обучение ведётся на каких-то входных данных, но всегда не на полном объеме. То есть, например, её научили что 2x3=6, 3x4=12, 6x7=42 - а вот про 2x2 она не знает. Но в процессе обучения она каким-то образом построила в своих связях некую сложную полиномиальную функцию типа ax^7+by^6+cz^3+d и вычислила коэффициенты так, что примерно получаются 6, 12 и 42 (но не точно - например, 6.001, 13 и 44). Подставив эти 2x2 в эту формулу она тоже получит какой-то ответ.
Однако, повторю - это языковая модель, то есть она предназначена, в первую очередь, для обработки текста.
Это для вас это "банальная математическая функция", а для модели это всё набор слов, которые надо разделить на некоторые токены и их преобразовать в числа, которые нужно подставить в функцию. Функцию, которая обучалась на таких же текстах.
Однако, повторю - это языковая модель, то есть она предназначена, в первую очередь, для обработки текста.
Здесь Вы сильно ошибаетесь. Как, видимо, и многие другие. "Языковая" — это значит, что она имеет определённое лингвистическое описание, но мы всегда можем сопоставить числовым и, вообще, любым другим объектам какие-то символы. То есть, может быть, Вы и правы, но в том смысле, что практически всё можно интерпретировать как текст на некотором языке.
Но только правила обработки текста не подходят к правилам обработки чисел. Ответ вы получите, но неправильный или не из того набора что ожидается.
Есть модели, которые предсказывают, например, температуру. Они строятся по похожим принципам (внутри полином), но вход более детерминирован по колчиеству входных параметров и на выходе вы ожидаете увидеть число.
С текстом всё сложнее. Если с числами "4=4" и никак иначе, то "собака=кошка" в принципе может быть верно если вы сравниваете по количеству лап или ушей.
Вот выше я попросил её выполнить два задания - посчитать произведение и сочинить сказку. Посчитала? Да. Верно? Да. И мы это можем оценить, поскольку есть только один способ это посчитать.
А вот сказка: Сочинила? Да. Верно? Ну вот это как смотреть.. Вроде и сказка и про мышат, и всё в ней хорошо... Но, вникнув в суть, мы, внезапно, ловим противоречие - мышата не умели умножать, но, вдруг, сразу научились при следующем вопросе. WTF?
Видимо, потому что вы не понимаете как это работает.
Это вы не понимаете, о чем я спрашиваю. :)
Так они же прикрутили Python интерпретатор
Статья из разряда: мы взяли микроскоп и убедились, что он плохо подходит для забивания гвоздей
Насколько нейросеть — хороший калькулятор?