ИИ и формализмы
Feb. 16th, 2025 04:05 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
"Transformers Can Do Arithmetic with the Right Embeddings"
https://neurips.cc/virtual/2024/poster/94565
LLMов научили арифметике, как я понимаю, через специальное кодирование чисел. Это интересный трюк, поскольку у обычных ЛЛМов даже счет не получается, и да у людей научиться арифмерике занимает годы. Так что интересно с точки зрения понимания, как оно работает.
Но одновременно у меня возникает вопрос (который, как оказалось, авторам этой бумаги в голову не пришел): накойхер их учить арифмерике, если у них есть под боком компьютер, который может посчитать все то же самое легко и эффективно? Гораздо более продуктивным занятием было ты научить ЛЛМы пользоваться калькулятором. В простейшем варианте, добавить поспроцессинг к выводу ЛЛМа, который выцепит и выполнит вычислительные инструкции, и научить ЛЛМ генерить эти инструкции. Ну вот например, недавно народ активно рассуждал про "посчитать буквы r в слове strawberry". Это задание можно поделить на две части: (1) выцепить буквы r, (2) посчитать их. ИИ мог бы генерить что-то типа
$(wc r r r)
и получить на выходе 3. Ну и то же самое с любой арифметикой.
Интересно, какие возражения такая идея вызывает у учоных: "но ведь разрешать выполнение питонного кода из вывода - небезопасно". То, что можно сделать не Питон, а любой свой безопасный язык, им просто в голову не приходит. На лицо еще один признак большого разрыва между Машинными Учоными и Компьюторными Учоными.
А вот еще интересен такой момент: я спрашивал в разных местах, и у всех генерация машинного кода искусственным интеллектом просиходит совершенно от балды этого ИИ. Но ведь машинный код - формальный язык. Грамматика и семантика его известна. Ничего не мешает генерировать сразу согласно грамматике - проверять каждую следующую лексему на соответствие грамматике, и если соответстие не найдено, то ее отбрасывать и выбирать другую, следующую по весу. Может полученный код и не будет правильно работать, но как минимум всегда будет соответствовать грамматике, и с небольшими дополнительными проверками - компилироваться. В одном из мест я видел примеры кода, сгенерированного моделями различной сложности, с качеством, растущим со сложностью модели. Но простая формальная проверка должна поднять качество кода, сгенерированного даже простыми моделями.
https://neurips.cc/virtual/2024/poster/94565
LLMов научили арифметике, как я понимаю, через специальное кодирование чисел. Это интересный трюк, поскольку у обычных ЛЛМов даже счет не получается, и да у людей научиться арифмерике занимает годы. Так что интересно с точки зрения понимания, как оно работает.
Но одновременно у меня возникает вопрос (который, как оказалось, авторам этой бумаги в голову не пришел): накойхер их учить арифмерике, если у них есть под боком компьютер, который может посчитать все то же самое легко и эффективно? Гораздо более продуктивным занятием было ты научить ЛЛМы пользоваться калькулятором. В простейшем варианте, добавить поспроцессинг к выводу ЛЛМа, который выцепит и выполнит вычислительные инструкции, и научить ЛЛМ генерить эти инструкции. Ну вот например, недавно народ активно рассуждал про "посчитать буквы r в слове strawberry". Это задание можно поделить на две части: (1) выцепить буквы r, (2) посчитать их. ИИ мог бы генерить что-то типа
$(wc r r r)
и получить на выходе 3. Ну и то же самое с любой арифметикой.
Интересно, какие возражения такая идея вызывает у учоных: "но ведь разрешать выполнение питонного кода из вывода - небезопасно". То, что можно сделать не Питон, а любой свой безопасный язык, им просто в голову не приходит. На лицо еще один признак большого разрыва между Машинными Учоными и Компьюторными Учоными.
А вот еще интересен такой момент: я спрашивал в разных местах, и у всех генерация машинного кода искусственным интеллектом просиходит совершенно от балды этого ИИ. Но ведь машинный код - формальный язык. Грамматика и семантика его известна. Ничего не мешает генерировать сразу согласно грамматике - проверять каждую следующую лексему на соответствие грамматике, и если соответстие не найдено, то ее отбрасывать и выбирать другую, следующую по весу. Может полученный код и не будет правильно работать, но как минимум всегда будет соответствовать грамматике, и с небольшими дополнительными проверками - компилироваться. В одном из мест я видел примеры кода, сгенерированного моделями различной сложности, с качеством, растущим со сложностью модели. Но простая формальная проверка должна поднять качество кода, сгенерированного даже простыми моделями.
no subject
Date: 2025-02-17 05:54 am (UTC)Сделать отдельно калькулятор – просто. Но совместить с логическим мышлением не получается.
Почему так. Арифметика существует несколько тысячелетий, но у неё никогда не было логически непротиворечивых правил. Это упущение попытались устранить лет 150 назад и напоролись на теоремы Гёделя о противоречивости и неполноте.
Пример 1. Делить можно на любое число за исключением нуля. Это нарушение закона исключённого третьего. В логике не существует утверждений вида «все без исключения… за исключением…», «любой… кроме…». А ещё есть проблемы с единицей.
Пример 2. Матан опирается на утверждение, что на дифференциально малом участке дуга тождественна прямой. Это прямое нарушение закона тождества.
В общем совместить логику и математику даже у людей не получается. В подавляющем большинстве случаев люди этого не замечают, потому что логикой не владеют. А вот в ЛЛМ проблема проявилась во всей красе.
no subject
Date: 2025-02-17 03:23 pm (UTC)Правила арифметики всегда были непротиворечивыми. Гёдель доказал то, что в непротиворечивой системе могут быть истинные утверждения, которые невозможно доказать в рамках этой системы.
Матан не перестал работать после того, как Вейерштрасс придумал одноимённую функцию. Законы Ньютона или Кеплера от этого открытия никак не пострадали. Они и так ломаются на квантовом уровне, а в рамках их применимости фрактальных функций не бывает.
no subject
Date: 2025-02-18 04:48 am (UTC)Я и не говорил, что математика не работает. На матане вся физика держится. Я говорю, что математика нелогична, как и физика. Сила науки проявляется в ее способности предсказывать будущее, а не в том, насколько она логична. Но здесь речь об ЛЛМ. Как ему совместить логику и математику?
no subject
Date: 2025-02-18 12:42 pm (UTC)Неполнота в данном контексте именно это и означает.