LCZero incrementa su fuerza de forma exponencial, colaboras?

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

Re: LCZero incrementa su fuerza de forma exponencial, colabo

Mensaje por alvaroi » 09 May 2018 01:07

La tarjeta es una GTX980, de Asus. La estadística tras un día es esta: 2018/05/09 01:00:14 Completed 1038 games in 26h47m35.6007801s time

Por lo que estoy viendo, la velocidad en las partidas no influye mucho en los resultados. Quizá es pronto, pero la sensación es esa. Iré poniendo información en el otro hilo.
usuario fics: alvaroi

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

Re: LCZero incrementa su fuerza de forma exponencial, colabo

Mensaje por alvaroi » 09 May 2018 21:35

Javier, como ya dije en un mensaje, la gráfica no pasaba del 65%. He probado a lanzar dos instancias del gpu-client y sorpresa, la gráfica sube en picos hasta el 82% y el ritmo de partidas por hora prácticamente se duplica. Debe haber muchos tiempos muertos entre movimientos, ya que los nps sí han bajado, pero no tiene impacto en la velocidad de cada partida del gpu-client. El resultado es que dos instancias aprovechan esos tiempos muertos y rinden más, aunque hagan alrededor la mitad de nps cada una por separado. De esta manera, han procesado 70 y 67 partidas cada una en 2h 17', lo que justo da un rendimiento de 1 partida por minuto. El doble que con una única instancia.
usuario fics: alvaroi

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

Re: LCZero incrementa su fuerza de forma exponencial, colabo

Mensaje por Javier Ros » 10 May 2018 14:09

alvaroi escribió:Javier, como ya dije en un mensaje, la gráfica no pasaba del 65%. He probado a lanzar dos instancias del gpu-client y sorpresa, la gráfica sube en picos hasta el 82% y el ritmo de partidas por hora prácticamente se duplica. Debe haber muchos tiempos muertos entre movimientos, ya que los nps sí han bajado, pero no tiene impacto en la velocidad de cada partida del gpu-client. El resultado es que dos instancias aprovechan esos tiempos muertos y rinden más, aunque hagan alrededor la mitad de nps cada una por separado. De esta manera, han procesado 70 y 67 partidas cada una en 2h 17', lo que justo da un rendimiento de 1 partida por minuto. El doble que con una única instancia.
Alvaro, todas las pruebas y experimentos que estas realizando son muy interesantes.
Como gran conocedor de los micros dedicados y programas de ajedrez, tu análisis es importante para conocer estos nuevos programas basados en inteligencia artificial.

Parece que estos nuevos programas no se comportan de manera tan lineal y predecible como los programas tradicionales, cuando un aumento de tiempo de reflexión o de la velocidad de cálculo llevaba aparejado una aumento de ELO más o menos proporcional.

Cuando ya parecía que todo estaba inventado en este terreno y pensábamos que Stockfish y similares tenían el máximo nivel de juego alcanzable, la aparición de estos nuevos ingenios vuelve a poner un enorme interés en el tema.

La velocidad que alcanzas de una partida por minuto es muy buena y similar a la conseguida por un proceso en Google Colaborative (desgraciadamente lleva varios días sin funcionar).

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

Re: LCZero incrementa su fuerza de forma exponencial, colabo

Mensaje por Javier Ros » 12 May 2018 11:46

Parece que LCZero se ha vuelto un niño rebelde y está teniendo algún problemilla con el aprendizaje últimamente, mostrando unas fluctuaciones indeseables.

Es conveniente actualizar a la última versión y seguir atentos porque según dicen todavía quedan bugs sin corregir.
Adjuntos
lczeroFluctuaciones.png
lczeroFluctuaciones.png (37.17 KiB) Visto 646 veces

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

Re: LCZero incrementa su fuerza de forma exponencial, colabo

Mensaje por juank » 12 May 2018 19:09

Gran trabajo alvaroy y Javier

gracias por compartirlo aquí,

la partida de LCZero-Modulo Mephisto London, que ha realizado alvaroy:


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

Re: LCZero incrementa su fuerza de forma exponencial, colabo

Mensaje por alvaroi » 15 May 2018 23:05

Acabo de ver en la web de Komodo que se suben al carro de los programas con algoritmos tipo Montecarlo. Parece que vamos a vivir otra revolución en el ajedrez por computadora. No especifica si han hecho auto entrenamiento o si hablan del MTCS como gancho comercial. Tiendo a sospechar del uso de palabras que "suenan bien" sin dar información más detallada, pero lo que está claro es que Alpha Zero y Leela están sacudiendo el mundo del ajedrez computado.

https://komodochess.com/Komodo12.htm

"Introducting the all new Komodo, Komodo MCTS

Komodo 12 MCTS thinks like no other chess engine in the world. Inspired by the ideas of AlphaZero and Leela, Larry and Mark set out to reinvent Komodo. What they came up with was Komodo 12 MCTS - a engine which searches for candidate moves in an incredible new way, and finds moves no other engine can!?

Komodo is a three-time TCEC champion and current World Computer Chess Champion. Komodo 12 is an improved version of the one which won both the 2017 World Computer Chess Championship (despite a 40 to 1 hardware disadvantage vs. its main rival) and the 2017 World Blitz Software Chess Championships. Komodo 12 is an improvement over the version that won the 2017 World Rapid Computer Chess Championship with an incredible 96% score. It also defeated a strong grandmaster by 3 to 1 despite giving him a two pawn handicap.

Komodo mastermind GM Larry Kaufman introduces Komodo 12

[May 14, 2018] We have just released Komodo 12. It is about 40 elo stronger than Komodo 11.01 and 85 elo stronger than Komodo 10 in quick games. Komodo 12 is free for those with active subscriptions. Non-subscribers may order it at full price, or, if they have purchased Komodo 11 or later, at a 20% discount. Komodo 12 comes with an option for Komodo MCTS, a very different engine that we believe is the world's strongest Monte-Carlo chess engine for the pc."
usuario fics: alvaroi

eltaki
Avanzado
Avanzado
Mensajes: 678
Registrado: 28 Ene 2013 21:41

Re: LCZero incrementa su fuerza de forma exponencial, colabo

Mensaje por eltaki » 19 May 2018 09:59

Mucha palabrería para decir que sube 40 puntos ELO con respecto a la versión anterior.

Saludos

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

Re: LCZero incrementa su fuerza de forma exponencial, colabo

Mensaje por alvaroi » 22 May 2018 22:36

Ejecutando lczero con la opción --full-tuner se hace una comprobación intensiva del modo para GPU óptimo. Tarda unos cuantos minutos, pero vale la pena. Hay diferencias de rendimiento bastante abultadas entre los distintos modos. Lo mejor es borrar primero el fichero leelaz-opencl-tuning y que cree uno nuevo tras hacer el proceso.

En mi caso, haciendo el pase en Linux, este es el volcado:

comando:

./lczero --full-tuner --tune-only -w networks/cc46dcd2e730a3a9a4196b3fe1bad9ac477f25d6abb3f72451d1e4180534013d

La red es la que cada uno tenga en ese momento, con su ruta correspondiente para que encuentre el fichero.
Salida por pantalla:

Using 2 thread(s).
Detecting residual layers...v2...192 channels...15 blocks.
Initializing OpenCL.
Detected 1 OpenCL platforms.
Platform version: OpenCL 1.2 CUDA 9.1.84
Platform profile: FULL_PROFILE
Platform name: NVIDIA CUDA
Platform vendor: NVIDIA Corporation
Device ID: 0
Device name: GeForce GTX 980
Device type: GPU
Device vendor: NVIDIA Corporation
Device driver: 390.59
Device speed: 1278 MHz
Device cores: 16 CU
Device score: 1112
Selected platform: NVIDIA CUDA
Selected device: GeForce GTX 980
with OpenCL 1.2 capability.

Started OpenCL SGEMM tuner.
RNG seed: 0x941ad66dff5b3737 (thread: 15357722343492983195)
Will try 5219 valid configurations.
(1/5219) KWG=16 KWI=2 MDIMA=8 MDIMC=8 MWG=32 NDIMB=8 NDIMC=8 NWG=16 SA=0 SB=0 STRM=0 STRN=0 VWM=1 VWN=1 0.0903 ms (209.0 GFLOPS)
(9/5219) KWG=32 KWI=2 MDIMA=16 MDIMC=16 MWG=16 NDIMB=8 NDIMC=8 NWG=16 SA=0 SB=0 STRM=0 STRN=0 VWM=1 VWN=1 0.0673 ms (280.6 GFLOPS)
(113/5219) KWG=16 KWI=8 MDIMA=8 MDIMC=16 MWG=32 NDIMB=8 NDIMC=8 NWG=16 SA=0 SB=0 STRM=0 STRN=0 VWM=2 VWN=1 0.0500 ms (377.9 GFLOPS)
(251/5219) KWG=16 KWI=2 MDIMA=8 MDIMC=8 MWG=16 NDIMB=8 NDIMC=8 NWG=16 SA=0 SB=0 STRM=0 STRN=0 VWM=2 VWN=2 0.0463 ms (407.8 GFLOPS)
(1372/5219) KWG=16 KWI=8 MDIMA=8 MDIMC=16 MWG=32 NDIMB=8 NDIMC=8 NWG=16 SA=1 SB=0 STRM=0 STRN=0 VWM=1 VWN=1 0.0423 ms (445.8 GFLOPS)
(1377/5219) KWG=16 KWI=8 MDIMA=32 MDIMC=8 MWG=32 NDIMB=8 NDIMC=16 NWG=16 SA=1 SB=0 STRM=0 STRN=0 VWM=1 VWN=1 0.0389 ms (484.9 GFLOPS)
(1408/5219) KWG=16 KWI=2 MDIMA=16 MDIMC=16 MWG=32 NDIMB=16 NDIMC=16 NWG=16 SA=1 SB=0 STRM=0 STRN=0 VWM=2 VWN=1 0.0386 ms (489.5 GFLOPS)
(1464/5219) KWG=32 KWI=8 MDIMA=8 MDIMC=8 MWG=32 NDIMB=8 NDIMC=16 NWG=16 SA=1 SB=0 STRM=0 STRN=0 VWM=4 VWN=1 0.0337 ms (560.0 GFLOPS)
(1773/5219) KWG=32 KWI=8 MDIMA=8 MDIMC=8 MWG=32 NDIMB=16 NDIMC=16 NWG=16 SA=1 SB=0 STRM=1 STRN=0 VWM=4 VWN=1 0.0324 ms (581.8 GFLOPS)
(4046/5219) KWG=32 KWI=8 MDIMA=16 MDIMC=32 MWG=64 NDIMB=16 NDIMC=8 NWG=16 SA=1 SB=1 STRM=0 STRN=0 VWM=2 VWN=1 0.0307 ms (615.5 GFLOPS)
(4142/5219) KWG=32 KWI=2 MDIMA=8 MDIMC=8 MWG=32 NDIMB=8 NDIMC=8 NWG=16 SA=1 SB=1 STRM=0 STRN=0 VWM=2 VWN=2 0.0306 ms (617.6 GFLOPS)
(4173/5219) KWG=32 KWI=8 MDIMA=16 MDIMC=32 MWG=64 NDIMB=8 NDIMC=8 NWG=16 SA=1 SB=1 STRM=0 STRN=0 VWM=2 VWN=2 0.0304 ms (620.4 GFLOPS)
(4375/5219) KWG=32 KWI=8 MDIMA=32 MDIMC=32 MWG=64 NDIMB=8 NDIMC=8 NWG=16 SA=1 SB=1 STRM=1 STRN=0 VWM=2 VWN=1 0.0304 ms (621.8 GFLOPS)
(4494/5219) KWG=32 KWI=8 MDIMA=8 MDIMC=8 MWG=32 NDIMB=8 NDIMC=8 NWG=16 SA=1 SB=1 STRM=1 STRN=0 VWM=2 VWN=2 0.0300 ms (629.1 GFLOPS)
(4524/5219) KWG=16 KWI=8 MDIMA=16 MDIMC=16 MWG=64 NDIMB=8 NDIMC=8 NWG=16 SA=1 SB=1 STRM=1 STRN=0 VWM=4 VWN=2 0.0299 ms (631.7 GFLOPS)
(4812/5219) KWG=32 KWI=2 MDIMA=32 MDIMC=32 MWG=64 NDIMB=8 NDIMC=8 NWG=16 SA=1 SB=1 STRM=0 STRN=1 VWM=2 VWN=2 0.0284 ms (664.0 GFLOPS)


Bajo Windows 10, la opción escogida es otra. Supongo que dependerá de los drivers instalados, versión de cuda, etc., y en cada sistema hay que hacer el proceso.
0;XgemmBatched;192;16;192;16; -DKWG=32 -DKWI=8 -DMDIMA=16 -DMDIMC=16 -DMWG=32 -DNDIMB=8 -DNDIMC=8 -DNWG=16 -DSA=1 -DSB=1 -DSTRM=0 -DSTRN=1 -DVWM=2 -DVWN=2;OpenCL: NVIDIA Corporation GeForce GTX 980 @ 1278MHz
usuario fics: alvaroi

Responder