Skip to content
This repository has been archived by the owner on Jun 24, 2024. It is now read-only.

Write basic automated tests that can be run locally #319

Closed
philpax opened this issue Jun 18, 2023 · 1 comment
Closed

Write basic automated tests that can be run locally #319

philpax opened this issue Jun 18, 2023 · 1 comment
Labels
issue:enhancement New feature or request meta:maintenance Changes that will make it easier for us to maintain code
Milestone

Comments

@philpax
Copy link
Collaborator

philpax commented Jun 18, 2023

This hasn't been done because ideally we'd run them in CI, but there are various practical concerns with that (model sizes, legality). That being said, we shouldn't let perfect be the enemy of good. I was going to implement this as part of #274 and/or #280, but went on holiday before I could start.

This should be another application in the repository, say llm-test, that is not published and not built for public consumption. Instead, it should be a tool that runs via Cargo and panics if there's an error:

cargo run --release --bin llm-test

The tests should include:

  • The use of known models with known hashes, and mentioning where they can be obtained without directly linking to them in the event of legal concerns
  • Inferencing against all supported model architectures using deterministic sampling
    • Given the same model, computer, input tokens, and sampling strategy, you should always get the same output. We should codify this.
  • Context clone may not actually preserve the memory #274
  • Various Rust constraints/functionalities, like sharing models between threads or being able to clone models
  • Testing alternate backends for output consistency (CUDA, Support WebGPU acceleration? #312, etc)
  • Maaaaybe performance regression testing, but that's complicated/flaky/unreliable/not really in our hands

Open to additional suggestions!

@philpax philpax added issue:enhancement New feature or request meta:maintenance Changes that will make it easier for us to maintain code labels Jun 18, 2023
@LLukas22
Copy link
Contributor

I think with Open-LLama we now have freely available models for each architecture. And having something like an automated test suite would be nice to ensure all architectures are still working when we perform some architectural changes.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
issue:enhancement New feature or request meta:maintenance Changes that will make it easier for us to maintain code
Projects
None yet
Development

No branches or pull requests

2 participants