Fat Fritz и Fat Fritz 2: история, отличия и спор со Stockfish

Просмотры: 2630

Под названием Fat Fritz выходили два заметно различавшихся шахматных проекта ChessBase. Первый Fat Fritz использовал программную основу Leela Chess Zero и большую нейронную сеть, рассчитанную преимущественно на видеокарту. Fat Fritz 2, напротив, работал на базе Stockfish и применял NNUE — быструю нейросетевую оценку для центрального процессора.

Сегодня оба продукта представляют главным образом исторический интерес. Они больше не относятся к актуальной линейке ChessBase, а распространение Fat Fritz 2 стало предметом спора с разработчиками Stockfish из-за соблюдения лицензии GPL.

Что такое Fat Fritz?

Fat Fritz — название семейства коммерческих шахматных продуктов, выпущенных ChessBase в 2019–2021 годах.

Несмотря на общее название, существовали две принципиально разные версии:

Продукт Программная основа Основное оборудование Год
Fat Fritz Экосистема Leela Chess Zero Видеокарта 2019
Fat Fritz 2 Модифицированный Stockfish и отдельная NNUE-сеть Центральный процессор 2021

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

Первый Fat Fritz

Первый Fat Fritz появился в составе шахматной программы Fritz 17. Он был связан с открытым проектом Leela Chess Zero и использовал совместимую с ним программную основу.

Шахматный движок Fat Fritz в программе Fritz 17

Главным самостоятельным компонентом Fat Fritz была нейронная сеть, подготовленная Альбертом Сильвером. ChessBase описывала её как сеть, обученную на большом наборе шахматных данных.

Для обучения использовались:

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

Цель состояла не в точном воспроизведении AlphaZero, а в создании собственной нейросетевой оценки, способной работать внутри экосистемы Lc0.

Как работал первый Fat Fritz?

Fat Fritz оценивал позицию большой нейронной сетью и направлял поиск к наиболее перспективным продолжениям.

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

В результатах анализа основное внимание уделялось не условной стоимости фигур, а вероятностям победы, ничьей и поражения. Однако это не означает, что движок «не учитывал материал»: материальные закономерности нейросеть усваивала в процессе обучения.

Требования к видеокарте

Первый Fat Fritz лучше всего работал на производительной видеокарте NVIDIA с поддержкой CUDA или cuDNN.

На CPU его тоже можно было запустить, но скорость нейросетевой оценки значительно снижалась. Поэтому практическая сила зависела от конкретной видеокарты и выбранной сети.

Старая таблица цен и производительности моделей RTX 20-й и GTX 10-й серий больше не имеет практической ценности: видеокарты, драйверы и вычислительные backends сильно изменились.

Fat Fritz и Leela Chess Zero

Первый Fat Fritz не был отдельным движком, полностью написанным с нуля. Его правильнее описывать как коммерческую комбинацию программной основы Lc0, собственной нейронной сети и оболочки ChessBase.

Главное отличие от обычной Lc0 заключалось прежде всего в сети и методике подготовки данных, а не в создании принципиально нового поискового алгоритма.

Почему появился Fat Fritz 2?

Главной проблемой первого Fat Fritz была зависимость от мощной видеокарты. Пользователю с обычным ноутбуком или офисным компьютером было трудно получить высокую скорость.

В 2020 году в Stockfish была внедрена технология NNUE. Она позволила использовать нейронную оценку на центральном процессоре без производительной видеокарты.

ChessBase применила тот же общий подход в Fat Fritz 2:

  • поиск выполнялся кодом, основанным на Stockfish;
  • позиции оценивались отдельной NNUE-сетью Fat Fritz 2;
  • основные вычисления выполнялись на CPU;
  • движок подключался к Fritz и ChessBase как UCI-программа.
Fat Fritz 2 сочетал поиск Stockfish и нейросетевую оценку NNUE

Что такое NNUE?

NNUE расшифровывается как Efficiently Updatable Neural Network — эффективно обновляемая нейронная сеть.

Технология возникла в сообществе компьютерных сёги. Одним из её ключевых разработчиков был Ю Насу, опубликовавший описание архитектуры для программ сёги.

Главная идея заключается в том, что при каждом ходе не нужно полностью пересчитывать всю сеть. Система обновляет только изменившуюся часть входных данных.

Благодаря этому NNUE:

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

В августе 2020 года NNUE была интегрирована в Stockfish. Позднее похожий подход использовали Dragon, Fat Fritz 2 и другие CPU-движки.

Как был устроен Fat Fritz 2?

Fat Fritz 2 состоял из двух основных компонентов:

  1. движка, основанного на исходном коде Stockfish;
  2. отдельной нейронной сети NNUE, подготовленной для продукта ChessBase.

ChessBase утверждала, что сеть обучалась примерно на четырёх миллиардах позиций, сформированных с участием первого Fat Fritz.

Также сообщалось, что в сети использовался слой на 512 нейронов вместо 256 в сети Stockfish 12. Сам по себе больший размер сети не гарантирует более сильной игры: результат зависит от обучающих данных, архитектуры, поиска и качества настройки.

Нужна ли была видеокарта?

Нет. Fat Fritz 2 был рассчитан на центральный процессор.

Это являлось главным практическим отличием от первой версии:

  • первый Fat Fritz лучше работал на GPU;
  • Fat Fritz 2 использовал CPU и NNUE;
  • производительная видеокарта не давала основного ускорения;
  • движок можно было запускать на обычном современном компьютере.

Fat Fritz 2 действительно был сильнее Stockfish?

При выпуске ChessBase опубликовала собственный тест, в котором Fat Fritz 2 получил преимущество около 42 пунктов Elo над Stockfish 12.

В тесте было сыграно 1552 партии с результатом:

  • 286 побед Fat Fritz 2;
  • 99 поражений;
  • 1167 ничьих.

Эти результаты относились к конкретным версиям, настройкам, контролю времени и оборудованию. Они не означали универсального преимущества Fat Fritz 2.

Разработчики Stockfish публично оспорили маркетинговые заявления ChessBase. В официальном заявлении они указали, что Fat Fritz 2 являлся производной Stockfish с небольшими изменениями кода и другой NNUE-сетью, а независимые рейтинги не подтвердили заявленное превосходство.

Поэтому корректная формулировка такова: Fat Fritz 2 предлагал альтернативную нейросетевую оценку внутри движка на базе Stockfish, но не стал общепризнанным новым лидером компьютерных шахмат.

Разбор эндшпильных примеров

В рекламных материалах Fat Fritz 2 приводились позиции, в которых сеть быстро находила сильные решения, пропущенные Stockfish 12 на небольшой глубине.

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

Первый тестовый эндшпиль

Тестовая эндшпильная позиция для Fat Fritz 2 и Stockfish 12

В опубликованном сравнении Stockfish 12 потребовалось около 37 секунд, чтобы найти ключевую идею.

Анализ эндшпиля движком Stockfish 12

Анализ Stockfish 12 в исходном тесте ChessBase

Fat Fritz 2, согласно тому же материалу, нашёл продолжение примерно за пять секунд.

Анализ эндшпиля движком Fat Fritz 2

Анализ Fat Fritz 2 в тесте ChessBase

Сравнение показывает, что разные сети могут по-разному распределять оценки и быстрее замечать отдельные идеи. Но современная версия Stockfish значительно отличается от Stockfish 12, поэтому этот тест нельзя переносить на Stockfish 18.

Петросян — Фишер, 1971 год

Эндшпиль из партии Петросян — Фишер 1971 года

Позиция из шестой партии матча претендентов Петросян — Фишер

Fat Fritz 2 предлагал выигрышную линию с ходом 52...Be7. В исходном материале также разбиралось продолжение 52...Bd6, которое Stockfish 12 первоначально оценивал как выигрышное.

Оценка позиции движком Stockfish 12

После более глубокого анализа Fat Fritz 2 находил защитный ресурс 56.Nb4!.

Защитный ресурс 56 Nb4 в анализе Fat Fritz 2

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

Спор разработчиков Stockfish и ChessBase

После выхода Fat Fritz 2 команда Stockfish выступила с публичным заявлением.

Разработчики Stockfish утверждали, что:

  • Fat Fritz 2 являлся производной Stockfish;
  • изменения программного кода были незначительными;
  • основным отличием была отдельная NNUE-сеть;
  • маркетинговые материалы преувеличивали оригинальность продукта;
  • распространение не полностью соответствовало требованиям GPLv3.

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

Судебное разбирательство

В 2021 году разработчики Stockfish Торд Ромстад и Стефан Николе подали иск против ChessBase в Германии.

Спор касался продуктов Fat Fritz 2 и Houdini 6, которые использовали код Stockfish.

Соглашение 2022 года

В ноябре 2022 года стороны заключили мировое соглашение.

В его тексте стороны согласились, что при распространении Fat Fritz 2 и Houdini 6 обязательства GPLv3 не были соблюдены.

ChessBase обязалась:

  • временно прекратить распространение программ с кодом Stockfish;
  • в дальнейшем полностью соблюдать GPLv3;
  • предоставлять исходный код и необходимые лицензионные сведения;
  • разместить уведомления на страницах соответствующих продуктов;
  • поддержать проекты свободного программного обеспечения.

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

Можно ли сейчас купить или скачать Fat Fritz?

Первый Fat Fritz входил в состав Fritz 17. Этот продукт больше не продаётся как актуальная версия ChessBase.

Fat Fritz 2 также не относится к текущей линейке продуктов и не предлагается как современный шахматный движок.

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

Следует учитывать:

  • неофициальные архивы могут содержать изменённые файлы;
  • Fat Fritz 2 основан на устаревшей версии Stockfish;
  • современный Stockfish существенно сильнее Stockfish 12;
  • Lc0 продолжает развиваться как бесплатный открытый проект;
  • покупка старого ключа на сторонней площадке не гарантирует доступ к официальному дистрибутиву.

Для современного анализа рациональнее использовать актуальные версии Stockfish или Leela Chess Zero.

Fat Fritz, Fat Fritz 2, Lc0 или Stockfish?

Программа Архитектура Оборудование Статус
Fat Fritz Основа Lc0 и отдельная большая сеть Преимущественно GPU Исторический коммерческий продукт
Fat Fritz 2 Производная Stockfish и отдельная NNUE-сеть CPU Больше не является актуальным продуктом
Leela Chess Zero Большая нейросеть и направляемый поиск Лучше всего GPU Бесплатно, активно развивается
Stockfish Альфа-бета-поиск и NNUE CPU Бесплатно, активно развивается

Первый Fat Fritz имеет смысл рассматривать как коммерческую ветвь ранней экосистемы Lc0. Fat Fritz 2 — как историческую альтернативную NNUE-сеть внутри производной Stockfish.

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

Частые вопросы

Fat Fritz и Fat Fritz 2 — один и тот же движок?

Нет. Первый Fat Fritz использовал основу Lc0 и рассчитывался преимущественно на GPU. Fat Fritz 2 был производной Stockfish с отдельной NNUE-сетью для CPU.

Нужна ли Fat Fritz 2 видеокарта?

Нет. NNUE рассчитана на эффективную работу на центральном процессоре.

Был ли Fat Fritz 2 сильнее Stockfish?

ChessBase публиковала внутренний тест с преимуществом над Stockfish 12. Независимые результаты не подтвердили устойчивого превосходства, а команда Stockfish оспорила маркетинговые заявления.

Можно ли было продавать производную Stockfish?

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

В чём состояло нарушение GPL?

По соглашению сторон, при распространении Fat Fritz 2 и Houdini 6 не были выполнены обязательства по предоставлению лицензионной информации и соответствующего исходного кода.

Fat Fritz 2 был полностью написан ChessBase?

Нет. Его программный движок был основан на Stockfish. Самостоятельным компонентом продукта являлась нейронная сеть и часть настроек.

Можно ли сегодня скачать Fat Fritz 2 бесплатно?

Свободное распространение коммерческого дистрибутива без разрешения правообладателя недопустимо. Для бесплатного современного анализа лучше скачать официальный Stockfish.

Почему первая версия требовала видеокарту, а вторая — нет?

Они использовали разные типы нейронных сетей. Первая версия работала с большой сетью семейства Lc0, а Fat Fritz 2 применял компактную эффективно обновляемую NNUE.

Итоги

Первый Fat Fritz появился в 2019 году как коммерческий нейросетевой продукт на программной основе Leela Chess Zero. Он лучше всего работал на производительной видеокарте.

Fat Fritz 2 вышел в 2021 году и представлял собой производную Stockfish с отдельной NNUE-сетью. Благодаря этому движок работал на центральном процессоре и не требовал мощного GPU.

Заявленное превосходство Fat Fritz 2 над Stockfish основывалось на тестах ChessBase и не стало общепринятым результатом независимых рейтингов.

В 2022 году ChessBase и представители Stockfish заключили мировое соглашение, признав, что при распространении Fat Fritz 2 и Houdini 6 обязательства GPLv3 не были соблюдены.

Сегодня обе версии Fat Fritz являются частью истории перехода шахматных движков к нейросетевой оценке. Для практического анализа актуальные Stockfish и Leela Chess Zero доступны бесплатно, продолжают развиваться и используют более современные алгоритмы.

Практический совет Если в старой базе сохранился анализ Fat Fritz или Fat Fritz 2, проверяйте ключевые выводы современными версиями Stockfish и Lc0: за прошедшие годы оба открытых проекта значительно усилились.

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

НЕТ ПРОГРЕССА В ШАХМАТАХ?

Вам поможет 21-дневный интенсив по шахматам. Гарантия!

Полезные статьи


© Copyright 2011- Шахматный клуб XChess.ru. Все права защищены!