Search
Write a publication
Pull to refresh

Comments 28

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

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

И насчет близости "Го" замечание хорошее - игра в значительной степени сконцентрирована на локальных фрагментах которые можно более успешно шаблонизировать чем шахматную доску.

Интересно экстраполировать эту мысль на игру Сёги - в японских шахматах мало дальнобойных фигур. В идеале взять вариант в котором их нет.

Ну зачем автор поста пытается забивать гвозди микроскопом ... ? Это же разные задачи.

Потому что может, не? Это как минимум интересно

валидное возражение :) правда насчет сравнения LLM с микроскопом немного загнули - микроскоп вещь полезная!

я же просто наткнулся некоторое время назад на пост одного энтузиаста по поводу именно игры в шахматы с ChatGPT - и возникло несколько вопросов которые было любопытно проверить. в целом же это чисто "для развлечения" ну и м.б. чуть-чуть попытки понять где заканчивается собственно LLM и где начинается специфическая доработка авторов движка под конкретную задачу (чего они конечно не очень афишируют)

Зато смешно пошутил про Nim-sum (полагаю, игра слов dim sum = димсам и sum = сумма)

любопытная ассоциация - пришлось загуглить :) но мне кажется Nim-Sum это термин из теории игр (есть какая-то непонятная теорема из которой следует что любую игру из широкого класса (где обоим игрокам доступна вся информация и результат зависит только от текущего положения) можно как-то свести к игре Ним (но кажется не поясняется как) - а для неё уже известен вот этот алгоритм с подсчетом "суммы" исключающим "или".

Там не совсем сведение к нему, а алгоритм определения, кто выиграет при оптимальной игре в широком классе игр.

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

Функция Шпрага-Гранди для состояния игры определяется рекурсивно. Если нельзя сделать ни одного хода, то она равна нулю. В противном случае, смотрим на все состояния, которые можно получить из текущего за один ход, считаем функцию Шпрага-Гранди для каждого из них, находим минимальное число, которое получить нельзя, и объявляем его значением функции Шпрага-Гранди текущего состояния.

Например, для нима с одной кучкой функция Шпрага-Гранди - это просто число камней в кучке (за один ход можно получить любое меньшее число камней, а вот столько сколько было оставить нельзя).

И зачем нужна вся эта история. Теорема Шпрага-Гранди утверждает, что

  1. Если функция Шпрага-Гранди текущего состояния равна нулю, то при оптимальной игре текущий игрок проигрывает, иначе - выигрывает.

  2. Функция Шпрага-Гранди игры на нескольких досках равна ним-сумме (также известной как побитовое исключающее или) функций Шпрага-Гранди отдельных досок.

Михаил, спасибо за подробное разъяснение, постараюсь вникнуть подробнее - в общих чертах соображения знакомые :)

Спасибо за статью, действительно интересно проверить, как оно сейчас. Тоже какое-то время назад пытался сыграть - и все плохо. На первых этапах крестики-нолики были для llm тяжелой игрой, то исчезал крестик, то ходил туда, где уже что-то есть. В последних версиях вроде хотя бы с этой игрой справляется. Интересно, а если подключить шахматный движок - llm все равно будет путать ходы / расположение или "поумнеет"?

а Вы имеете в виду подключить движок с какой стороны? с пользовательской чтобы генерить позиции в FEN-формате и каждый раз задавать вопрос о следующем ходе (коллеги говорят что с ChatGPT последним это работает без выраженных ошибок хотя уровень несерьёзный) - или же со стороны самого LLM, чтобы он просто передавал присланную пользователем позицию в движок и выдавал ответ?

имею ввиду со стороны llm. Сейчас они умеют ходить в интернет (агенты), находить / фильтровать информацию, обобщать, искать ключевые особенности и тп. И соответственно, вместо интернета - движок - получить наиболее перспективные ходы и выбрать из них. В шахматах есть ловушки, когда движок дает одну оценку, но после хода оппонента может сразу случиться сильный перевес вплоть до выигрыша.

ну да, то что я называю "бэкендом" для конкретной задачи :) имхо интересно не будет т.к. шахматный движок действует гораздо более предсказуемо чем LLM. не очень понятно что за "ловушки" имеете в виду. в простых версиях движков действительно есть ситуации когда проверка какого-то варианта была остановлена раньше чем следовало (и соответственно на следующем ходу могут открыться новые горизонты) - но кажется большинство современных более-менее адресуют эту проблему (хотя допускаю что на уровне выше новичково-любительского на неё все еще можно наткнуться)

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

о да, тема замены отсутствия естественного интеллекта искусственным - она неисчерпаема кажется :)

Тоже подумал что чтобы понять что такое шахматы для LLM можно представить слепого от рождения парализованного человека, которому читали тексты про шахматы. Много он наиграет? Да любой человек если не тренировался в уме визуализировать и удерживать доску то тоже много не наиграет, через несколько ходов легко совершит те же ошибки что и LLM (хотя на его стороне пространственное воображение/визуализация)

Очень полезно вспомнить, что еще в 2022 году на Хабре была вот эта статья, где показали, что небольшим дообучением можно заставить GPT-2 весьма прилично играть в шахматы, и разобрали, что проблема не столько в нейросети, сколько в обучающих данных. Что интересно, с тех пор каждый год, а то и несколько раз в год выходят статьи, где авторы показывают, что та или иная новая модель в шахматы играть не умеет, и в комментариях делаются глобальные выводы из этого, что LLM разумными быть не могут. Хотелось бы попросить авторов, которые пишут про шахматы и LLM, делать поиск и обзор предыдущей литературы перед публикацией, чтобы читатели могли видеть правильный контекст вопроса

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

мне кажется что вы неправильно интерпретируете выводы той статьи, извините за прямоту - это простительно поскольку, как я понимаю, Вы отчасти были вовлечены в её создание и это мини-исследование, а может и инспирировали его в маркетинговых целях, поскольку в описании компании указано "разработка моделей ИИ на заказ" :)

Здорово что оставили демо-страничку, с её помощью довольно легко проверить что модель подвержена все тем же капитальным проблемам. Во второй же игре она теряет ферзя на 7 ходу. При этом я настолько не гроссмейстер, что мой собственный ELO-рейтинг на chess.com ниже 1200 (хуже новичка). Вообще рейтинг - штука относительная и не стоило его даже упоминать.

Почему это происходит? Это вопрос к тому как вы понимаете "научиться играть в шахматы". Вы её заставили как ребёнка запомнить очень много шаблонов позиций (или их фрагментов?) - что-то вроде рандомной таблицы дебютов. Но при этом она не "понимает" смысла игры, у неё нет логики оценки фигур - она не в курсе что короля (или вот ферзя) в принципе не следует терять.

Для меня это не значит "уметь играть". Ну как копипастить со стековерфлоу - не значит "уметь программировать".

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

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

Я не автор той статьи, хотя знаю автора и обсуждал с ней выводы. Думаю автор вам лучше прокомментирует. От себя скажу, что в статье на которую я ссылаюсь для модели как раз и определили рейтинг в диапазоне 1200-1300 (и это рейтинг 2-го юношеского разряда где-то и минимальный уровень на который можно настроить движок Stockfish).

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

1200 по сравнению с этим небо и земля, учитывая, что это получено на древнейшей GPT2 размеров в 0.3 миллиарда параметров в далеком 2022 году на небольшом относительно числе партий, а тот же DeepSeek имеет 685 миллиардов параметров. А так, в DeepMind в 2024 взяли 10 млн. партий и обучили модель, которая на lichess в блице получила ELO 2895 (уровень гроссмейстера).

Суть в том, что нет архитектурных ограничений, по которым LLM не может в принципе хорошо играть в шахматы, просто игра в шахматы это не та метрика, которой обычно озабочены разработчики.

определили рейтинг в диапазоне 1200-1300 (и это рейтинг 2-го юношеского разряда

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

Суть в том, что нет архитектурных ограничений, по которым LLM не может в принципе хорошо играть в шахматы,

ограничения очевидны по-моему:

  • LLM не может понять правила игры и только приблизительно ориентируется на игры на которых она натренирована

  • LLM вообще не годится для игры (или решения другой задачи похожего класса) если нет возможности её натренировать на чём-то готовеньком. собственно в первом комментарии к той статье вам об этом сразу и сказали

обучили модель, которая на lichess в блице получила ELO 2895

с этим утверждением та же проблема что и с вашим исследованием/статьёй - у авторов налицо несколько предвзятое суждение в оценке результатов - а кросс-верификация здорово затруднена. на arxiv.org есть и статьи об антигравитационных свойствах кошек например (хотя в целом это неплохой сайт)

Немного ознакомился с историей вокруг поделия от DeepMind, спасибо конечно. Думаю как специалист вы не могли не заметить особенностей реализации описанных в статье - так что дело там не в 10 млн партий конечно, а в использовании дерева поиска от Stockfish для обучения. Утрированно говоря, вот, наш LLM не производит поиск по позициям а запоминает поиск сгенерированный другой программой.

Нет, он не запоминает поиск, потому что результат обобщается на позиции, которых нет в обучении. В целом, чем это принципиально отличается от метода, которым получают современные рассуждающие модели - обучение на примерах цепочек рассуждений и потом дообучения с помощью Reinforcemnt Learning? Если на то пошло, чем отличается принципиально от обучения человека, с которым разбирают партии и показывают логику принятия решений? Не нравится эта методика, вот вам еще статья (https://arxiv.org/pdf/2501.17186) без партий движка.

Вообще, покажите мне человека, которому можно дать 500 тыс в партий в формате PGN, не объясняя партии и не показывая вообще доску и фигуры, и который ничего не зная изначально о шахматах за ночь научится играть даже на уровне ELO 1200-1300?

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

Ну я исхожу из чего. Stockfish имеет калибровку по рейтингу FIDE, судя по документации. Т.е. если Stockfish поставить ELO 1300, то он в 50% случаев обыграет шахматиста с аналогичным рейтингом, статистически. Отсюда, если модель обыгрывает в 50% игр Stockfish с такой настройкой, то модель имеет рейтинг примерно 1300. Да, это приблизительный метод, т.к. отправить модель на соревнования невозможно. Но его результат не может "никак не коррелировать" с реальным рейтингом, чем лучше модель играет против движка, тем сильнее она будет и против человека.

Возможно LLM просто играет в 5D шахматы. Там допустимы перемещения фигур между вселенными (временными линиями). Это объясняет "невозможные" ходы, а также внезапные исчезновения и появления фигур на доске. (шутка?)

В статье использовалась модель V3? У нее похоже нет памяти на предыддущие сообщения, а если использовать R1?

Я тоже пробовал играть с ChatGPT.

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

2) Начиная с момента, где кончается база дебютов, начинает делать невозможные ходы

Вывод:

1) либо нужно строить нейросети, полностью имитирующие работу мозга - не уверен, что такое выполнимо

2) Либо учить ЛЛМ для специализированных целей вызывать спец. движки, например для шахмат стокфиш. Кстати, какой-то примитивный гейт у чатгпт в личесс есть, он пытается генерировать ссылку на диаграмму, к сожалению пока криво.

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

При этом играть в шахматы и разбирать позиции с ЛЛМ с психологической т. зр. намного приятнее (было бы, если бы они умели играть или хотя бы строить диаграммы)

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

Не видя доски я тоже не силен играть. Мое шахматное кунг-фу слишком слабое. Наверное у ллм вышло бы лучше, если бы ей какой-нибудь МСР шахматный сообразить. И сделать режим агента. Черт, написал и сразу подумал что наверняка кто-то уже подумал об этом раньше. Минутка гугла - полно ( Опередили. Даже инструкцию состряпали на ютубе.

Насчет генерации текста. Мы тоже в некотором роде лингвистические модели. Правда не очень большие. Когнитивная лингвистика подсказывает, что речь если не определяет мышление, то как минимум плотно участвует в когнитивных процессах. Мягкий лингвистический релятивизм и все такое. Кстати, центр Вернике подозрительно напоминает прожектор внимания у ллм. А височная доля, судя по всему, занимается векторизацией ввода. Что именно делает с векторами префронтальная кора пока не очень ясно, но в итоге мы в основном генерируем текст. Наша архитектура пока что выглядит более универсальной, компенсируя даже мизерное контекстное окно, но у эволюции была большая фора.

В целом занимательное упражнение, плюс за идею, надо тоже попробовать. Показать железяке интеллектуальное превосходство. Старенькие шахматные алгоритмы все равно без гандикапа не обыграть )) Может ллм и в квейк научить играть получится?

Sign up to leave a comment.

Articles