-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
ggml : improve CI + add more tests #295
Comments
I'd be interested in helping with the 'add more tests' part of this because of some unanswered question. But I believe it would be reasonable to have some directions here. Obvious question: do we have some means to get test coverage yet? |
I guess we can focus on CPU-only testing for now. The most straightforward approach is to have a unit test for each function in the Regarding GPU tests - when the cloud CI framework is ready, we will simply run "integration" tests in the cloud. For example, the CI can obtain certain model data and run text generation and perplexity calculations using different GPUs. Whatever is available for rent. We can figure out the details for this later. Test coverage would be nice - I've used |
@ggerganov : My tries to get
The report is based on the merged profile data of all currently active tests, run by |
Yes, this looks even better. Let's give it a try |
Hi @ggerganov, |
Thank you very much! I'm currently looking at the PR - sorry for the delay In the meantime, I've made progress on the Azure Cloud CI idea and hacked a simple framework using Bash + Git: https://github.com/ggml-org/ci Currently, I am able to very easily attach new nodes from the cloud and have them run various tests. The tests are implemented in the The If this strategy turns out to be effective, I will probably scale it up and add GPU and bare-metal nodes. |
Looks good! |
Add Metal CI to |
@ggerganov , I've recently finished an Azure Arctitecture/Devops contract... got familiar with CI/CD on Azure, Azure Infrastructure-as-code (IaC), different Azure Services etc. Re-reading this Roadmap item... seems the solution may be Github Action starts a CI process on Azure; A yaml settings file + GitHub Secrets to manage the config. The CI could be run on the forked Repo.. using the GitHub Secrets, hence Azure Credentials, of the fork GitHub Account Do you still have a large Azure allocation? |
The current state of the testing framework is pretty bad - we have a few simple test tools in tests, but these are not maintained properly and are quite rudimentary. Additionally, the Github Actions do not allow to run heavy workloads so it is difficult to run integration tests even on small models such as GPT-2. Not to mention that there is no GPU support
Ideally, it would be awesome to make a CI that can build the code on as much different hardware as possible and perform some performance and accuracy tests for various models. This will allow quicker iteration over new changes to the core library
I posted a discussion in
llama.cpp
on this topic - hopefully we gather some insight on how to make such CI in the cloud:ggerganov/llama.cpp#1985
Extra related issues:
TODOs:
llama.cpp
using the new macos-13 runners: METAL in CI #514The text was updated successfully, but these errors were encountered: