Play Lc0 Online Free

1,345 views
Skip to first unread message

JustinZero

unread,
May 31, 2020, 4:32:02 AM5/31/20
to LCZero
Hello,

I decided to create a replacement for the old play.lczero.org page. You can find it at https://leelanalysis.com and use it for free for everyone. Give it a shot and tell me what you think. I'd love to hear what I can improve.

-justin

Luis Bolaños Mures

unread,
May 31, 2020, 7:44:47 AM5/31/20
to LCZero
It plays a slightly weird opening on 1. e4:

1. e4 e5 2. Nc3 Bc5 3. Qh5 Nc6 4. Bc4 Qf6 5. Nf3 g6 6. Qg5

ronnie millsap

unread,
May 31, 2020, 3:56:38 PM5/31/20
to LCZero
thanks i love that you did this!

Alexander Lyashuk

unread,
Jun 2, 2020, 4:37:39 AM6/2/20
to LCZero
It seems that currently it's using stockfish for all analysis on that site.
Is it something you are planning to change?

--
You received this message because you are subscribed to the Google Groups "LCZero" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lczero+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lczero/70b1e386-cd5e-4ed1-ac62-50e1b8f7eb81%40googlegroups.com.

JustinZero

unread,
Jun 4, 2020, 5:50:34 AM6/4/20
to LCZero
That is correct. The initial analysis is done with Stockfish, and then analyzed with Lc0. I am attempting to manage the amount of processing power required to give an instant answer to a request.

-justin
 

On Tuesday, June 2, 2020 at 5:37:39 PM UTC+9, Alexander Lyashuk wrote:
It seems that currently it's using stockfish for all analysis on that site.
Is it something you are planning to change?

On Sun, May 31, 2020 at 9:56 PM ronnie millsap <garrykli...@gmail.com> wrote:
thanks i love that you did this!

On Sunday, May 31, 2020 at 4:32:02 AM UTC-4, JustinZero wrote:
Hello,

I decided to create a replacement for the old play.lczero.org page. You can find it at https://leelanalysis.com and use it for free for everyone. Give it a shot and tell me what you think. I'd love to hear what I can improve.

-justin

--
You received this message because you are subscribed to the Google Groups "LCZero" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lcz...@googlegroups.com.

JustinZero

unread,
Jun 4, 2020, 5:52:07 AM6/4/20
to LCZero
Thanks. I'm looking into it. I'm still experimenting with different networks to find the right balance of speed and strength.

-justin

coolyellowgamer101

unread,
Jun 6, 2020, 1:03:36 AM6/6/20
to LCZero
Your work is simply extraordinary! I hope that something so big will be supported by everyone who can!

JustinZero

unread,
Jun 6, 2020, 2:37:48 AM6/6/20
to LCZero
Thanks. I'm glad you find it useful. Feel free to spread the word.

-justin

JustinZero

unread,
Jun 6, 2020, 4:40:47 AM6/6/20
to LCZero
Today I began “seeding” the database in much the same way Lc0 “learns” to play chess, by setting it to play games against itself. The goal is to have a very high quality set of opening variations pre-calculated in the database. These positions will then be reviewed with each stronger NN that comes along. This should make the database useful for studying transpositional opening variations, and may even expose a novelty.

I’m also working on a feature that will allow users to mark a particular position for review if they find the analysis dubious.

In the coming weeks I will also begin seeding the classical games of the masters. I have not yet decided if this will be done by player or by event. I’m also looking at seeding TWIC collections, but this will have to be more long term.

Gosse

unread,
Jun 6, 2020, 5:13:22 AM6/6/20
to LCZero
Thx. I saw the dept is about 10 ply, is that enough for a descent analyse?

Op zaterdag 6 juni 2020 10:40:47 UTC+2 schreef JustinZero:

JustinZero

unread,
Jun 6, 2020, 6:49:48 AM6/6/20
to LCZero
Right now the calculations are based on 60 seconds of GPU time for each position. Various depths will be reached depending on the complexity of the individual position, and this may result in some positions only reaching a "shallow" depth. This may be something I change in the future, but even at shallow "depths", Lc0 is incredibly strong.

From what I understand, the depths reached by a NN are not really comparable to the depths reached by traditional A/B engines.lower

-justin

coolyellowgamer101

unread,
Jun 7, 2020, 6:04:46 PM6/7/20
to LCZero
Greetings Justin! I can only thank you and hope in the not too distant future to be able to donate to this great project as well! I would very much like you to think about increasing the possibility of arrows by clicking on the right side of the mouse, as this is always very useful for those like me who do classes and streaming. For the rest, thank you very much!


El domingo, 31 de mayo de 2020, 4:32:02 (UTC-4), JustinZero escribió:

JustinZero

unread,
Jun 7, 2020, 6:24:30 PM6/7/20
to LCZero
That's a really great idea. It should be pretty easy to implement. Let me see what I can do.

-justin

JustinZero

unread,
Jun 11, 2020, 3:49:35 AM6/11/20
to LCZero
Users can now mark positions with dubious analysis for another round of calculation.

-justin

Rudra ठाकुर

unread,
Jun 11, 2020, 10:09:27 AM6/11/20
to JustinZero, LCZero
when following FEN is submitted for analysis, analysis seems to be stuck in a loop.
2R2k2/5pp1/7p/rPp5/6P1/1bP5/6B1/6K1 b - - 1 47

-Rudra


--
You received this message because you are subscribed to the Google Groups "LCZero" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lczero+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lczero/5869ebb1-d5e8-4892-8ba3-e98150ecc5c7o%40googlegroups.com.

Rudra ठाकुर

unread,
Jun 11, 2020, 10:31:54 AM6/11/20
to JustinZero, LCZero
Following FEN too makes it unresponsive
3R1k2/2p1rpp1/7p/2p5/PPb3P1/2P5/6B1/6K1 b - - 6 44

--Rudrac

JustinZero

unread,
Jun 11, 2020, 7:21:55 PM6/11/20
to LCZero
Thanks for letting me know. You helped squash a bug on both the front and back end with how the system responded when only one variation was returned. It's been fixed, but it may take up to 24hrs to filter out to the edge servers.

-justin


On Thursday, June 11, 2020 at 11:31:54 PM UTC+9, Rudra ठाकुर wrote:
Following FEN too makes it unresponsive
3R1k2/2p1rpp1/7p/2p5/PPb3P1/2P5/6B1/6K1 b - - 6 44

--Rudrac

On Thu, Jun 11, 2020 at 9:09 AM Rudra ठाकुर <rud...@gmail.com> wrote:
when following FEN is submitted for analysis, analysis seems to be stuck in a loop.
2R2k2/5pp1/7p/rPp5/6P1/1bP5/6B1/6K1 b - - 1 47

-Rudra


On Thu, Jun 11, 2020 at 2:49 AM JustinZero <jus...@justinsloan.com> wrote:
Users can now mark positions with dubious analysis for another round of calculation.

-justin



On Sunday, May 31, 2020 at 5:32:02 PM UTC+9, JustinZero wrote:
Hello,

I decided to create a replacement for the old play.lczero.org page. You can find it at https://leelanalysis.com and use it for free for everyone. Give it a shot and tell me what you think. I'd love to hear what I can improve.

-justin

--
You received this message because you are subscribed to the Google Groups "LCZero" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lcz...@googlegroups.com.

Alexandre Herkenhoff Gama

unread,
Jun 14, 2020, 9:23:25 PM6/14/20
to LCZero
You should specify which network you're using, don't you think?... There are as many Leelas as thoughts in our heads... for example preferred answer to d4 is Nf6 for the latest run of t60, which is different from your site, that gives d5. Thanks for the effort

colski

unread,
Jun 15, 2020, 2:45:28 AM6/15/20
to LCZero
Very nice. I have a few thoughts.

Lc0 uses the previous 8 board states, which complicates this kind of analysis. So I don’t know if you kept a “parent fen” history, but you probably need to. Without this you will get many draws by repetition.

On mobile, pulling pieces risks dragging the page which reloads, losing the state. Links on the lines would be easier. Also links on the moves. These could be proper links, which would enable browser back button.

More lines in complex positions would be better. The lines should be in order, I found positions where they were out of order. The “who is ahead” comment didn’t seem to always agree with the score for the top line.

Consider showing win probability instead of pawns. We need to relearn.

Colin

JustinZero

unread,
Jun 15, 2020, 8:05:36 AM6/15/20
to LCZero
Thanks for the feedback. I’m actually using multiple networks right now, and experimenting with which one gives the best combination of depth, time, accuracy, and subjective creativity. When (of if!) I settle on one, I’ll certainly post it on the about page.

-justin

JustinZero

unread,
Jun 15, 2020, 8:20:31 AM6/15/20
to LCZero
Hey Colin. Lots of great ideas!

Each node does indeed save the position history and transpositions between requests. It’s nowhere near ideal, and you will get more accurate results by using your local machine and walking through the moves. This is primarily because the positions entered may be calculated on different nodes in the network, which may not be aware of the previous positions. I’m working with the limitations of doing this in the cloud, learning and experimenting as I go. The ultimate goal is high availability.

I’m actively working on the front end interface, and all of your suggestions have been added to the list. Thanks!

There was an early bug that caused some positions to record lines out of order. If you come across one, please click the “Mark for Review” button and it will be re-calculated. This is the same for dubious lines, and lines suggesting old theory, such as d5 versus Nf6. Often times these positions just need more calculation time on our reserve nodes.

-justin

Dariouch Babaï

unread,
Jun 16, 2020, 8:39:58 PM6/16/20
to colski, LCZero
I think this is a gread initiative from the op.  And being a work in progress, this is discussion is a great opportunity to learn from the back and forth.


Lc0 uses the previous 8 board states,
for example, i was not sure about whether the history dependence was part of all the experiemental designs of lc0 in its evolution, or even in all the variants of the current one (being tested).

Does this not require some specified node cardinality (or even depth minimal constraint).  Or is that adaptive, in testing, as the game evolves and that history can be used.  That woud bring questions about openings.  And one node policy variants (if that can play).

So you confirm that history is always part of the design?  If so, the op could mention that the analysis is a one node static evaluation, and compare it with AB engines (with various parameters). decouple the two type of engines (if still coupled somehow), and allow for a two or more dimensional evaluation of position.  I then it would be nice to find discrepancies between the one node leela and which AB parameters are agreeing or when they start disagreeing.  At least that would be my curiosity.

thanks for this anyway.

JustinZero

unread,
Jun 20, 2020, 3:20:32 AM6/20/20
to LCZero
DBg,

I'm playing with the idea of retaining both the initial Stockfish analysis and the resulting Lc0 analysis and presenting it to the user. I, too, like the idea of comparing the evaluations.

And you are exactly correct, the resulting analysis is effectively a single node static evaluation, even if the same node happens to evaluate successive positions. I made this trade-off in the effort to preserve speed and availability. Multiple positions entered by one user are distributed for evaluation across multiple nodes, and then returned to the serverless infrastructure. So if you moved pieces around from the start position, each move is being sent to the next available node in the distributed network. The user is effectively operating multiple machines simultaneously, each running a single leela instance.

I'm well aware of the flaws in the resulting analysis by using this method. I think my ultimate goal in this project is to have results that are presented in near real-time, strong enough to help a club class human player evaluate and explore their games, but obviously not strong enough to compete against other engines. I don't think distributed computing can be competitive in that regard.

However, I'm still experimenting and I'm open to all ideas.

-justin

Dariouch Babaï

unread,
Jun 20, 2020, 4:55:17 AM6/20/20
to JustinZero, LCZero
Hi Justin, thank you for the precision.  I don't think that one node evaluation is not something to consider.  It is actually something that should always be accessible, even as you add features or contigencies. 

I don't think you want to recreate the tournament conditions, right?.  This is more about analysis.  The one node is basically the valuation part of the RL training if I understood well, and if the common stem (before the heads), were to be sufficiently expressive in transforming the input space in the best way possible so that the WDL (and other classification) associations would be all grouped into connected sets with very smooth probability contours lines (I am still trying various angles of explanation for loss function optimizing that happens there, and the idea of CNN input space transformation, some people call the sets of weights after training there an embeding of the representation that best allow for classication task, when those weight are those from a classification problem for example). 

sorry i got lost in parentheses.  I meant to say that if that mostly transformative stem were expressive to the max that the chess space with current legal rules allows, then we might not need more than one node, as the WDL valuation would provide for a proper discerning of best move purely from position, it would not need to clarify the picture through reenactments across many nodes. 

That last part may be wrong due to my still not sufficient understanding of what the policy head training really does, beside controlling self-play, into using the value head to keep playing better.  Once happy with the tail of self-play games (self-play convergence or loss functions plateauing to satisfaction), why do we need many nodes to clarify the valuation of the one node position candidates for next move? 

So, if you were to keep adding nodes, but still display the evaluation with less nodes (but with different sizes of CNN common stem), we could learn from such a table about various aspects of leela training and performance, which could teach us,  how to use the engines or engine instances corresponding to various such parameters to perform in certain situations.

I was asking, also, i did not know if it was a single node.  Is there somewhere, we can read about the parameters behind the displayed results?
I have not looked at the site recently.  But I will.

D.
--
You received this message because you are subscribed to a topic in the Google Groups "LCZero" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/lczero/4e5cunOOWj0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to lczero+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lczero/22e73f6c-013e-47d5-a353-e861d7e47065o%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages