KataGo icon indicating copy to clipboard operation
KataGo copied to clipboard

Training of human-like models

Open BigBoxxx opened this issue 1 year ago • 8 comments
trafficstars

I believe it's possible to train models with different playing styles by using game records from human players with various styles. Can this human-model training also be implemented using train.py?

BigBoxxx avatar Aug 08 '24 08:08 BigBoxxx

Maybe. If you could find a way to reliably categorize the styles of different players across tens of thousands of games, then you could add some parameters to the human sgf metadata encoder to label the style and train it. But to start off, you would have to find a way to categorize styles for the games without having a model trained to do it, because you wouldn't have a model yet.

lightvector avatar Aug 08 '24 12:08 lightvector

define "human-like"

mooy8899 avatar Aug 09 '24 02:08 mooy8899

@lightvector Thank you for your answer. We are trying to move in this direction.

Another question is, can we use your b18c384nbt-humanv0.bin.gz model and fine-tune it with some specific human game data? This would be to adapt it to specific player styles or differences in rating definitions across various regions.

BigBoxxx avatar Aug 09 '24 04:08 BigBoxxx

It would also be great to make smaller models, for example b10 human style

jopdorp avatar Aug 13 '24 17:08 jopdorp

@jopdorp Good idea~ so which part of the documentation can I refer to in order to implement the training process?🙏

BigBoxxx avatar Aug 15 '24 06:08 BigBoxxx

@BigBoxxx I think thre are two general approaches here, that is to train a new supervised model from scratch, similar to how @lightvector trained the 18b humansl model, or :

You could take the 18b human sl model, input randomly generated data into it, and the 10b model to be trained, then update the parameters of the 10b model to get closer to the same outputs as the 18b model, this way you would not need any data, and you can get closer to the capabilities of the 18b model.

As a side note, this second approach could also be applied to make more powerful 10b and 20b normal models (non humansl)

jopdorp avatar Aug 23 '24 12:08 jopdorp

@jopdorp Thanks jopdorp, what documents can I refer to for training a new supervised model from scratch, similar to the 18b humansl model?

BigBoxxx avatar Aug 28 '24 08:08 BigBoxxx

@BigBoxxx I think there is just the source code in the python directory

jopdorp avatar Aug 28 '24 13:08 jopdorp