From 5ffba9ecc366acee334d984e54591a6e83e63db7 Mon Sep 17 00:00:00 2001 From: ngxson Date: Tue, 11 Jun 2024 19:35:17 +0200 Subject: [PATCH] add readme --- examples/control-vector-generator/README.md | 26 ++++++++++++++ .../control-vector-generator.cpp | 34 ++++++++++--------- 2 files changed, 44 insertions(+), 16 deletions(-) create mode 100644 examples/control-vector-generator/README.md diff --git a/examples/control-vector-generator/README.md b/examples/control-vector-generator/README.md new file mode 100644 index 000000000..b06460778 --- /dev/null +++ b/examples/control-vector-generator/README.md @@ -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 +``` diff --git a/examples/control-vector-generator/control-vector-generator.cpp b/examples/control-vector-generator/control-vector-generator.cpp index 486ade1e1..69cde8f04 100644 --- a/examples/control-vector-generator/control-vector-generator.cpp +++ b/examples/control-vector-generator/control-vector-generator.cpp @@ -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"); }