Comments (10)
How much faster is it? I would think that it would be many, many years. Even if it's a good GPU, one GPU isn't much.
But if you merely want to get a network to human pro level or a bit beyond it rather than to match current bots, it's already the case that one RTX 30xx gaming GPU is probably enough to get there in several weeks to a few months, and of course proportionally less if you have more than one GPU. So with existing hardware it should already be practical for people to train from scratch to reach a very strong level, and to do some experiments of the kind you mention.
from katago.
from katago.
Thanks. I guess I don't know what you're doubtful about? Both of the things I've said sound like they're still true. 8x isn't very much to compete with a run that's gone for years with contributors who have collectively donated a lot more GPUs at a time than 8, so it should still take years if you do insist on catching up all the way to the current run. And even if an H100/H200 would be faster, it's also still true that a gaming GPU right now is enough to do meaningful experiments, as I just said it's already possible for existing users to train KataGo from scratch to top human strength in practical amounts of time, and getting to top human strength is a much easier target and is enough to still be able to research some meaningful things about training.
from katago.
Anyways, the GPU you mention sounds impressive and would certainly make doing experiments faster and easier. I tend to think of it all on a continuum - saying that it's "prohibitively expensive" to do research and then suddenly one new GPU release makes it suddenly not "prohibitively expensive" feels a bit too discrete. Rather, right now AlphaZero-like training is already possible for individuals to replicate in many different cases, even in the full game of Go, enough to do research already. But yes, each new improvement in hardware makes everything a bit faster.
from katago.
from katago.
Yes that was my paper. Are you only interested in getting to ELF's strength, or only to the relatively weak strength we reached in the paper? In your initial post, you didn't ask for that, you asked for:
how fast could you go from zero to the current ELO?
Which is what I said seems like it would take many many years, (aside: although if an H100 really is a 100x speedup over a V100 for practical uses and it's not just marketing claims from an overly ideal benchmark, then it would perhaps it would be something like many many months, rather than many many years).
That's why in every reply so far I've been continuing to emphasize that its's worth first considering more carefully your goal and what level is sufficient. ELF is vastly weaker than modern bots, far lower than "current ELO", so if you would be satisfied only to reach ELF's level, then of course it's cheaper. Remember, the stuff you've cited is way back from work done in 2018/2019. It's 2024 now, so of course the top bots have already gone way further.
Whether you draw the line at "just beyond top human level", or at "ELF's strength", or "current Elo", or even "100x beyond any level we've reached yet", is ultimately a little arbitrary in the sense that ALL of them are quite far enough into runs to meaningfully observe scaling trends and to do useful research. Each successive one is a little further along in scaling and marginally better for such research, but because strength is ultimately logarithmic in compute invested, each one costs exponentially more. If the kind of research you imagine could already be done at a weaker level rather than "current Elo", then you don't need an H100. Or you could use an H100 still, but do the research massively faster.
So because the gains are only incremental while the costs are exponential, it's extremely important to be clear about what level you wish to reach that would be sufficient for your research.
It's often the case that when hardware gets 1-2 orders of magnitude faster, software needs to be refactored or rewritten a little to take full advantage of it, and and KataGo's repo is no exception. If you're interested in doing the work and/or contributing improvements, you're welcome to look at https://github.com/lightvector/KataGo/blob/master/SelfplayTraining.md. The closest thing KataGo has to a single-script that runs everything is the "synchronous_loop.sh" script documented there, and with further documentation via inline comments and configuration: https://github.com/lightvector/KataGo/blob/master/python/selfplay/synchronous_loop.sh. The script by default is configured in a way that probably makes more sense for a casual user on a single RTX 20xx or 30xx, so one would probably need to test and adjust a lot of things, and probably switch to asynchronous training once comfortable with the greater complexity of setting that up, since asynchronous is more efficient.
from katago.
By the way, if you're serious about doing hundreds of runs to study the variety of play that results, let me know how I can support you or if you have specific questions I can answer. I think it would be a cool thing to study.
Note that we do have some data about how different runs already. In the past we've seen many different independent reproductions of AlphaZero-like training - such as ELF, Leela Zero, MiniGo, Sai, and KataGo. All of them ended up with relatively similar opening styles, and all of them ended up pretty similar overall in common tactics.
So I think we can already rule out the idea that they will be "wildly different in tactics and strategy but with some core similarities". Rather it's more likely they will be all extremely similar, but with subtler differences in some specific situations. But the differences could still contain a lot of interesting things to study! For example the various bots differed nontrivially in how fallible they were in specific complex sequences, such as "Miyting's flying dagger joseki". Additionally, KataGo has a ladder solver, but if you disabled it you could study ladder learning, which is a strange beginner-level tactic that AlphaZero bots find difficult to learn if you don't have a solver for it.. I recall ELF and Leela Zero ended up with relatively different on whether they tended to err in thinking ladders would work, or whether they tended to err the other way, and I don't think anyone knows why or whether those differences are random or reproducible.
from katago.
from katago.
hence my original question.
I don't know what your original question is, beyond "how fast could you go from zero to the current ELO?" and I've answered that. But your subsequent posts have indicated that you might have conflating "current ELO" with ELF's level, and so on. If all you care about is studying style differences, ELF's level, though vastly weaker than KataGo now, should be plenty. Regardless of H100 or no, it would be extremely wasteful of resources to replicate the entire current run repeatedly. As I mentioned before, I would guess that even barely-stronger-than-humans-level might already be an interesting point for studying style evolution and distribution, and barely-stronger-than-humans-level is already reachable on home consumer GPUs and if that were enough rather than ELF-level, it would be another large multiplicative factor cheaper and faster on top of whatever GPU you use.
from katago.
Anyways, if you're interested, go for it!
GPU strength is very likely non-blocking for bot-playing-style research, it's more a very-nice-to-have rather than something critical. Even if you lose a factor of 20 in GPU strength relative to what you wanted, that just means you perhaps train each run 7x less far, and do 3x fewer samples, and voila you've made up a factor of 20. And given that Go bots are already massively massively overshooting top human strength and are all so converged that they all arrive to very similar high-level opening preferences and tactics and agree with each other on most positions, and also due to the fact that strength gains are logarithmic (i.e. highly diminishing-returns) in compute anyways, a factor of 5x-10x on a run is probably okay to give up for this kind of purpose, even if it's very nice if you have it.
from katago.
Related Issues (20)
- Why does lc0 ship cuda dlls with engine but katago doesn't?
- Minor document questions
- Error checks for kata-raw-human-nn HOT 1
- How to set rules to "twisted cross and eating" for beginner HOT 2
- Throwback HOT 3
- Lack of ability HOT 3
- Katago cannot give a definitive answer for the best move. HOT 2
- Report an error HOT 3
- allowResignation affects humanSL strength?? HOT 4
- Loose ladder
- katago 1.15.1 build failure HOT 1
- Do you have a plan to create a GUI? HOT 4
- kata-analyze reports a non-human-like move for the preaz_20k human profile HOT 1
- Evaluate the value of moves HOT 2
- KataGo works with old libssl versions only HOT 2
- katago-v1.15.3-opencl-windows-x64 Server returned error 400: This version of KataGo is not enabled for distributed. HOT 2
- trt 15.3 causes system crashes
- Training of human-like models HOT 4
- The Homebrew version is still 1.14.1 HOT 4
- What are the difference between ancient-territory and stone-scoring rules? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from katago.