Evaluando Leela Chess Zero

Software, versiones y novedades
Avatar de Usuario
juank
Avanzado
Avanzado
Mensajes: 639
Registrado: 13 Ene 2013 00:01

Re: Evaluando Leela Chess Zero

Mensaje por juank » 12 Ago 2018 16:18

lczero se deja medio punto en una partida del TCEC13, en un final que terminó en tablas,..






Material diffWhite pawnWhite rook00:05:43 ClockR7/2kbb3/8/p5p1/P5P1/3K4/5P2/8 b - - 32 60

this is the wining move after 60. Ra8 ???:
60. Ra8 ????

black win: 60. ... Bc8 and the Rook is captured whit: 61. Ra7+ Bb7 and 62. .... Kb6 0-1

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 » 23 Ago 2018 17:07

juank escribió:
12 Ago 2018 16:18
lczero se deja medio punto en una partida del TCEC13, en un final que terminó en tablas,..

Material diffWhite pawnWhite rook00:05:43 ClockR7/2kbb3/8/p5p1/P5P1/3K4/5P2/8 b - - 32 60

this is the wining move after 60. Ra8 ???:
60. Ra8 ????

black win: 60. ... Bc8 and the Rook is captured whit: 61. Ra7+ Bb7 and 62. .... Kb6 0-1
Desgraciadamente, aunque lc0 está aprendiendo, todavía tiene errores tácticos casi elementales que le llevan a perder puntos.
Parece que van apareciendo cada vez menos, eso sí.

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 » 23 Ago 2018 17:12

Y aquí va mi última prueba con la versión 570 y las mismas condiciones anteriores (Hyperthreading Off y 2CPU=50% de la CPU total para cada engine) salvo el ritmo de juego.
Esta vez se ha jugado a 60 movimientos en 60 minutos con los siguientes resultados:

Engine Score Lc
1: Lc0CUDA587 6,5/16 ··
2: Stockfish-6-bmi2 2,0/2 11
3: Komodo-11.01-64bit 1,5/2 =1
4: EngineDeepShredder13UCIx64 1,0/2 ==
4: Stockfish 7 x64 bmi2 1,0/2 ==
4: Stockfish_8_x64_bmi2 1,0/2 ==
4: Stockfish_9_x64_bmi2 1,0/2 ==
4: Komodo-10.3-64bit 1,0/2 ==
4: Stockfish5_x64_modern 1,0/2 ==

El global fue de 6.5/16=40.63% igual que a ritmo de 60/30.


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 » 24 Ago 2018 15:50

Las siguientes pruebas han sido realizadas con la versión server de lc0 y la red 10989 y como se verá el avance ha sido importante.

Tras leer alguna información sobre hyperthreading, en lo que sigue será abreviado como HT, en el foro Talkchess:

http://talkchess.com/forum3/viewforum.php?f=12

y en otros sitios

http://support.stockfishchess.org/discu ... rthreading

https://www.chess.com/forum/view/chess- ... s-analysis

https://sites.google.com/site/computers ... benchmarks

donde recomiendan activarlo para los programas de ajedrez, he decidido volver a activarlo en mi ordenador.
Para el que no lo sepa el HT es una técnica de Intel que consiste en asignar dos hilos de ejecución (thread) por cada núcleo físico del procesador (core) y en organizar y repartir las tareas de una forma más optimizada. Hay mucho debate en los foros de juegos sobre si es mejor activar el HT ó desactivarlo. Lo que se hace desde la BIOS del ordenador.

He repetido las partidas con los mismos rivales a ritmo 60 mov/15 min y el HT activado. Como el procesador i7 4790S tiene 4 núcleos y 8 hilos, para respetar el 50% de uso de CPU de las pruebas anteriores, he asignado 4 hilos para todos los programas, incluido lc0 (aunque éste último en mi ordenador solamente utiliza un hilo).

El resultado ha sido por primera vez favorable a lc0 con un abultado porcentaje de 11/16=68.75%

Engine Score Lc
1: Lc0server10989 11,0/16 ··
2: Stockfish 7 x64 bmi2 1,0/2 01
2: Stockfish_9_x64_bmi2 1,0/2 ==
4: Stockfish-6-bmi2 0,5/2 0=
4: EngineDeepShredder13UCIx64 0,5/2 =0
4: Stockfish_8_x64_bmi2 0,5/2 0=
4: Stockfish5_x64_modern 0,5/2 0=
4: Komodo-10.3-64bit 0,5/2 0=
4: Komodo-11.01-64bit 0,5/2 0=

Esta vez con blancas lc0 ha jugado 1.e4 y salvo Shredder13 que jugó la Defensa Siciliana e hizo tablas, el resto jugó la Defensa Francesa con resultados catastróficos. Es difícil saber si las aperturas han sido determinantes y hasta que haga más pruebas con posiciones iniciales fijas no se verá más claro, pero parece que las posiciones cerradas resultantes son manejadas por lc0 mucho mejor que por los programas con búsqueda alfa-beta.

Con negras lc0 ha jugado la Defensa Siciliana mejorando los resultados de la Defensa Francesa de anteriores pruebas.

Aquí van las partidas





Pero lo más importante para mí ha sido la aparición de algunas posiciones que me han recordado mucho el juego de AlphaZero, del tipo piezas encerradas, bloqueo y zugzwang:







La siguiente partida pertenece a la siguiente prueba que estoy jugando ahora (al mismo ritmo pero con 6 hilos de ejecución para los programas clásicos, equivalente al 75% CPU) y tras 21...Ag4, lc0 sacrificó la dama por dos alfiles obteniendo una posición superior difícil de evaluar por un programa clásico:




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 » 24 Ago 2018 16:09

Y ahora unos datos de Stefan Pohl, para más detalles ver

https://www.sp-cc.de/long-thinkingtime.htm

que corroboran el enorme avance (más de 150 ELO) de la versión server 10xxx respecto a las anteriores yyy:

LC0 Cuda v0.16.0 N10555 (size: 20x256)(date:180809): 320 (+ 91,=175,- 54)
55.8 % (opponent-Elo: 3208) Elo-performance: 3248

LC0 Cuda v0.16.0 N 529 (size: 15x192)(date: 180731): 300 (+ 60,=133,-107)
42.2 % (opponent-Elo: 3135) Elo-performance: 3080

LC0 Cuda v0.16.0 N 512 (size: 15x192)(date: 180722): 300 (+122,=129,- 49)
62.2 % (opponent-Elo: 3000) Elo-performance: 3087

LC0 Cuda(180711) N 492 (size: 15x192)(date: 180714): 300 (+100,=137,- 63)
56.2 % (opponent-Elo: 3000) Elo-performance: 3043

LC0 Cuda(180619) N 473 (size: 15x192)(date: 180707): 300 (+101,=128,- 71)
55.0 % (opponent-Elo: 3000) Elo-performance: 3035

LC0 Cuda(180619) N 452 (size: 15x192)(date: 180629): 320 (+101,=136,- 83)
52.8 % (opponent-Elo: 3000) Elo-performance: 3019

LC0 Cuda(180619) N 432 (size: 15x192)(date: 180622): 300 (+ 85,=138,- 77)
51.3 % (opponent-Elo: 3000) Elo-performance: 3009

LC0 Cuda(180602) N 374 (size: 15x192)(date: 180604): 300 (+ 86,=114,-100)
47.7 % (opponent-Elo: 3000) Elo-performance: 2984

LC0 Cuda(180530) N 359 (size: 15x192)(date: 180530): 300 (+ 79,=113,-108)
45.2 % (opponent-Elo: 3000) Elo-performance: 2967

LC0 Cuda(180521) N 322 (size: 15x192)(date: 180520): 300 (+ 68,=116,-116)
42.0 % (opponent-Elo: 3000) Elo-performance: 2944

lczero v0.8 (GPU) N 251 (size: 15x192)(date: 180505): 320 (+164,= 73,- 83)
62.7 % (opponent-Elo: 2524) Elo-performance: 2614

lczero v0.7 (GPU) N 214 (size: 10x128)(date: 180429): 300 (+157,= 85,- 58)
66.5 % (opponent-Elo: 2524) Elo-performance: 2643

lczero v0.7 (GPU) N 162 (size: 10x128)(date: 180421): 300 (+113,= 66,-121)
48.7 % (opponent-Elo: 2524) Elo-performance: 2515

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 Sep 2018 13:52

El tema de Leela Chess Zero avanza con una rapidez vertiginosa. Se cambia de versión de red cada pocos minutos, se pasó de las versiones nnn a las xxyyy y ahora se ha reseteado la red y lc0 empieza el aprendizaje desde 0.
La penúltima versión anterior al aprendizaje es la 11261 y se supone es la que más ha aprendido pero no la de mejor ELO, aunque no hay que olvidar que esto está calculado jugando contra sí misma.

En medio de todo este trajín, se ha planteado en algunos foros la pregunta del siglo ¿Ha alcanzado lc0 el nivel de AlphaZero de Google? La respuesta de algunos es que no, pero para contestar bien hay que pensar un poco.
En primer lugar el match AlphaZero-Stockfish se produjo a 1 minuto por movimiento con un hardware que jugaba a 80.000 nodos por segundo por parte de A0 y de 70 millones por segundo para Stockfish 8 esto da un ratio de nodos de Stockfish/nodos de A0 de 70.000.000/80.000=875. Consecuentemente los que están haciendo pruebas cada vez más frecuentemente proporcionan el Leela Ratio del hardware empleado en el enfrentamiento. Todo está bien explicado en el siguiente enlace

https://lczero.libertymedia.io//2018/07/04/leela-ratio/

Básicamente consiste en calcular la relación de nodos entre lc0 y Stockfish comparando con el 875 de A0. Para ello se pone la posición inicial y se ponen los módulos a calcular hasta llegar al nivel de profundidad 26.

LeR = 875 * leela nps/sf9 nps

Si el ratio LeR sale 1 quiere decir que estamos en la misma proporción de nodos por segundo que en el enfrentamiento de AlphaZero con Stockfish. Si el LeR es mayor que 1 la proporción es ventajosa para lc0 y si es menor que 1 es ventajosa para Stockfish.

En mi ordenador de sobremesa con un i7 4790S con 4 núcleos y 8 hilos, hyperthreading activado y tarjeta gráfica ASUS GTX-1060 3 Gb, con Stockfish 8 usando 6 hilos de ejecución del total de 8, calcula 6.640.000 nodos por segundo mientras lc0 calcula 2495 esto produce un LeR de

LeR2495*875/6640000=0.33

lo que quiere decir que es un tercio inferior a la proporción del match de A0.

En la prueba que presento a continuación he empleado hyperthreading activado y todos los módulos usando 6 hilos de ejecución del total de 8 y unas hash tables de 1 Gb. El aumento de núcleos de 4 a 6 respecto de la prueba anterior dejando la misma versión de lc0 la 10989 y el mismo ritmo de 60 movimientos en 15 minutos es para ver si los programas recuperan terreno con el aumento de velocidad.

En la prueba anterior con 4 de 8 el LeR fue de aprox 0.5 y el resultado fue 11/16=68.75% para lc0.
El resultado de la prueba actual ha sido de 7,5/16=46.88% comprobando que efectivamente la velocidad es clave.

A la vista de estos resultados y los anteriores parece que lc0 está alcanzando el nivel de AlphaZero pero como no tenemos el hardware de Google :#26: no podemos asegurarlo, ya que aunque la proporción sea la misma no sabemos como va a escalar esta versión de lc0 (es decir no sabemos si va a mejorar el nivel de juego al mismo ritmo que lo hacía el software de A0).

Engine Score
Lc0server10989 7,5/16 ··
EngineDeepShredder13UCIx64 1/2 ==
Stockfish5_x64_modern 1/2 ==
Stockfish-6-bmi2 0,5/2 0=
Stockfish 7 x64 bmi2 1,0/2 ==
Stockfish_8_x64_bmi2 1,5/2 1=
Stockfish_9_x64_bmi2 1/2 ==
Komodo-10.3-64bit 1,5/2 1=
Komodo-11.01-64bit 1/2 01

A pesar del marcador favorable a los programas clásicos, hay que decir que en varias partidas lc0 tuvo gran ventaja y finalmente perdió. Por ejemplo, en la partida lc0-Stockfish 8, lc0 se evaluó en +4.24 tras 94. Da7 mientras Stockfish 8 se evaluaba -0.66 para imponerse finalmente en la jugada 146.

En la partida lc0-Komodo 10, lc0 se evaluó en +7.46 tras 110.Tb2 mientras k10 en +0.13 para finalmente imponerse k10 en 123 jugadas.
Esto también nos aconseja poner la adjudicación automática de Arena en -9.00 peones, yo la tenía en -6.00, aunque creo que no ha habido ninguna adjudicación errónea.


redxlus
novato
novato
Mensajes: 1
Registrado: 21 Jul 2018 12:47

Re: Evaluando Leela Chess Zero

Mensaje por redxlus » 02 Sep 2018 18:27

Es un gran material, mas sobre todo las mejoras.

Saludos

andres
Avanzado
Avanzado
Mensajes: 411
Registrado: 09 Jul 2016 00:11
Ubicación: Cordoba ( España )

Re: Evaluando Leela Chess Zero

Mensaje por andres » 02 Sep 2018 19:44

Hola Javier.
Acabo de ver la partida,y he visto que se llega a un final de Rey,+dos peones blancos, contra Rey + torre negra. Cuando la he visto de nuevo, es otra partida distinta, con final de Reyes,peones y caballos.Queria comprobar porque el Rey no se ponia en la casilla delante del peon atrasado,y paralelo con el de alante. Saludos Andres.

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 » 03 Sep 2018 01:00

andres escribió:
02 Sep 2018 19:44
Hola Javier.
Acabo de ver la partida,y he visto que se llega a un final de Rey,+dos peones blancos, contra Rey + torre negra. Cuando la he visto de nuevo, es otra partida distinta, con final de Reyes,peones y caballos.Queria comprobar porque el Rey no se ponia en la casilla delante del peon atrasado,y paralelo con el de alante. Saludos Andres.
Hola Andrés,
creo que la partida a la que te refieres es la primera de la prueba lc0-Shredder 13 y quizás están seleccionando otra distinta sin darte cuenta. Pulsa sobre los puntos que aparecen encima del tablero y aparece un despegable para seleccionar la partida que quieras, en este caso la primera.

Saludos
Javier

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 » 04 Sep 2018 10:23

Como comenté en un mensaje anterior, la red de Leela Chess Zero ha sido reseteada, lo que quiere decir que empieza a aprender de nuevo partiendo de cero. Los autores han pensado que la versión anterior tenía algunos bugs y que tenía dificultades para seguir aprendiendo.
Esto implica que la versión más fuerte actualmente es la 11261 con un Elo aproximado de 4700, en un sistema de medida propio, mientras que la versión que está aprendiendo, está acercándose a 3500 y se espera que alcance y supere a la 11261 en unas semanas.

He repetido las partidas contra los rivales clásicos contra la versión lc0 0.17 con la red 11261 manteniendo todos los demás parámetros iguales 60 movimientos en 15 minutos, 6 hilos de ejecución para todos los programas y 1024 Mb de hash tables.

El resultado ha sido de 9,5/16=59.38% demostrando una superioridad importante, sin perder ni una sola partida, con tres victorias y 13 tablas. Aparentemente los fallos tácticos han desaparecido aunque es una muestra pequeña para asegurar que no se vayan a repetir.

Engine Score Lc
1: Lc01711261 9,5/16 ··
2: Stockfish-6-bmi2 1,0/2 ==
2: Stockfish 7 x64 bmi2 1,0/2 ==
2: Stockfish_8_x64_bmi2 1,0/2 ==
2: Stockfish_9_x64_bmi2 1,0/2 ==
2: Komodo-11.01-64bit 1,0/2 ==
7: Stockfish5_x64_modern 0,5/2 0=
7: Komodo-10.3-64bit 0,5/2 =0
7: EngineDeepShredder13UCIx64 0,5/2 =0

En la partida lc0-Stockfish 5, no os perdáis el ballet de la torre blanca en la sexta fila: 37.Td6 38.Txe6 39.Tf6 40.Tg6 41.Th6 con espectacular victoria.

En la partida Komodo 10-lc0, las negras exhiben un juego de peones extraordinario característico de lc0 que quizás algún día revolucione la manera de jugar los humanos. Recuerdo como los primeros micros dedicados y los primeros programas tenían tendencia a mover los peones de forma inapropiada debilitando la estructura y que un síntoma de mejora de las máquinas era que los movieran solamente en el momento adecuado. Esto costó a los programadores mucho esfuerzo para programar esta experiencia y conocimiento humanos mientras que ahora son los programas los que nos abren los ojos a nuevas posibilidades en el uso de los peones, sencillamente increíble.

Sobre este tema, recomiendo leer los mensajes de

https://groups.google.com/forum/#!searc ... Aud14_AAAJ

en particular la opinión de Tryfon Gavriel:

I think we can track Leela's influence on OTB play by tracking the amount of winning or losing "thorn pawn" games as one new "feature" of modern OTB chess - right from Opening innovations, to combinations generally in the middlegame.

It seems Leela is constantly using Thorn pawns in many winning games. If Leela is influencing OTB players, I suspect this is just one aspect. A bigger list may be:

1) More "Thorn" pawns
2) More dynamic and well timed pawn breaks
3) More dynamic and aggressive use of pawns in general (Kasparov, Topalov already had this in his style!). Kasparov also frequently uses h5-h4 type attacks as well.
4) Attacks which seem a little unsound at first but have passed pawn potential for endgame transition
5) Gambits which aim to lock in the c8 (c1) bishop - "Alpha zero" stylistic feature too

2-4 echo Philidor's "The pawns are the soul of chess"

Cheers, K

Traducción automática:

Creo que podemos rastrear la influencia de Leela en el juego sobre el tablero (en vivo) al rastrear la cantidad de ganar o perder juegos de "peones espinosos" como una nueva "característica" del ajedrez sobre el tablero moderno, desde las innovaciones de apertura hasta combinaciones generalmente en el medio juego.

Parece que Leela está constantemente usando peones Thorn en muchas partidas ganadas. Si Leela está influyendo en los jugadores de OTB, sospecho que este es solo un aspecto. Una lista más grande puede ser:

1) Más peones "Thorn"
2) Ataques de peones más dinámicos y bien sincronizados
3) Uso más dinámico y agresivo de peones en general (¡Kasparov, Topalov ya tenía esto en su estilo!). Kasparov también usa con frecuencia ataques tipo h5-h4.
4) Ataques que parecen un poco erróneos al principio, pero que han pasado el potencial de peones para la transición al final del juego
5) Gambitos que apuntan a bloquear el alfil c8 (c1) - característica estilística "Alfa cero" también

2-4 eco Philidor's "Los peones son el alma del ajedrez"

Saludos, K

Esto de los peones "espinosos" es una mala traducción de Thorn Pawns, usados frecuentemente por lc0 y que anteriormente se habían visto en partidas de la práctica magistral, ver

http://www.chessgames.com/perl/chesscol ... id=1016012


Bueno termino con las partidas


Responder