В комментариях обратили внимание на статью от 2022 года, где специалисты компании Meanotek взялись специально натренировать GPT-2 «весьма прилично играть в шахматы». К счастью они оставили демо‑страничку где можно поиграть против их модели — то есть, потестировать результат вместо чтения длинной статьи (о чем пару слов тоже скажем).

Ну я и потестировал, получил интересные результаты, но в отличие от профессора Выбегалло с удовольствием сейчас их вам расскажу — будут представлены 3 тестовых игры, буквально в несколько ходов каждая — по крайней мере в первой модель держится неплохо... до поры :)

Дисклеймер и предыстория

Я не связан с разработкой ИИ, мало что о них знаю и уж, ничего не знаю о компании Meanotek и данное замечание не появилось бы если бы не этот комментарий от пользователя @Durham:

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

Насколько я понимаю, компания Meanotek представляемая автором комментария и автором статьи на которую он ссылается (и в которой видимо принимал непосредственное участие) занимается продвижением и продажей ИИ‑моделей, так что некая предвзятость позиции их понятна.

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

Я также не являюсь специалистом по игре в шахматы. На chess.com мой рейтинг успешно проваливается к 1100 притом что на входе даётся 1200. Честно признаюсь мне никогда не хватало терпения всерьёз ими заниматься, хотя сама игра безусловно симпатична.

Попытка №1 — придерживаемся мейнстрима

В первой игре попробуем придерживаться линии более‑менее стандартных дебютных ходов. Мой компьютерный оппонент разыгрывает «Сицилианскую защиту» (всегда по‑видимому) 1. e2 c5 — я в ней ничего не понимаю, поэтому отвечаю вероятно не лучшим ходом d4 — и эту пешку противник сразу бьёт — можно сказать что сицилианская защита после этого скатывается в обычную новичковую (с моей стороны) игру:

сломали красивый дебют
сломали красивый дебют

Здесь у начинающего соблазн взять пешку ферзём, но его сразу погонит конь прыгнув на c6, поэтому даже новичок+ уже обычно наваливается на пешку конём (в дальнейшем можно будет её взять с разменом коней). Я же сыграю именно этот «банальный» вариант. После 3. Qxd4 Nc6 ферзя надо куда‑то убирать — тут есть любопытные идеи, но мы как прилежные новички просто двинем его назад с потерей темпа:

омерзительно - противник развивается, а мы топчемся на месте
омерзительно - противник развивается, а мы топчемся на месте

Противник выводит второго коня, а мы только пошевелили фигуры. И пешку уже надо защищать. Выведем своих коней — заодно и пешку защитим. Противник однако открывает дорожку своему слону и «связывает» коня защищающего пешку:

мы явно отстаём и копим проблемы, чёрные рулят
мы явно отстаём и копим проблемы, чёрные рулят

К счастью противник двинулся королевской пешкой лишь на один шаг — это значит мы можем двинуть свою и погнать его коня! К сожалению конь прыгает ближе к нам и создаёт больше проблем — в частности наша лошадка на c3 теперь под двумя атаками. Защитим её ферзём:

тут уже чувствуется что мы начали плохо и становится только хуже
тут уже чувствуется что мы начали плохо и становится только хуже

Ход ферзя выглядит неплохо — и своего коня защитили, и на чужого навалились. Тут стоило «срубить» пешку «d» на проходе, наверное — но я стал мямлить — подкрепил проблемного коня слоном на d2, противник тут же разменял его конём и мой ферзь теперь уже оказался на d2 продолжая связывать коня!

ой, что это - рокировка?
ой, что это — рокировка?

В общем я был близок к тому чтобы сдаться и «начать заново» — но что делает мой противник?

Он пытается рокироваться!

Рокировкасостоит в одновременном движении короля и ладьи — как видим, модели удалось выполнить это лишь наполовину.

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

Попытка №2 — выходим из мейнстрима

Мыпонимаем что модель натренирована на значительном количестве игр. Очевидно стоит попробовать (в пределах разумного) варианты которые встречаются в реальных играх реже.

Начинаем новую игру — тут предсказуемо опять сицилианская защита — но в этот раз толкнём королевскую пешку вперед. Сомнительный ход, поскольку там её сложнее защитить — но например она мешает вывести коня на королевском фланге.

а на ферзьевом не мешает :(
а на ферзьевом не мешает :(

Предсказуемо на пешку сразу наваливается второй конь. Защитим её тоже конём — но противник двигает пешку g6 — явно открывает «форточку» чтобы «фианкеттировать» (красивое слово — вывести слона через фланг) и дополнительно навалиться на пешку.

зачем ход d3?
зачем ход d3?

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

и чего ему эта пешка далась? центр захватить пытается - стандартная практика
и чего ему эта пешка далась? центр захватить пытается — стандартная практика

Конечно такая позиция представляет огромный соблазн для «вскрытой атаки» — не знаю, лучший ли это ход — но я попробую его не думая. Пешка идет вперед угрожая немного продырявить пешечный строй перед королём — неприятно но мелочь. При этом однако открывается атака слоном на ферзя.

Отвечая на свой же вопрос — вижу что ход дурацкий — ферзь просто может взять слона!

Но мой противник не человек а LLM и на дурацкие ходы у него реакция может быть странной:

возможно это хитроумная жертва
возможно это хитроумная жертва

Вместо того чтобы брать слона ферзем или хотя бы увести ферзя, противник занялся пешкожорством. А смысл? всё что ему угрожало — потеря рокировки когда королю придётся побить пешку. И то в случае взятия слона пешку на f7 можно было бить ферзем... Но нет, ферзи нам не нужны!

После взятия ферзя становится видно что противник «имел в виду» отъесть ладью на левом фланге. При этом конечно он теряет слона... Но видеть за этим хитрый расчет неправильно — здесь он играет как ребёнок у которого «есть идея» и он игнорирует ходы противника:

как мы дошли до жизни такой?
как мы дошли до жизни такой?

Продолжать эту игру наверное уже неинтересно (хотя отдельное любопытство представляет исследование возможностей модели в эндшпиле). Можете поанализировать — вдруг я не прав и какую‑то хитрость упускаю?

Попытка №3 — совсем нежданчик

Для третьей попытки я решил попробовать ещё какой‑нибудь «нестандартный» ход — например сразу навалиться на пешку f7 — заставить короля выйти — это ослабляет защиту короля и иногда хорошо работает против таких же новичков как я сам:

эк он меня подсёк
эк он меня подсёк

Я вывожу слона на 2м ходу с целью пожертвовать его на f7 следующим ходом... Но противник портит мне идею двигая пешку e6. Вероятно это одна из очень стандартных линий «сицилианки», я не в курсе. Но меня так просто не собьёшь — нельзя пожертвовать слона, пожертвуем ферзя!

угадайте что я сейчас буду делать?
угадайте что я сейчас буду делать?

В игре не сделать скриншот на ходе противника (по крайней мере с моей тормозной реакцией) — поэтому поясняю, я вывел ферзя на f3 (глуповатый ход мешающий развить коня) — но не собираюсь его здесь оставлять — он следующим ходом бьёт пешку рядом с королём:

пока-пока, ферзик
пока-пока, ферзик

У противника единственный вариант хода — и он с ним справляется. Бьёт ферзя королём. У меня минус ферзь — у него минус рокировка. Не большая проблема в общем‑то, после развития слона и коня он может всё‑таки встать королем за ладью... Я не советую так играть за белых — это «выгорит» только если вы можете очень быстро атаковать (но для этого должны быть развиты другие фигуры).

Как же теперь быть мне? А, ну да, развивать фигуры. Нужно открывать атаку второго слона, нужно рокироваться чтобы подпереть ладьёй линию F. А для этого мне нужно вывести коня...

Коня я вывел — он тоже... Но что это? Полюбуйтесь, у белого короля среди возможных ходов нет рокировки! Хватаем его, двигаем на две клетки вправо — но нет, мне не дают сделать этот ход.

раз чёрные не могут рокироваться - то и белым ни к чему
раз чёрные не могут рокироваться - то и белым ни к чему

Продолжать игру пожалуй не имеет смысла. Рокировка в позиции белых — краеугольно важная вещь, как я сказал, нам нужно быстро развиваться. Тратить три хода чтобы топтаться королём в обход ладьи — такое себе решение.

Выводы и Заключение

Я безусловно глубоко признателен коллегам @Durham и @Alice_point_py (если они не являются одним лицом — в этом случае признателен дважды) — за предпринятые усилия подвигающие нас в изучении возможностей LLM в применении к логическим задачам.

Также очень признателен за тестовую страничку — без неё конечно вся эта огромная статья была бы рассуждениями автора «в вакууме» без возможности повторить и проверить.

В то же время отмечу некоторую предвзятость авторской точки мнения — как в статье так и на странице их сайта:

где показали, что небольшим дообучением можно заставить GPT-2 весьма прилично играть в шахматы

друзья, простите, но даже почти совсем не умея в шахматы я не готов назвать этот результат «весьма приличным»

коллега констатировал, что модель начала играть лучше него (от чего у него началась депрессия),

вы понимаете что мы можем подумать об этом коллеге :) предположу что если коллега хотя быдесяток‑другой партий сыграет с новичками на lichess или chess.com — это поможет и из депрессии выйти и восстановить паритет с «моделью».

Наша гипотеза:

Проблема не в архитектуре, а в данных

Формально это отчасти справедливо, только вы не можете в принципе набрать достаточно данных чтобы более‑менее серьёзно играть в шахматы.

Кроме того напрочь игнорируется другая проблема — в отличие от «дедовских» алгоритмов «модель» не может работать в ситуации для которой у неё нет данных. Утрированно говоря мы по прежнему не столько «решаем» задачу, сколько «ищем решение» в своей экспертной базе. То что это ИИ, ChatGPT — не меняет сути. Просто алгоритм накопления данных и поиска по ним становится гораздо более хитроумным.

Понимание или имитация? Что скрывается за успехом машинного мышления

Вы же сами отвечаете на этот вопрос, правда «размыто»: «Границы между этими концепциями остаются размытыми, поднимая глубокие вопросы о природе машинного интеллекта.»

Звучит поэтично но тут надо понимать что исходя из специфики вашей работы вы не всегда можете отвечать честно. Маркетинг штука тонкая :)

В то же время возвращаясь к упомянутому выше аспекту — модель не решает а только ищет решение «в копилке» — мы прямо скажем что «пониманием» это не назвать.

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

но для такой базовой вещи, как правила игры, в идеале хотелось бы обойтись и без 1,8% погрешности.

Точно, а для критических задач «понимание правил» должно иметь нулевую погрешность. Как этого достичь с LLM не вводя каких‑то костылей — я не знаю.

Этот парадокс ставит фундаментальные вопросы о природе машинного интеллекта: обладают ли языковые модели реальным пониманием или просто имитируют паттерны?

Резюмируя скажу так — вопросы которыми задаются сотрудники компании Meanotek — выглядят странно в устах специалистов. Кажется именно «разработчикам ИИ» должны быть лучше других понятны границы применимости... Ну и что за шахматы браться в качестве примера наверное точно не стоило (по крайней мере если не изобрести какого‑то гораздо более хитроумного способа тренировки, с оценкой не по позиции а по связям между фигурами) и т. п.

Комментарии (2)


  1. SeveR31
    31.07.2025 09:26

    А если ещё глянуть, как ИИ внутри считает - и никакие шахматы будут не нужны для доказательств имитации.


  1. Alice_point_py
    31.07.2025 09:26

    Добрый день, спасибо за ваш пост.

    Я безусловно глубоко признателен коллегам @Durham и @Alice_point_py (если они не являются одним лицом - в этом случае признателен дважды) - за предпринятые усилия подвигающие нас в изучении возможностей LLM в применении к логическим задачам.

    Да, мы разные люди — у каждого своё мнение.

    Насколько я понимаю, компания Meanotek представляемая автором комментария и автором статьи на которую он ссылается (и в которой видимо принимал непосредственное участие) занимается продвижением и продажей ИИ-моделей, так что некая предвзятость позиции их понятна.

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

    Теперь по существу. Если я правильно понимаю, ваше мнение строится на такой базе:
    1. Я слабый шахматист

    2. Я сыграл 3 партии
    2.1. В 2 партиях рокировка сделана с ошибкой / непозволена
    2.2.. В 3-й был зевнут ферзь

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


    По рокировке: Так действительно не должно быть, но дело в том, что модель
    "запрещать" что-либо не может. Я сейчас проверила и выяснилось, что проблема была в
    скрипте шахматной доски на сайте — сайт с 2022 года часто обновляли, и никто не проверял как работает демка, поэтому она немного "подпортилась". Спасибо, что заметили — мы это уже починили. Еще отмечу, что рокировка, это база шахмат, она есть почти в каждой партии.
    Если бы модель её не понимала, это противоречило бы самой сути ИИ - следовать шаблонам. Ведь ход королём в дебюте без рокировки огромная редкость.


    По зевку: тут отвечу просто, да, модель ошибается. Её уровень — 1279 ELO. На таком уровне люди регулярно зевают фигуры и это не определяет еще победителя.

    Еще момент, вы делаете вывод на основании трёх партий, но этого маловато, чтобы судить о способностях модели. LLM учатся иначе, чем люди. Представьте: вас посадили за шахматы без объяснений. Не сказали ни про правила, ни про цели, ни про разные виды игры (быстрые, классические, Фишера, шветка). И сразу посадили играть в блиц (3 минуты на партию). Сколько партий вы проиграли бы, прежде чем начать понимать? 100? 1000? И это при том, что человек может проиграть одну партию и сесть продумать варианты, представить их, построить гипотезу. Или даже каждый ход. А модель обученная методом, где идет прямое прогнозирование ледующего слово, в каком-то смысле, не имеет возможности рассуждать. Они должны действовать сразу, не думая, а как уже умеют. В таких условиях данные размером в 1–3 миллиона - это лишь маленькая крупица.

    Отсюда частично и возникает вывод:

    Проблема не в архитектуре, а в данных

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