Evaluando Leela Chess Zero

Software, versiones y novedades
alvaroi
Veterano
Veterano
Mensajes: 226
Registrado: 13 Ene 2013 22:52

Re: Evaluando Leela Chess Zero

Mensaje por alvaroi » 30 Jun 2018 21:38

Leela sigue su progresión con algún accidente que otro. Pusieron una red nueva para re-aprender desde tras el comportamiento raro una vez resuelto del problema de la regla de los 50 movimientos, en la red 418. Después de unas cuantas redes aprendiendo, tomé la 440 para comprobar con Deep Shredder 12 los progresos. El match quedó en empate, después de las mismas 30 partidas que la red 364. Ritmo igual que las pruebas anteriores, 15 minutos por partida, y misma suite de partidas. i7 990X 4 núcleos para Shredder y GPU GTX980 para Leela.

El progreso es evidente. En este momento la última red es la 455, con mejora, pero esperaré un poco más para hacer otro match.

Motor______________________________Puntuación_______________De________________________Lc_________________
1: Deep Shredder 12 UCI_____________15,0/30 ······························ =01=0011==100=1=====1=1000101=
1: Lczero GPU 10.0 id440-3055_______15,0/30 =10=1100==011=0=====0=0111010= ······························
usuario fics: alvaroi

Avatar de Usuario
Javier Ros
Avanzado
Avanzado
Mensajes: 588
Registrado: 20 Ene 2013 15:28
Ubicación: Sevilla

Re: Evaluando Leela Chess Zero

Mensaje por Javier Ros » 30 Jun 2018 21:59

Es increíble ver cómo lczero realmente va aprendiendo.
Yo he hecho un experimento con una red de hace un mes, que en respuesta a 1.e4 jugaba con negras la siciliana y ahora prefiere la francesa jugando al ritmo de 60 movimiento en 15 minutos. No sabemos cómo terminará la evolución en la preferencia de aperturas de lczero.

Avatar de Usuario
tibono
Senior
Senior
Mensajes: 87
Registrado: 20 Ago 2015 23:07

Re: Evaluando Leela Chess Zero

Mensaje por tibono » 01 Jul 2018 09:05

With regards both to lczero learning ability and to adding an unusual opponent for our chess computers, early networks are of great interest.
These are the ones I selected (and my rough estimation for strength, no GPU, just one CPU core):
6x64 nets:
#26 (1360)
#34 (1580)
#45 (1880)
#76 (2090)
#122 (2230)
10x128 net:
#162 (2550)
15x192 net:
#323 (2690)
The learning curve for early networks is quite impressive, and obvious while watching games, which is a great fun. The scale provides interesting opponents for various chess computers scaling in the range of 6x64 networks.
I think Leela is one of the most human-like aggressive player amongst chess programs. Early networks try to open lines and launch massive attacks, sometimes succeeding and often being hit back. No boring chess!
Under #26, the lack of training provides too much aimless moves. While getting more skilled with higher networks, Leela gets maturity - just as would a human being - including some more caution in her attacking style. And still blunders from time to time...
It is a long time since I had so much fun with a chess program. I am still testing the latest networks awaiting for a neat breakthrough in skills compared to the last one in my list (#323).
Cheers

Avatar de Usuario
juank
Avanzado
Avanzado
Mensajes: 639
Registrado: 13 Ene 2013 00:01

Re: Evaluando Leela Chess Zero

Mensaje por juank » 10 Jul 2018 14:48

su mejora es incesante,.... despacio pero sin pausa,..


ya ha empezado a poner al día la teoría de aperturas como la conocíamos hasta ahora, con mas de 300 años de historia !!

Ah encontrado una nueva línea con un sacrificio ganador en la jugada 7a. de la Nipzoindia,... ver vídeo:

https://youtu.be/0Hhhpu2_Ugk

Avatar de Usuario
Javier Ros
Avanzado
Avanzado
Mensajes: 588
Registrado: 20 Ene 2013 15:28
Ubicación: Sevilla

Re: Evaluando Leela Chess Zero

Mensaje por Javier Ros » 15 Jul 2018 13:39

juank escribió:su mejora es incesante,.... despacio pero sin pausa,..


ya ha empezado a poner al día la teoría de aperturas como la conocíamos hasta ahora, con mas de 300 años de historia !!

Ah encontrado una nueva línea con un sacrificio ganador en la jugada 7a. de la Nipzoindia,... ver vídeo:

https://youtu.be/0Hhhpu2_Ugk
Gracias por el enlace.
Espectacular partida, el juego de lczero es completamente diferente al de los programas normales.

Al ver el vídeo he encontrado enlaces a otras partidas interesantes

https://youtu.be/xFLXxIMQBuM

https://youtu.be/2m5oXlZ_e_A

alvaroi
Veterano
Veterano
Mensajes: 226
Registrado: 13 Ene 2013 22:52

Re: Evaluando Leela Chess Zero

Mensaje por alvaroi » 15 Jul 2018 23:17

Os dejo otro match de control contra Deep Shredder 12. De momento los avances no aportan mejora aquí, pero mantiene el rendimiento.

Como los otros matches, la misma configuración, suite de partidas, 15'/partida, etc.

Motor__________________________Puntuación_______________De_____________________________Lc
1: Deep Shredder 12 UCI___________15,5/30 ······························ =0====1011=00=1=11====10001===
2: Lczero GPU 10.0 id483-3135_____14,5/30 =1====0100=11=0=00====01110=== ······························
usuario fics: alvaroi

alvaroi
Veterano
Veterano
Mensajes: 226
Registrado: 13 Ene 2013 22:52

Re: Evaluando Leela Chess Zero

Mensaje por alvaroi » 22 Jul 2018 12:36

Nuevo match de control de la id505 con Deep Shredder 12 y vemos un retroceso en los resultados. En las pruebas del equipo de Leela, ya vence a la id390, sin embargo, ese proceso de aprendizaje contra sí misma, quizá sobre optimiza el juego en niveles ya muy altos, en los que estamos ahora. Habrá que seguir esperando.

Motor_________________________Puntuación______________De____________________________Lc
1: Deep Shredder 12 UCI_________17,5/30 ······························ 111==01011===011==001=0110==1=
2: Lczero GPU 10.0 id505-3148___12,5/30 000==10100===100==110=1001==0= ······························
usuario fics: alvaroi

Avatar de Usuario
Javier Ros
Avanzado
Avanzado
Mensajes: 588
Registrado: 20 Ene 2013 15:28
Ubicación: Sevilla

Re: Evaluando Leela Chess Zero

Mensaje por Javier Ros » 02 Ago 2018 15:32

seconds-per-move.png
seconds-per-move.png (17.13 KiB) Visto 304 veces
alvaroi escribió:Nuevo match de control de la id505 con Deep Shredder 12 y vemos un retroceso en los resultados. En las pruebas del equipo de Leela, ya vence a la id390, sin embargo, ese proceso de aprendizaje contra sí misma, quizá sobre optimiza el juego en niveles ya muy altos, en los que estamos ahora. Habrá que seguir esperando.

Motor_________________________Puntuación______________De____________________________Lc
1: Deep Shredder 12 UCI_________17,5/30 ······························ 111==01011===011==001=0110==1=
2: Lczero GPU 10.0 id505-3148___12,5/30 000==10100===100==110=1001==0= ······························
Hola Alvaro,

¿Los matches que están realizando tienen posiciones de apertura fijas o algún libro en particular? ¿Qué profundidad media tiene el libro?

Resulta que me he comprado una tarjeta gráfica Asus GTX1060 para jugar con LeelaChessZero y estoy empezando a hacer unos experimentos. Me he descargado Stockfish 5,6, 7, 8 y 9 para las pruebas y cuando he consultado la fecha de cada versión en
https://en.wikipedia.org/wiki/Stockfish_(chess)

me he encontrado la siguiente sorpresa:

Stockfish versus AlphaZero
In December 2017, Stockfish 8 was used as a benchmark to evaluate Google division Deepmind's AlphaZero, with each engine supported by different hardware. AlphaZero was trained through self-play for a total of nine hours, and reached Stockfish's level after just four.[30][31] Stockfish was allocated 64 threads and a hash size of 1 GB; AlphaZero was supported with four application-specific TPUs. Each program was given one minute's worth of thinking time per move.

In 100 games from the normal starting position AlphaZero won 25 games as White, won 3 as Black, and drew the remaining 72, with 0 losses.[32] AlphaZero also played twelve 100-game matches against Stockfish starting from twelve popular openings for a final score of 290 wins, 886 draws and 24 losses, for a point score of 733:467.[33][note 1] The research has not been peer reviewed and Google declined to comment until it is published.[32]

Resulta que se jugaron doce matches de 100 partidas con doce aperturas populares y aquí AlphaZero perdió 24 partidas. De esta segunda prueba no se ha publicado nada.
¿No estarán escondiendo una posible debilidad táctica de AlphaZero que en lczero es patente?

El gráfico adjunto proporcionado por los autores de AlphaZero, muestra como se aplana la curva de aprendizaje de AlphaZero respecto del nivel ELO de Stockfish y queda por encima peor por muy poco.

Me queda la duda de si el aprendizaje de lczero es peor que el de AlphaZero.

Debido a la debilidad táctica de lczero (en una de mis pruebas con la versión 533 le han dado un mate en dos con la partida completamente ganada), parece evidente que la elección de la apertura es clave para que el juego sea cerrado evitando complicaciones tácticas y mejorando su probabilidad de éxito.

Por otro lado es interesante ver el gráfico de ELO, resulta que solamente para tiempos por encima de un segundo por movimiento AlphaZero se muestra superior a Stockfish.
Este segundo de tiempo en el superhardware de Google ¿Cómo se traduce en una tarjeta gráfica normalita como la mía? Es probable que haya que multiplicar por 100 ó por 1000 la velocidad.
Por lo que veo la mayoría de las pruebas se hacen a ritmo muy inferior al usado por AlphaZero de 1 minuto por movimiento y además con una diferencia abismal de hardware.

Para empezar a ver si estas hipótesis pueden tener algo de cierto, voy a enfrentar a lczero533 con varios programas partiendo de la posición inicial, una partida con blancas y otra con negras, a ritmo de 60 mov en 5 minutos y repetición, 60 mov en 30 minutos, 60 mov en 60 minutos y 40 mov en dos horas.
Espero que el ordenador o la tarjeta gráfica no se me derritan antes.

En las primeras partidas que estoy haciendo es increíble ver como lczero juega posicionalmente mejor que los programas tradicionales y va consiguiendo ventaja que suele perder por la táctica.
Adjuntos
steps.png
steps.png (18.74 KiB) Visto 304 veces

Avatar de Usuario
Javier Ros
Avanzado
Avanzado
Mensajes: 588
Registrado: 20 Ene 2013 15:28
Ubicación: Sevilla

Re: Evaluando Leela Chess Zero

Mensaje por Javier Ros » 02 Ago 2018 17:29

Una puntualización al mensaje anterior, las 1200 partidas=100 x 12 aperturas escogidas, sí que estaban en el artículo original pero yo no lo había leido con detalle. :cry:
Pensaba que los diagramas y porcentajes correspondían al aprendizaje de AlphaZero y no al enfrentamiento con Stockfish. :banghead:

Lo que sí es cierto es que no se ha publicado ninguna de estas partidas.

Avatar de Usuario
Javier Ros
Avanzado
Avanzado
Mensajes: 588
Registrado: 20 Ene 2013 15:28
Ubicación: Sevilla

Re: Evaluando Leela Chess Zero

Mensaje por Javier Ros » 02 Ago 2018 18:48

Bueno y aquí van los primeros resultados jugados por Leela Chess Zero id 533 contra varios programas tradicionales a ritmo de 60 movimientos en 5 minutos a partir de la posición inicial.
El hardware es un i7 4790S con 4 núcleos y 8 hilos, hyperthreading activado y tarjeta gráfica ASUS GTX-1060 3 Gb.
Antes de instalar lczero en Arena 3 que es donde se ha jugado el torneo, ejecuté en la línea de comandos (con cmd.exe en el directorio de lczero)

lczero.exe -w weights.txt --full-tuner

esto tarda 20 ó 30 minutos en probar todas las configuraciones posibles de la GPU hasta lograr un calibrado que vaya lo más rápido posible y termina generando un archivo de configuración de tipo texto de nombre

leelaz_opencl_tuning

en mi caso contiene

0;XgemmBatched;192;16;192;16; -DKWG=32 -DKWI=2 -DMDIMA=8 -DMDIMC=8 -DMWG=32 -DNDIMB=16 -DNDIMC=8 -DNWG=16 -DSA=1 -DSB=1 -DSTRM=1 -DSTRN=0 -DVWM=4 -DVWN=1;OpenCL: NVIDIA Corporation GeForce GTX 1060 3GB @ 1708MHz


Los programas tradicionales han contado con un solo hilo de ejecución mientras que lczero ha contado con la GPU y todos los hilos que pudiera utilizar, aunque realmente esto mejora muy poco y de una forma bastante dependiente del hardware. Esta "ventaja" es para hacer más igualado el duelo.

Realmente esta configuración la usé inicialmente en un portátil ya que si le ponía los 8 hilos de ejecución el i7 se freía literalmente.

Los resultados de la ronda a 60mov/5min han sido:

lczero533-Shredder13 1/2-1/2
lczero533-Stockfish5 1-0
lczero533-Stockfish6 0-1
lczero533-Stockfish7 0-1
lczero533-Stockfish8 0-1
lczero533-Stockfish9 0-1
lczero533-Komodo10 1-0
lczero533-Komodo11 0-1

La partida con Stockfish 8 hubo que repetirla porque Stockfish quedó pillado y perdió por tiempo
En todas las partidas lczero jugó la Apertura Inglesa 1.c4 y consiguió ventaja en muchas partidas que terminaron en derrota tras un error táctico.

En las partidas con negras lczero jugó siempre la Defensa Francesa y perdió todas las partidas

Por tanto el resultado global es lczero id 533 2.5 puntos frente a 13.5.

La siguiente prueba será a 60mov/30min y según mis teorías del mensaje anterior supongo que lczero mejorará de forma notable.

Responder