From b22c8459ffce33d20772cb3f9aec5a3d98de65fc Mon Sep 17 00:00:00 2001 From: ngxson Date: Wed, 12 Jun 2024 16:08:27 +0200 Subject: [PATCH] clean up a bit --- common/common.cpp | 14 +++++++------- .../control-vector-generator.cpp | 14 ++++---------- examples/control-vector-generator/pca.hpp | 10 ---------- 3 files changed, 11 insertions(+), 27 deletions(-) diff --git a/common/common.cpp b/common/common.cpp index 7dfd55dc0..a7ef4565c 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1982,13 +1982,13 @@ void gpt_params_print_usage(int /*argc*/, char ** argv, const gpt_params & param #endif // LOG_DISABLE_LOGS options.push_back({ "control-vector-generator" }); - options.push_back({ "control-vector-generator", "-o, --output FNAME", "output file (default: '%s')", params.cvector_outfile.c_str() }); - options.push_back({ "control-vector-generator", "--positive-file FNAME", "positive prompts file, one prompt per line (default: '%s')", params.cvector_positive_file.c_str() }); - options.push_back({ "control-vector-generator", "--negative-file FNAME", "negative prompts file, one prompt per line (default: '%s')", params.cvector_negative_file.c_str() }); - options.push_back({ "control-vector-generator", "--completions-file", "completions file (default: '%s')", params.cvector_completions_file.c_str() }); - options.push_back({ "control-vector-generator", "--num-completions N", "number of lines of completions file to use (default: %d)", params.n_completions }); - options.push_back({ "control-vector-generator", "--batch-pca N", "batch size used for PCA. Larger batch runs faster, but uses more memory (default: %d)", params.n_pca_batch }); - options.push_back({ "control-vector-generator", "--iter-pca N", "number of iterations used for PCA (default: %d)", params.n_pca_iterations }); + options.push_back({ "control-vector-generator", "-o, --output FNAME", "output file (default: '%s')", params.cvector_outfile.c_str() }); + options.push_back({ "control-vector-generator", "--positive-file FNAME", "positive prompts file, one prompt per line (default: '%s')", params.cvector_positive_file.c_str() }); + options.push_back({ "control-vector-generator", "--negative-file FNAME", "negative prompts file, one prompt per line (default: '%s')", params.cvector_negative_file.c_str() }); + options.push_back({ "control-vector-generator", "--completions-file FNAME","completions file (default: '%s')", params.cvector_completions_file.c_str() }); + options.push_back({ "control-vector-generator", "--num-completions N", "number of lines of completions file to use (default: %d)", params.n_completions }); + options.push_back({ "control-vector-generator", "--batch-pca N", "batch size used for PCA. Larger batch runs faster, but uses more memory (default: %d)", params.n_pca_batch }); + options.push_back({ "control-vector-generator", "--iter-pca N", "number of iterations used for PCA (default: %d)", params.n_pca_iterations }); printf("usage: %s [options]\n", argv[0]); diff --git a/examples/control-vector-generator/control-vector-generator.cpp b/examples/control-vector-generator/control-vector-generator.cpp index 920b542f1..96a0e7958 100644 --- a/examples/control-vector-generator/control-vector-generator.cpp +++ b/examples/control-vector-generator/control-vector-generator.cpp @@ -213,6 +213,7 @@ struct train_context { } // build the v_diff tensors from v_diff_tmp (v_diff need to be transposed) + // TODO @ngxson : maybe add option NOT to transpose v_diff; will be useful for "mean" method void build_v_diff() { printf("build_v_diff\n"); for (int il = 0; il < n_layers - 1; il++) { @@ -228,7 +229,6 @@ struct train_context { for (int ir = 0; ir < n_rows; ++ir) { for (int ic = 0; ic < n_embd; ++ic) { float f = arr[ir*n_embd + ic]; - //std::cout << ir << "," << ic << " = " << f << "\n"; ggml_set_f32_nd(diff, ir, ic, 0, 0, f); } } @@ -341,12 +341,9 @@ static void export_gguf(const std::vector & v_ctrl, const printf("Added tensor: %s\n", v_ctrl[i]->name); } - printf("Writing file...\n"); - + printf("%s: writing file...\n", __func__); gguf_write_to_file(ctx, fname.c_str(), false); - printf("%s: wrote file '%s'\n", __func__, fname.c_str()); - gguf_free(ctx); } @@ -370,11 +367,8 @@ static int prepare_entries(gpt_params & params, train_context & ctx_train) { // create templated prompts std::vector completions = ctrlvec_load_prompt_file(params.cvector_completions_file, false); auto format_template = [](std::string persona, std::string suffix) { - //const std::string user_tag = "[INST]"; - //const std::string asst_tag = "[/INST]"; - //return user_tag + " Act as if you're extremely " + persona + ". " + asst_tag + " " + suffix; - // TODO make this dynamic - allow the user to change it somehow - and adapt based on model - return persona + " " + suffix; // entry in positive/negative.txt must already be formatted i.e. "[INST] Act as if you're extremely happy. [/INST]" + // entry in positive/negative.txt must already be formatted i.e. "[INST] Act as if you're extremely happy. [/INST]" + return persona + " " + suffix; }; for (size_t i = 0; i < positive_prompts.size(); ++i) { for (int j = 0; j < std::min((int) completions.size(), params.n_completions); ++j) { diff --git a/examples/control-vector-generator/pca.hpp b/examples/control-vector-generator/pca.hpp index 6bc68185a..903f6cc7c 100644 --- a/examples/control-vector-generator/pca.hpp +++ b/examples/control-vector-generator/pca.hpp @@ -123,15 +123,6 @@ struct pca_model { } ggml_backend_tensor_set(dev_eigenvector, random_vec.data(), 0, ggml_nbytes(dev_eigenvector)); } - - // init host context - //struct ggml_init_params host_params = { - // /*.mem_size =*/ (n_embd * sizeof(float) + ggml_tensor_overhead()) * 2u, - // /*.mem_buffer =*/ NULL, - // /*.no_alloc =*/ false, - //}; - //ctx_host = ggml_init(host_params); - //host_eigenvector = ggml_new_tensor_1d(ctx_host, GGML_TYPE_F32, n_embd); } ~pca_model() { @@ -322,7 +313,6 @@ static void run_pca( params.n_layers = v_input.size(); power_iteration(params, v_input[il], ctrl_out); printf("%s: Done layer %d / %d\n", __func__, (int) il+1, (int) v_input.size()); - //print_debug_tensor(ctrl_out); } }