Changes

Jump to: navigation, search

Leela Chess Zero

5,580 bytes added, 21:16, 9 September 2020
no edit summary
=Lc0=
Leela Chess Zero consists of an executable to play or analyze [[Chess Game|games]], initially dubbed '''LCZero''', soon rewritten by a team around [[Alexander Lyashuk]] for better performance and then called '''Lc0''' <ref>[https://github.com/LeelaChessZero/lc0/wiki/lc0-transition lc0 transition · LeelaChessZero/lc0 Wiki · GitHub]</ref> <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68094&start=91 Re: TCEC season 13, 2 NN engines will be participating, Leela and Deus X] by [[Gian-Carlo Pascutto]], [[CCC]], August 03, 2018</ref>. This executable, the actual chess engine, performs the [[Monte-Carlo Tree Search|MCTS]] and reads the self-taught [[Neural Networks#Convolutional|CNN]], which weights are persistent in a separate file.
Lc0 is written in [[Cpp|C++]] (started with [[Cpp#14|C++14]] then upgraded to [[Cpp#17|C++17]]) and may be compiled for various platforms and backends. Since deep CNN approaches are best suited to run massively in parallel on [[GPU|GPUs]] to perform all the [[Float|floating point]] [https://en.wikipedia.org/wiki/Dot_product dot products] for thousands of neurons, the preferred target platforms are [[Nvidia]] [[GPU|GPUs]] supporting [https://en.wikipedia.org/wiki/CUDA CUDA] and cuDNN [https://en.wikipedia.org/wiki/CuDNN CuDNN] libraries <ref>[https://developer.nvidia.com/cudnn NVIDIA cuDNN | NVIDIA Developer]</ref>.[[Ankan Banerjee]] wrote the CuDNN backend code, also shared by [[Deus X]] and [[Allie]] <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71822&start=48 Re: My failed attempt to change TCEC NN clone rules] by [[Adam Treat]], [[CCC]], September 19, 2019</ref>. None CUDA compliant GPUs ([[AMD]]) are supported through [[OpenCL]], while much slower pure CPU binaries are possible using [https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms BLAS], target systems with or without a [https://en.wikipedia.org/wiki/Video_card graphics card] (GPU) are [[Linux]], [[Mac OS]] and [[Windows]] computers, or BLAS only the [[Raspberry Pi]].
=Description=
The distributed training is realized with an sophisticated [https://en.wikipedia.org/wiki/Client%E2%80%93server_model client-server model]. The client, written entirely in the [[Go (Programming Language)|Go programming language]], incorporates Lc0 to produce self-play games.Controlled by the server, the client may download the latest network, will start self-playing, and uploading games to the server, who on the other hand will regularly produce and distribute new neural network weights after a certain amount of games available from contributors. The training software consists of [[Python]] code, the pipeline requires [https://en.wikipedia.org/wiki/NumPy NumPy] and [https://en.wikipedia.org/wiki/TensorFlow TensorFlow] running on [[Linux]] <ref>[https://github.com/LeelaChessZero/lczero-training GitHub - LeelaChessZero/lczero-training: For code etc relating to the network training process.]</ref>.
The server is written in [[Go (Programming Language)|Go]] along with [[Python]] and [https://en.wikipedia.org/wiki/Shell_script shell scripts].
 
=Structure Diagrams=
[[FILE:lc0diagram.png|none|border|text-bottom]]
Related to [[TCEC]] clone discussions concerning [[Deus X]] and [[Allie]] aka [[Allie#AllieStein|AllieStein]],<br/>
[[Alexander Lyashuk]] published diagrams with all components of the affected engines,<br/>
The above shows the common legend, and the structure of all Leela Chess Zero's components based on current Lc0 engine <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71822 My failed attempt to change TCEC NN clone rules] by [[Alexander Lyashuk]], [[CCC]], September 14, 2019 » [[TCEC]]</ref>
[[FILE:Lczero.png|none|border|text-bottom|670px]]
Same diagram, but initial LCZero engine, which played [[TCEC Season 12]] <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71822 My failed attempt to change TCEC NN clone rules] by [[Alexander Lyashuk]], [[CCC]], September 14, 2019 » [[TCEC]]</ref>
 
=Tournament Play=
==First Experience==
LCZero gained first tournament experience in April 2018 at [[TCEC Season 12]] and over the board at the [[WCCC 2018]]
in [https://en.wikipedia.org/wiki/Stockholm Stockholm], July 2018. It won the [[TCEC Season 13#Fourth|fourth division]] of [[TCEC Season 13]] in August 2018, [[#Lc0|Lc0]] finally coming in third in the [[TCEC Season 13#Third|third division]].
==Breakthrough==
[[TCEC Season 14]] from November 2018 until February 2019 became a breakthrough, Lc0 winning the [[TCEC Season 14#Third|third]], [[TCEC Season 14#Second|second]] and [[TCEC Season 14#First|first]] division,
to even [[TCEC Season 14#Premier|qualify]] for the [[TCEC Season 14#Superfinal|superfinal]], losing by the narrow margin of +10 =81 -9, '''50½ - 49½''' versus [[Stockfish]].
Again runner-up at the [[TCEC Season 15#Premier|TCEC Season 15 premier division]] in April 2019,
Lc0 aka '''LCZero v0.21.1-nT40.T8.610''' won the [[TCEC Season 15#Superfinal|superfinal]] in May 2019 versus Stockfish with +14 =79 -7, '''53½-46½''' <ref>[https://blog.lczero.org/2019/05/lc0-won-tcec-15.html Lc0 won TCEC 15] by [[Alexander Lyashuk|crem]], [[Leela Chess Zero|LCZero blog]], May 28, 2019</ref>.
At the [[TCEC Season 16#Premier|TCEC Season 16 premier division]] in September 2019, Lc0 became in third behind Stockfish and the [[Supervised Learning|supervised]] trained [[Allie#AllieStein|AllieStein]],
but Lc0 took revenge by winning the [[TCEC Season 17#Premier|TCEC Season 17 premier division]] in spring 2020, as '''LCZero v0.24-sv-t60-3010''' fighting down Stockfish in a thrilling [[TCEC Season 17#Superfinal|superfinal]] in April 2020 with +17 =71 -12, '''52½-47½''' <ref>[https://lczero.org/blog/2020/04/tcec-s17-super-final-report/ TCEC S17 SUper FInal report] by @glbchess64, [[Leela Chess Zero|LCZero blog]], April 21, 2020</ref>, but tables turned again in [[TCEC Season 18#Premier|TCEC Season 18]], when Stockfish won the [[TCEC Season 18#Superfinal|superfinal]].
=See also=
* [[Allie]]
* [[AlphaZero]]
* [[Fat Fritz]]
* [[Deus X]]
* [[Leela Zero]]
* [[Leila]]
: [[UCT]]
: [[Christopher D. Rosin#PUCT|PUCT]]
* [[Stockfish NNUE]]
=Forum Posts=
* [http://www.talkchess.com/forum/viewtopic.php?t=66945 LCZero: Progress and Scaling. Relation to CCRL Elo] by [[Kai Laskos]], [[CCC]], March 28, 2018 » [[Playing Strength]]
* [http://www.talkchess.com/forum/viewtopic.php?t=67013 What does LCzero learn?] by [[Uri Blass]], [[CCC]], April 05, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67044 How to play vs LCZero with Cute Chess gui] by Hai, [[CCC]], April 08, 2018 » [[Cute Chess]]
* [http://www.talkchess.com/forum/viewtopic.php?t=67075 LCZero in Aquarium / Fritz] by [[Carl Bicknell]], [[CCC]], April 11, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=67087 LCZero on 10x128 now] by [[Gary Linscott|Gary]], [[CCC]], April 12, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=67092 lczero faq] by Duncan Roberts, [[CCC]], April 13, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=67104 Run LC Zero in LittleBlitzerGUI] by [[Stefan Pohl]], [[CCC]], April 14, 2018 » [[LittleBlitzer]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=67121 LC0 - how to catch up?] by [[Srdja Matovic]], [[CCC]], April 16, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67300 Leela on more then one GPU?] by [[Karlo Balla]], [[CCC]], May 01, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67646 New CLOP settings give Leela huge tactics boost] by [[Albert Silver]], [[CCC]], June 04, 2018 » [[CLOP]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67668 First Win by Leela Chess Zero against Stockfish dev] by [[Ankan Banerjee]], [[CCC]], June 07, 2018 » [[Stockfish]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67718 what may be two firsts...] by [[Michael Byrne|Michael B]], [[CCC]], June 13, 2018 » [[DGT Pi]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69400 LC0 using 4 x 2080 Ti GPU's on Chess.com tourney?] by M. Ansari, [[CCC]], December 28, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69318 Smallnet (128x10) run1 progresses remarkably well] by [[Kai Laskos]], [[CCC]], December 19, 2018
* [https://groups.google.com/d/msg/lczero/EGcJSrZYLiw/netJ4S38CgAJ use multiple neural nets?] by [[Warren D. Smith]], [[Computer Chess Forums|LCZero Forum]], December 25, 2018
==2019==
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69478 LCZero FAQ is missing one important fact] by [[Jouni Uski]], [[CCC]], January 01, 2019 » [[GPU]]
* [https://groups.google.com/d/msg/lczero/CrMiK3OR1og/mcFd0NDKDQAJ "boosting" endgames in leela training? Simple change to learning process proposed: "forked" training games] by [[Warren D. Smith]], [[Computer Chess Forums|LCZero Forum]], January 03, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69552 Leela on a weak pc, question] by chessico, [[CCC]], January 09, 2019
* [https://groups.google.com/d/msg/lczero/I0lTgR-fFFU/NGC3kJDzAwAJ Michael Larabel benches lc0 on various GPUs] by [[Warren D. Smith]], [[Computer Chess Forums|LCZero Forum]], January 14, 2019 » [[GPU]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69622 Can somebody explain what makes Leela as strong as Komodo?] by Chessqueen, [[CCC]], January 16, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=69668 A0 policy head ambiguity] by [[Daniel Shawul]], [[CCC]], January 21, 2019 » [[AlphaZero]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=70451 32930 Boost network available] by [[Dietrich Kappe]], [[CCC]], April 09, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71209 Lc0 question] by [[Larry Kaufman]], [[CCC]], July 06, 2019
 =Blog Posts=* [httpshttp://mediumwww.talkchess.com/oracledevsforum3/lessons-from-implementing-alphazero-7e36e9054191 Lessons From Implementing AlphaZeroviewtopic.php?f=7&t=71651 Some newbie questions about lc0] by [https://medium.com/@akprasad Aditya Prasad[Pham Hong Nguyen|Nguyen Pham]], [https://blogs.oracle.com/ Oracle Blog[CCC]], June 05August 25, 20182019: * [httpshttp://mediumwww.talkchess.com/oracledevsforum3/lessons-from-alphazero-connect-four-e4a0ae82af68 Lessons from AlphaZero: Connect Fourviewtopic.php?f=2&t=71686 Lc0 Evaluation Explanation] by Hamster, [[https://medium.com/@akprasad Aditya PrasadCCC], [https://blogs.oracle.com/ Oracle Blog], June 13August 29, 20182019: [httpshttp://mediumwww.talkchess.com/oracledevsforum3/lessons-from-alphazero-part-3-parameter-tweaking-4dceb78ed1e5 Lessons from AlphaZero (part 3)viewtopic.php?f=2&t=71686&start=14 Re: Parameter TweakingLc0 Evaluation Explanation] by [https://medium.com/@akprasad Aditya Prasad[Alexander Lyashuk]], [https://blogs.oracle.com/ Oracle Blog[CCC]], June 20September 03, 20182019: * [httpshttp://mediumwww.talkchess.com/oracledevsforum3/lessons-from-alphazero-part-4-improving-the-training-target-6efba2e71628 Lessons From AlphaZero (part 4): Improving the Training Targetviewtopic.php?f=2&t=71822 My failed attempt to change TCEC NN clone rules] by [https://blogs.oracle.com/author/vish-abrams Vish Abrams[Alexander Lyashuk]], [https://blogs.oracle.com/ Oracle Blog[CCC]], June 27September 14, 2018: 2019 » [[https://medium.com/oracledevs/lessons-from-alpha-zero-part-5-performance-optimization-664b38dc509e Lessons From Alpha Zero (part 5): Performance OptimizationTCEC] by [https://blogs.oracle.com/author/anthony-young Anthony Young], * [httpshttp://blogswww.oracletalkchess.com/ Oracle Blog], July 03, 2018: [https:forum3//mediumviewtopic.com/oracledevs/lessons-from-alpha-zero-part-6-hyperparameter-tuning-b1cfcbe4ca9a Lessons From Alpha Zero (part 6) — Hyperparameter Tuningphp?f=2&t=72640 Best Nets for Lc0 Page] by [https://blogs.oracle.com/author/anthony-young Anthony Young[Ted Summers]], [https://blogs.oracle.com/ Oracle Blog[CCC]], July 11December 23, 20182019 * [http://blogwww.lczerotalkchess.orgcom/2018forum3/08/test20-progressviewtopic.html Test20 progressphp?f=2&t=72685 Correct LC0 syntax for multiple GPUs] by [[Alexander Lyashuk|cremDann Corbit]], [[Leela Chess Zero|LCZero blogCCC]], August 31December 30, 20182019 ==2020 ...==* [http://blogwww.lczerotalkchess.org/2018com/09forum3/a-standard-datasetviewtopic.html A Standard Datasetphp?f=2&t=73684 Lc0 soon to support chess960 ?] by Error323Modern Times, [[Leela Chess Zero|LCZero blogCCC]], September 12April 18, 2018 2020 » [[Chess960]]* [http://blogwww.lczerotalkchess.org/2018com/10forum3/understanding-training-against-q-asviewtopic.html Understanding Training against Q as Knowledge Distillationphp?f=2&t=73714 How to run rtx 2080ti for leela optimally?] by Cyanogenoidh1a8, [[Leela Chess Zero|LCZero blogCCC]], October 10April 20, 20182020* [http://blogwww.lczerotalkchess.org/2018com/09forum3/guide-setting-up-leela-on-chess-guiviewtopic.html GUIDE: Setting up php?f=7&t=74092 Total noob Leela on a Chess GUIquestion] by Bob23[[Harm Geert Muller]], [[Leela Chess Zero|LCZero blogCCC]], September 21June 03, 20182020* [httphttps://bloggroups.lczerogoogle.orgcom/d/2018msg/11lczero/lc0BvhCa-v0190-rc1-has-been-releasedmuLt0/ZzINQk_vCQAJ How strong is Stockfish NNUE compared to Leela.html Lc0 v0.19.0-rc1 (UPD: rc2) has been released] by OmenhoteppIV, [[Alexander LyashukComputer Chess Forums|cremLCZero Forum]], July 13, 2020 » [[Leela Chess Zero|LCZero blogStockfish NNUE]], November 9, 2018* [http://blogwww.lczerotalkchess.orgcom/2018forum3/11/lc0viewtopic.php?f=2&t=74607 LC0 vs. NNUE -v0190-has-been-releasedsome tech details.html c0 v0.19.0 has been released] by [[Alexander Lyashuk|cremSrdja Matovic]], [[Leela Chess Zero|LCZero blogCCC]], November 9July 29, 20182020 » [[NNUE]]* [http://blogwww.lczerotalkchess.orgcom/2018forum3/12/alphazero-paper-and-lc0-v0191viewtopic.html AlphaZero paper, and Lc0 v0.19.1php?f=2&t=74915 The next step for LC0?] by [[Alexander Lyashuk|cremSrdja Matovic]], [[Leela Chess Zero|LCZero blogCCC]], December 07August 28, 20182020
=External Links=
==Chess Engine==
* [https://lczero.org/ Leela Chess Zero]
* [https://lczero.org/blog/ Blog - Leela Chess Zero]
* [https://groups.google.com/forum/#!forum/lczero LCZero – Forum]
* [https://training.lczero.org/ Testing instance of LCZero server]
* [https://en.wikipedia.org/wiki/Leela_Chess_Zero Leela Chess Zero from Wikipedia]
* [https://en.wikipedia.org/wiki/Leela_(software) Leela (software) from Wikipedia]
* [httphttps://lczerowww.orgfacebook.com/LeelaChessZero/ Leela Chess Zero - Facebook]* [https://twitter.com/leelachesszero Leela Chess Zero (@LeelaChessZero) | Twitter]==GitHub==* [https://github.com/LeelaChessZero/ LCZero· GitHub]
* [https://github.com/LeelaChessZero/lczero GitHub - LeelaChessZero/lczero: A chess adaption of GCP's Leela Zero]
* [https://github.com/LeelaChessZero/ LCZero · GitHub]
* [https://github.com/LeelaChessZero/lc0 GitHub - LeelaChessZero/lc0: The rewritten engine, originally for tensorflow. Now all other backends have been ported here]
* [https://github.com/LeelaChessZero/lc0/wiki Home · LeelaChessZero/lc0 Wiki · GitHub]
* [https://github.com/LeelaChessZero/lc0/wiki/Getting-Started Getting Started · LeelaChessZero/lc0 Wiki · GitHub]
* [https://github.com/LeelaChessZero/lc0/wiki/FAQ FAQ · LeelaChessZero/lc0 Wiki · GitHub]
* [https://github.com/LeelaChessZero/lc0/wiki/Technical-Explanation-of-Leela-Chess-Zero Technical Explanation of Leela Chess Zero · LeelaChessZero/lc0 Wiki · GitHub]
* [https://github.com/mooskagh/lc0 GitHub - mooskagh/lc0: The rewritten engine, originally for cudnn. Now all other backends have been ported here]
* [https://github.com/dkappe/leela-chess-weights/wiki/Distilled-Networks Distilled Networks · dkappe/leela-chess-weights Wiki · GitHub]
==Rating Lists==* [httpshttp://blogcomputerchess.lczeroorg.orguk/ccrl/404/cgi/ compare_engines.cgi?family=Leela%20Chess&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Leela Chess Zero - Blog] in [[CCRL|CCRL Blitz]]* [httpshttp://groupscomputerchess.googleorg.comuk/forumccrl/#!forum/lczero LCZero – Google Groups]* [https:4040/cgi/wwwcompare_engines.facebook.com/LeelaChessZero/ cgi?family=Leela%20Chess&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Leela Chess Zero - Facebook]* in [[https:CCRL|CCRL 40//twitter.com/leelachesszero Leela Chess Zero (@LeelaChessZero) | Twitter15]]==ChessBase==
* [https://en.chessbase.com/post/leela-chess-zero-alphazero-for-the-pc Leela Chess Zero: AlphaZero for the PC] by [[Albert Silver]], [[ChessBase|ChessBase News]], April 26, 2018
* [https://wwwen.youtubechessbase.com/watch?v=Crwg2oT9KWE Leela reacts beautifully to Stockfish's outrageous opening greedpost/standing-on-the-shoulders-of-giants Standing on the shoulders of giants] by [[Albert Silver]], [[ChessBase|ChessBase News]], September 18, 2019* [https://wwwen.youtubechessbase.com/channelpost/UCDUDDmslypVXYoUsZafHSUQ kingscrusherrunning-leela-and-fat-fritz-on-your-notebook Running Leela and Fat Fritz on your notebook], January 05, 2019, by [https://enratings.wikipediafide.orgcom/wiki/YouTube YouTubecard.phtml?event=2099713 Evelyn Zhu], [[ChessBase|ChessBase News]], June 14, 2020 » [[Fat Fritz]] Video ==Chessdom==
* [http://www.chessdom.com/interview-with-alexander-lyashuk-about-the-recent-success-of-lc0/ Interview with Alexander Lyashuk about the recent success of Lc0], [[Chessdom]], February 6, 2019 » [[TCEC Season 14]]
==Tuning==
* [https://github.com/kiudee/bayes-skopt GitHub - kiudee/bayes-skopt: A fully Bayesian implementation of sequential model-based optimization] by [[Karlson Pfannschmidt]] » [[Fat Fritz]] <ref>[https://en.chessbase.com/post/fat-fritz-update-and-fat-fritz-jr Fat Fritz 1.1 update and a small gift] by [[Albert Silver]]. [[ChessBase|ChessBase News]], March 05, 2020</ref>
* [https://github.com/kiudee/chess-tuning-tools GitHub - kiudee/chess-tuning-tools] by [[Karlson Pfannschmidt]] <ref>[https://chess-tuning-tools.readthedocs.io/en/latest/ Welcome to Chess Tuning Tools’s documentation!]</ref>
==Misc==
* [https://en.wikipedia.org/wiki/Leela Leela from Wikipedia]
* [https://en.wikipedia.org/wiki/Leela_(Doctor_Who) Leela (Doctor Who) from Wikipedia]
* [https://en.wikipedia.org/wiki/Leela_(Futurama) Leela (Futurama) from Wikipedia]
* [[:Category:Marc RibotWeather Report|Marc Ribot'sWeather Report]] Ceramic Dog - Lies My Body Told Me [https://en.wikipedia.org/wiki/Live_in_Tokyo_(Live on Weather_Report_album) Vertical Invader / T.H. / Dr. Honoris Causa], album [https://en.wikipedia.org/wiki/KEXP-FM KEXPI_Sing_the_Body_Electric_(album) I Sing the Body Electric], July 20, 2016(1972), [https://en.wikipedia.org/wiki/YouTube YouTube] Video : {{#evu:https://www.youtube.com/watch?v=YohWv7kIp5oTTJwf4cCUwI|alignment=left|valignment=top}}
=References=
[[Category:Open Source]]
[[Category:GPL]]
[[Category:Marc RibotGPU]][[Category:DCNN]][[Category:MCTS]][[Category:PC]][[Category:Windows]][[Category:Linux]][[Category:Mac]]
[[Category:Fiction]]
[[Category:Given Name]]
[[Category:Weather Report]]
[[Category:Wayne Shorter]]
[[Category:Joe Zawinul]]
[[Category:Miroslav Vitouš]]
[[Category:Dom Um Romão]]

Navigation menu