Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Kiudee
Posts: 29
Joined: Tue Feb 02, 2010 10:12 pm
Location: Germany
Full name: Karlson Pfannschmidt

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by Kiudee »

mwyoung wrote: Fri Jan 31, 2020 6:15 pm
Laskos wrote: Fri Jan 31, 2020 11:06 am Then again, I am surprised. A CPuct = 1.900 doesn't seem very intuitive to LTC, does it? How re-farctoring works with Lc0? Really, I feel I have to check and re-check every detail of my setup. Even if a self-play, an improvement of 70 Elo points with 70% draw rate at 400k npm is a bit hard to believe (for me, at least). "Normalized Elo" which gives the invariant scaling of the improvement exploded.
Again don't be shy about moving CPUCT and Temp Policy. For Long time controls with good Lc0 speed. You always need to increase Cpuct and tune with Temp policy. Currently running CPuct = 3.5 and Temp policy = 1.75. Results have been awesome!
Do you have tests to back that up (higher CPuct)? All my data suggests otherwise.
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by mwyoung »

Kiudee wrote: Fri Jan 31, 2020 6:35 pm
mwyoung wrote: Fri Jan 31, 2020 6:15 pm
Laskos wrote: Fri Jan 31, 2020 11:06 am Then again, I am surprised. A CPuct = 1.900 doesn't seem very intuitive to LTC, does it? How re-farctoring works with Lc0? Really, I feel I have to check and re-check every detail of my setup. Even if a self-play, an improvement of 70 Elo points with 70% draw rate at 400k npm is a bit hard to believe (for me, at least). "Normalized Elo" which gives the invariant scaling of the improvement exploded.
Again don't be shy about moving CPUCT and Temp Policy. For Long time controls with good Lc0 speed. You always need to increase Cpuct and tune with Temp policy. Currently running CPuct = 3.5 and Temp policy = 1.75. Results have been awesome!
Do you have tests to back that up (higher CPuct)? All my data suggests otherwise.
I do have data and test posted. And will run a live test on the current settings. As I always do.

The question is do you have the data at long time controls or high node counts. You may have.... but not from what you have said here.

"The tuned settings were done using a mix of short time controls using the T58 (58613) network. These settings should be approximately optimal for all time controls with <20k nodes / move. Even though the CPuct scaling curve is not uniquely determined on slower time controls, it can perform reasonably well on time controls up to <100k nodes, but is likely slightly suboptimal there (though it seemed to perform quite well for T60 on CCC's time control). For 1M+ nodes: no guarantees"

It looks like you said you don't know......"no guarantees"

You settings work great at fast time controls. But fall flat as time controls increase.

Re: LIVE Live Stockfish 230120 vs Lc0 23.2 Sergio - Kiudee
Post by mwyoung » Sun Jan 26, 2020 5:26 am

End of match.

DESKTOP-CORSAIR, Blitz 0m+10s 0


1 Stockfish 230120 64 POPCNT +2 +8/=131/-7 50.34% 73.5/146
2 Lc0 v0.23.2+git.c8d9095 Sergi -2 +7/=131/-8 49.66% 72.5/146

I am testing bigger networks at longer time controls.
"The worst thing that can happen to a forum is a running wild attacking moderator(HGM) who is not corrected by the community." - Ed Schröder
But my words like silent raindrops fell. And echoed in the wells of silence.
Kiudee
Posts: 29
Joined: Tue Feb 02, 2010 10:12 pm
Location: Germany
Full name: Karlson Pfannschmidt

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by Kiudee »

Yes, the current distributed tune in progress is the first one for longer time controls (with over 100k nodes / move).
I will release the complete data as soon as it’s finished.

Until then, the only thing I can recommend to experiment with is CPuctFactor. CPuct itself should stay low, since it has a beneficial effect for every node in the search tree. CPuctFactor is the main tool to make CPuct scale for longer time controls. So rather than ramping up CPuct itself, try to ramp up CPuctFactor. In addition you can vary CPuctBase to vary the shape of the curve.

If you want to plot different curves, this is how it is computed:

Code: Select all

def cpuctfun(visits, cpuct, cpuctbase, cpuctfactor):
    return cpuct + cpuctfactor * log(1 + visits/cpuctbase)
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by mwyoung »

Kiudee wrote: Fri Jan 31, 2020 7:25 pm Yes, the current distributed tune in progress is the first one for longer time controls (with over 100k nodes / move).
I will release the complete data as soon as it’s finished.

Until then, the only thing I can recommend to experiment with is CPuctFactor. CPuct itself should stay low, since it has a beneficial effect for every node in the search tree. CPuctFactor is the main tool to make CPuct scale for longer time controls. So rather than ramping up CPuct itself, try to ramp up CPuctFactor. In addition you can vary CPuctBase to vary the shape of the curve.

If you want to plot different curves, this is how it is computed:

Code: Select all

def cpuctfun(visits, cpuct, cpuctbase, cpuctfactor):
    return cpuct + cpuctfactor * log(1 + visits/cpuctbase)
I agree...but there are many ways to shape the search. Remember the point of the tune is tactics....Other methods work also.

Thanks for your reply. And I always look forward to more data, and insights from everyone.
"The worst thing that can happen to a forum is a running wild attacking moderator(HGM) who is not corrected by the community." - Ed Schröder
But my words like silent raindrops fell. And echoed in the wells of silence.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by Laskos »

Kiudee wrote: Fri Jan 31, 2020 7:25 pm Yes, the current distributed tune in progress is the first one for longer time controls (with over 100k nodes / move).
I will release the complete data as soon as it’s finished.

Until then, the only thing I can recommend to experiment with is CPuctFactor. CPuct itself should stay low, since it has a beneficial effect for every node in the search tree. CPuctFactor is the main tool to make CPuct scale for longer time controls. So rather than ramping up CPuct itself, try to ramp up CPuctFactor. In addition you can vary CPuctBase to vary the shape of the curve.

If you want to plot different curves, this is how it is computed:

Code: Select all

def cpuctfun(visits, cpuct, cpuctbase, cpuctfactor):
    return cpuct + cpuctfactor * log(1 + visits/cpuctbase)
Thanks, that helps.

The fun thing is that I have the good LTC result and datapoint there (much higher Elo bonus and Normalized Elo than at STC), and I have to fit the curve to STC, which is easier. That's good, but I hope you will come with better global parameters. The important thing that tuning gives about 70 Elo points in self-games at 400k npm, which is unexpectedly high to me. Stefan will come with the result against Stockfish. This Lc0 seems to have been very loosely tuned (if I understood, some default values are even taken from A0 paper) and gains can be even in 100 Elo points range (at least in self-games).
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by mwyoung »

Laskos wrote: Fri Jan 31, 2020 10:10 pm
Kiudee wrote: Fri Jan 31, 2020 7:25 pm Yes, the current distributed tune in progress is the first one for longer time controls (with over 100k nodes / move).
I will release the complete data as soon as it’s finished.

Until then, the only thing I can recommend to experiment with is CPuctFactor. CPuct itself should stay low, since it has a beneficial effect for every node in the search tree. CPuctFactor is the main tool to make CPuct scale for longer time controls. So rather than ramping up CPuct itself, try to ramp up CPuctFactor. In addition you can vary CPuctBase to vary the shape of the curve.

If you want to plot different curves, this is how it is computed:

Code: Select all

def cpuctfun(visits, cpuct, cpuctbase, cpuctfactor):
    return cpuct + cpuctfactor * log(1 + visits/cpuctbase)
Thanks, that helps.

The fun thing is that I have the good LTC result and datapoint there (much higher Elo bonus and Normalized Elo than at STC), and I have to fit the curve to STC, which is easier. That's good, but I hope you will come with better global parameters. The important thing that tuning gives about 70 Elo points in self-games at 400k npm, which is unexpectedly high to me. Stefan will come with the result against Stockfish. This Lc0 seems to have been very loosely tuned (if I understood, some default values are even taken from A0 paper) and gains can be even in 100 Elo points range (at least in self-games).
Hey, you got something right. Welcome to the team....But for must of us this is not news. You are discovering land that has already been discovered. :lol:
"The worst thing that can happen to a forum is a running wild attacking moderator(HGM) who is not corrected by the community." - Ed Schröder
But my words like silent raindrops fell. And echoed in the wells of silence.
User avatar
pohl4711
Posts: 2433
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by pohl4711 »

Laskos wrote: Fri Jan 31, 2020 10:10 pm
The fun thing is that I have the good LTC result and datapoint there (much higher Elo bonus and Normalized Elo than at STC), and I have to fit the curve to STC, which is easier. That's good, but I hope you will come with better global parameters. The important thing that tuning gives about 70 Elo points in self-games at 400k npm, which is unexpectedly high to me. Stefan will come with the result against Stockfish. This Lc0 seems to have been very loosely tuned (if I understood, some default values are even taken from A0 paper) and gains can be even in 100 Elo points range (at least in self-games).
The first 45 games are played and at this point, it looks very promising.
Lc0 0.23.2kl t40-1541 (20x256) (kl= Kiudee with Laskos change CPuct=1.900) is at 62% vs. Stockfish 191210 (final result of Kiudee setting without Laskos CPuct-change was 57%), which would mean around +35 Elo more and a real destruction of Stockfish.
But 45 games does not mean a really reliable result - all can still change. We have to wait some days more, but the result is very good so far, so I let the test go on...
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by Laskos »

pohl4711 wrote: Sat Feb 01, 2020 12:26 pm
Laskos wrote: Fri Jan 31, 2020 10:10 pm
The fun thing is that I have the good LTC result and datapoint there (much higher Elo bonus and Normalized Elo than at STC), and I have to fit the curve to STC, which is easier. That's good, but I hope you will come with better global parameters. The important thing that tuning gives about 70 Elo points in self-games at 400k npm, which is unexpectedly high to me. Stefan will come with the result against Stockfish. This Lc0 seems to have been very loosely tuned (if I understood, some default values are even taken from A0 paper) and gains can be even in 100 Elo points range (at least in self-games).
The first 45 games are played and at this point, it looks very promising.
Lc0 0.23.2kl t40-1541 (20x256) (kl= Kiudee with Laskos change CPuct=1.900) is at 62% vs. Stockfish 191210 (final result of Kiudee setting without Laskos CPuct-change was 57%), which would mean around +35 Elo more and a real destruction of Stockfish.
But 45 games does not mean a really reliable result - all can still change. We have to wait some days more, but the result is very good so far, so I let the test go on...
Thank you very much! I abandoned the tests against Stockfish, and am trying to tune several CPuct related parameters in self-games. Kiudee will come with a new, continued to longer TC global fit, but still not close to your TC and npm.
Eduard
Posts: 1439
Joined: Sat Oct 27, 2018 12:58 am
Location: Germany
Full name: N.N.

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by Eduard »

Poor Stockfish, a disaster.
mwyoung
Posts: 2727
Joined: Wed May 12, 2010 10:00 pm

Re: Crazy good LTC Kiudee "mod" setting just by adjusting CPuct

Post by mwyoung »

"The worst thing that can happen to a forum is a running wild attacking moderator(HGM) who is not corrected by the community." - Ed Schröder
But my words like silent raindrops fell. And echoed in the wells of silence.