-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Tools: depth6 multipv2 filter option for preparing nn-335a9b2d8a80.nnue training data #4324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tools: depth6 multipv2 filter option for preparing nn-335a9b2d8a80.nnue training data #4324
Conversation
|
Thanks. Would it be feasible to regenerate the current best datasets with the score alteration way of removing the positions? If not then I could try doing it by comparing the filtered and unfiltered datasets, if available. Just a note, personally I'd like to name the filtering function less generically, for example by appending the hash of the first master network trained with the filtered data, this way we would have a connection established and it would be harder to make a mistake in the future. Not sure what others think. |
It would be difficult to exactly regenerate the best datasets with score alteration instead of position removal, since the current best datasets were generated imprecisely - it's a rough mix of filtered data pieces mixed together. It'd be easier to generate a different version of the best datasets with score alteration instead of removal. However, I'm guessing this would be slightly weaker than the best datasets, all else being equal, since maximizing binpack compression has a tradeoff - binpack fragment granularity would be at the per-training-game level vs. many fragments per training game with position removal. Score alteration improves compression at the cost of less randomness after shuffling. Needs some testing. It may also take a few weeks to regenerate.
Is the intent to document an exact way to filter the data for the first recent master network? If so, the difference between the exact filtering method used and this PR is:
|
The intent is to have versioning for filtering functions in a way that prevents misuse. |
|
The PR is still marked as draft. Are there plans to further develop it? |
Yea, we're close to finalizing how this should work. I'll get the PR into a reviewable state after some clarifications.
Makes sense, how about something like this?
|
|
Sounds good. |
…0.nnue Append hash of first master net trained with filter method Hardcode depth 6 and remove option to set depth Underscores for consistency Filter out standard startpos positions too
61b24c9 to
46d85de
Compare
|
Ready for review. I realized if more binpack shuffling randomness is desired, it's easy to remove positions with score VALUE_NONE after filtering. The computationally expensive part of filtering is during search. As such, I don't think there's a strong need for an I'll plan to re-filter the training data later to maintain binpack compression but it may take a while to complete. |
|
Looks good to me. |
This is a simplified variant of the depth6 multipv2 data filtering method used to prepare the Leela-dfrc_n5000.binpack part of the dataset that trained recent master nets (#4295, #4314, #4319). Uses multipv search heuristics to skip positions in binpacks during nnue training while maintaining binpack compression.
Example invocation:
Filters binpack data to skip all positions where: