AlphaZero. Нейронная сеть играет в шахматы

Discussion in 'Машинное отделение' started by grizly, 6 Dec 2017.

  1. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Обычно это припарки мёртвому, хотя можете попробовать почистить Wise Registry cleaner (сначала удалите VC++ потом чистка потом установка VC++) программа бесплатна,но не выбирайте глубокое сканирование,опасно, чистит лучше CCleaner, убедился сам, но на неё почему-то ругаются некоторые антивирусы.
     
  2. svoitsl
    Оффлайн

    svoitsl Учаcтник

    Репутация:
    7
    Ну не скажите, мне помогло, сперва у меня Лила не пошла, VC стоял уже давно, на него накатил тот что по ссылке и все заработало (это не правильно, - правильно, как написано в посте выше)
     
  3. Пломбир
    Оффлайн

    Пломбир Новичок

    Репутация:
    0
    Возможно ли запустить Лилу в Аквариуме? Там же вроде нет командной строки для движков?
     
  4. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Турнир мастеров Баден-Баден рейтинг 2200-2600 сеть 129 на GPU Geforce 1080
     

    Attached Files:

    Rom likes this.
  5. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Rom, у меня загрузка GPU 79%-81% может имеет смысл поднять -t с 2 до 3?
     
  6. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Можно попробовать. Смотрите по скорости перебора.
     
  7. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    То есть это не однозначно?
     
  8. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Нет, сочетание тредов процессора и скорости видеокарты в каждом конкретном случае индивидуально. Когда cpu оценивает позиции самостоятельно, то его скорость растет почти линейно с увеличением числа ядер. Но когда cpu отсылает позиции для расчета видеокарте, то многое зависит от сочетания скорости видеокарты и размера нейросети, а от числа тредов зависит уже в меньшей степени. Можете посмотреть тесты для Го, чтобы сориентироваться:
    https://github.com/gcp/leela-zero/issues/1161
     
  9. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Для увеличения скорости видеокарты есть ещё такая фишка как полный тюнинг. Запускается по параметру --full-tuner , один раз для каждой размерности сети. Подбирает параметры специально для вашей видеокарты. Но всегда ли он даёт прибавку, мне не известно. Параметры сохраняются в файле leelaz_opencl_tuning, так что в случае чего всегда можно обнулить.
     
  10. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Можно поподробнее?
    Движок как я понимаю запускается без GUI?
     
  11. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Просто пропишите --full-tuner в параметрах командной строки. Дождитесь окончания теста, а потом не забудьте удалить запись.

    Да, запускать из консоли. Примерный порядок прописан здесь (начиная с сообщения #42). --full-tuner нужно прописать в командной строке в файле .bat
     
    Last edited: 15 Apr 2018
  12. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Какую запись?
    Ключ -w нужен?
     
  13. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    1. Создайте в папке с Лилой любой файл с расширением .bat
    2. Нажмите по нему правой клавишей мыши и выберите "Изменить"
    3. Пропишите в нем например следующие команды и сохраните (название файла нейросети нужно соответственно изменить) :
    4. Запустите файл .bat
    5. После окончания теста можно проверить скорость (nps) набрав команду go.
     
  14. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Новая версия LCZero (v0.6):

    https://github.com/glinscott/leela-chess/releases

    v0.6 - это в основном исправление ошибок. Также:
    • lczero может считывать сжатые файлы сети
    • Изменена функция оценки позиции в cp (сантипешках)
    • Обновлена версия libopenblas.dll, которая работает быстрее при использовании большого количества потоков
    • Работа Арсения Красуцкого (использование Tensorflow для GPU)
     
  15. Пломбир
    Оффлайн

    Пломбир Новичок

    Репутация:
    0
    Не работает на GPU хоть тресни!

    Using 1 thread(s).
    Detecting residual layers...v2...128 channels...10 blocks.
    Initializing OpenCL.
    Detected 1 OpenCL platforms.
    Platform version: OpenCL 1.1 CUDA 6.5.51
    Platform profile: FULL_PROFILE
    Platform name: NVIDIA CUDA
    Platform vendor: NVIDIA Corporation
    Device ID: 0
    Device name: GeForce 8800 GTS 512
    Device type: GPU
    Device vendor: NVIDIA Corporation
    Device driver: 342.01
    Device speed: 1700 MHz
    Device cores: 16 CU
    Device score: 1111
    Selected platform: NVIDIA CUDA
    Selected device: GeForce 8800 GTS 512
    with OpenCL 1.1 capability.
    Loaded existing SGEMM tuning.
    Wavefront/Warp size: 32
    Max workgroup size: 512
    Max workgroup dimensions: 512 512 64
    BLAS Core: Core2
    >>uci
    id name lczero v0.6
    id author The LCZero Authors

    >>go

    - и просто вылетает. В лог файле только это. Можно позицию любую выставлять, делать ходы, но анализ не идет - вылет.
     
  16. sovaz1997
    Оффлайн

    sovaz1997 Учаcтник

    Репутация:
    3
    Пломбир, попробуйте запустить без bat-файла, просто lczero.exe
     
  17. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    @Пломбир Слишком старая видеокарта. Не поддерживает OpenCL 1.2. Если не поможет обновление драйверов, значит не судьба.
     
    Last edited: 15 Apr 2018
  18. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    У меня пишет(в переводе): "взвешенный файл неправильной версии",хотя турнир делал именно на нём, LcZero v0.6
     
  19. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Sergey1983, это ко мне вопрос? Попробуйте 0.5
     
  20. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Разобрался мой косяк, спасибо.
     
  21. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    По чему-то во время тестов загрузка GPU держится на 0%, при команде go ~34%.
    При 16 depth nps 420-422 при -t 2-4
     
    Last edited: 15 Apr 2018
  22. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Но видеокарта работает? По скорости ведь сразу видно. Увеличьте -p , может маловато позиций для неё.
    —- добавлено: 15 Apr 2018 —-
    Надеюсь вы дождались окончания теста. Он продолжается около 20 минут.
     
  23. svoitsl
    Оффлайн

    svoitsl Учаcтник

    Репутация:
    7
    такое впечатление, что цены на видеокарты не скоро опустятся, к майнигу добавится честинг :)
     
  24. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    При -p 4000 появилась depth 19 nps 2781 -t 4 GPU Load 0%-1%., go ~74%
     
  25. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    А на -t 7 ?
     
  26. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    А откуда вы взяли -t 7 и чем оно хорошо?
    P.S. Закончится тест посмотрю.
     
  27. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Ну если процессор поддерживает семь потоков, то почему не попробовать? :)
     
  28. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    Я подозревал что это шутка.
    Эта команда она используется для оптимизации или для тестирования производительности?
     
  29. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Если вы прогнали --full-tuner, то оптимизация уже выполнена. Но она только подбирает оптимальные параметры для видеокарты. Теперь надо определить, при каком количестве потоков даёт максимальную скорость центральный процессор. Для этого нужно попробовать разные -t. И смотреть на скорость nps. Но особой разницы нет, конечно, поскольку основные расчеты выполняются на видеокарте.
     
  30. svoitsl
    Оффлайн

    svoitsl Учаcтник

    Репутация:
    7
    Интересно, а если где либо какая нибудь табличка зависимости nps от типа видеокарты?
    Наверное не сложно оправлять некоторую статистику (оборудование и режимы работы) на сервер и потом анализировать её.
    А может уже это давно и делается
     
  31. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    А оптимизация проводится под конкретную сеть или конкретную размерность, то есть нужно ли её перезапускать если я скину свежую сеть?
    Nps это позиции в секунду?
     
  32. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    Оптимизация проводится только под конкретную размерность. Под свежую сеть перезапускать не нужно. Даже более того, оптимизация проводится только когда увеличивается размерность нейросети по фильтрам. То есть сейчас фильтров 128, а когда увеличат, скажем, до 256, только тогда её нужно будет провести заново.

    Nps - это node per second, то есть позиции в секунду (узлы дерева перебора в секунду).
     
  33. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1
    у меня получилось так:

    -p 10 000
    -t 2 Depth 20 Nps 2397 Gpu 81%
    -t 3 Depth 20 Nps 2933 Gpu 86%
    -t 4 Depth 20 Nps 2898 Gpu 80%
    -p 100 000
    -t 2 Depth 25 Nps 3410 Gpu 79%-80%
    -t 3 Depth 25 Nps 4172 Gpu 81%-84%


    Я наверное остановлюсь на -t 3
    P.S. А вы писали 1000-2000.
    P.P.S. Да для интересующихся видеокарта Geforce GTX 1080(не Ti)
     
    Last edited: 15 Apr 2018
  34. Rom
    Оффлайн

    Rom Старожил

    Репутация:
    28
    С увеличением глубины перебора, скорость увеличивается. Я больше ориентируюсь на -p 800 (позиций/playouts на ход), что используется для наигрывания тренировочных партий на сервере.
     
  35. Sergey1983
    Оффлайн

    Sergey1983 Учаcтник

    Репутация:
    1