Шахматы и языковые модели, часть 2

Первая часть: ссылка



🤴 Слой 2: модели мира

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



Emergent World Representations: Exploring a Sequence Model Trained on a Synthetic Task

Статья: ссылка

Emergent Linear Representations in World Models of Self-Supervised Sequence Models

Статья: ссылка

Пост: ссылка



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



Взяли 2 датасета: один маленький (140к) из онлайн-чемпионатов и один синтетический из случайных листьев игрового дерева (4кк). Как можно заметить, цель была не в том, чтобы модель хороша играла: случайные листья не научат этому модель. Обучили маленькую GPT на аналоге PGN, тут это просто координаты каждого хода.



А дальше начинается серия наблюдений:

- Модель научилась делать ход по правилам в 99.99% случаев, причём из любой позиции.

- Из активаций сети можно восстановить, какая фишка сейчас в заданном месте доски. Более того, во второй статье показывается, что если спрашивать не "чёрная/белая/никакая", а "моя/чужая/никакая", то достаточно обучить один линейный слой (зонд), чтобы эту информацию извлечь с точностью более 99%. Это и означает наличие "модели мира", но никак не показывает, эта модель действительно задействуется при генерации ходов.

- Если поменять активации сети так, чтобы линейный зонд показывал другое состояние доски, модель меняет свои предсказания соответствующим образом. Меняют активации на слое N и последующих, на последнем токене. И вот это уже прямое доказательство того, что "модель мира" не только существует, но и используется сеткой.

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



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





OthelloGPT learned a bag of heuristics

Пост: ссылка



А вот в этом посте немного охлаждаются головы и ставится вопрос о том, как именно модель определяет состояние доски и ходы по правилам. И если вы думали, что где-то в модели зашит эффективный алгоритм определения легального хода или хотя бы того, чья фишка лежит на определённой клетке, то нет, это просто набор эвристик в стиле "сыгран A4 & B4 занят & C4 занят -> пометь B4, C4 и D4 как 'чужие'". Да и вспомните про 0.01% 😐



Другой вопрос: а может ли вообще эффективный алгоритм в принципе работать на архитектуре трансформеров? Спойлер: скорее всего не может, но об этом в следующей части (если я смогу в сложность).





Emergent World Models and Latent Variable Estimation in Chess-Playing Language Models

Статья: ссылка

Пост: ссылка



Прямой идеологический наследник OthelloGPT, но для шахмат. Датасет — 16кк игр с Lichess. Учили GPT на PGN, причём с посимвольной токенизацией 😳



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