add readme

This commit is contained in:
ngxson 2024-06-11 19:35:17 +02:00
parent 04c91d29ff
commit 5ffba9ecc3
2 changed files with 44 additions and 16 deletions

View file

@ -0,0 +1,26 @@
# control-vector-generator
This example demonstrates how to generate a control vector using gguf models.
Related PRs:
- [Add support for control vectors](https://github.com/ggerganov/llama.cpp/pull/5970)
- (Issue) [Generate control vector using llama.cpp](https://github.com/ggerganov/llama.cpp/issues/6880)
- [Add control-vector-generator](https://github.com/ggerganov/llama.cpp/pull/7514)
Example:
```sh
# CPU only
./control-vector-generator -m ./dolphin-2.0-mistral-7b.Q4_K_M.gguf
# With GPU
./control-vector-generator --num-completions 2 --pca-iter 40 -m ./dolphin-2.0-mistral-7b.Q4_K_M.gguf -ngl 99
# With advanced options
# Please note that the ORDER of arguments does matter
# example-related options (i.e., --num-completions, --pca-iter) always come before model options (i.e., -m, -ngl)
./control-vector-generator --num-completions 128 --pca-iter 2000 --batch-pca 100 -m ./dolphin-2.0-mistral-7b.Q4_K_M.gguf -ngl 99
# To see help message
./control-vector-generator -h
```

View file

@ -301,24 +301,26 @@ static void print_usage(const char * executable) {
printf("Creates a GGUF control vector for a given model.");
printf("\n");
printf("options:\n");
printf(" -h, --help show this help message and exit\n");
printf(" -o, --outfile output file\n");
printf(" default: %s\n", defaults.outfile.c_str());
printf(" -pf, --positive-file positive prompts file, one prompt per line\n");
printf(" default: %s\n", defaults.positive_prompts_file.c_str());
printf(" -nf, --negative-file negative prompts file, one prompt per line\n");
printf(" default: %s\n", defaults.negative_prompts_file.c_str());
printf(" -cf, --completions-file completions file\n");
printf(" default: %s\n", defaults.completions_file.c_str());
printf(" -nc, --num-completions N number of lines of completions file to use\n");
printf(" default: %d\n", defaults.n_completions);
printf(" --batch-pca N batch size used for PCA. Larger batch runs faster, but uses more memory\n");
printf(" default: %d\n", defaults.n_pca_batch);
printf(" --iter-pca N number of iterations used for PCA\n");
printf(" default: %d\n", defaults.n_pca_iterations);
printf(" -h, --help show this help message and exit\n");
printf(" -o, --outfile FNAME output file\n");
printf(" default: %s\n", defaults.outfile.c_str());
printf(" -pf, --positive-file FNAME positive prompts file, one prompt per line\n");
printf(" default: %s\n", defaults.positive_prompts_file.c_str());
printf(" -nf, --negative-file FNAME negative prompts file, one prompt per line\n");
printf(" default: %s\n", defaults.negative_prompts_file.c_str());
printf(" -cf, --completions-file completions file\n");
printf(" default: %s\n", defaults.completions_file.c_str());
printf(" -nc, --num-completions N number of lines of completions file to use\n");
printf(" default: %d\n", defaults.n_completions);
printf(" --batch-pca N batch size used for PCA. Larger batch runs faster, but uses more memory\n");
printf(" default: %d\n", defaults.n_pca_batch);
printf(" --iter-pca N number of iterations used for PCA\n");
printf(" default: %d\n", defaults.n_pca_iterations);
printf("\n");
printf("gpt-opts:\n");
printf(" other options from main\n");
printf(" -m, --model FNAME path to model file\n");
printf(" -ngl, --gpu-layers N number of layers to offload to GPU\n");
printf(" ...other options from main\n");
printf("\n");
}