imatrix: be able to specify the name of the output tensor

For some models the same tensor is used for token embeddings and
output. This tensor tends to be named token_embedding.weight rather
than output.weight, which prevernts us from collecting imatrix data
for this tensor. With this commit we can tell the name of the
output tensor to the imatrix tool.
This commit is contained in:
Kawrakow
2024-06-26 17:38:18 +03:00
parent be36ca872f
commit aaec3c1f60
3 changed files with 11 additions and 1 deletions

View File

@@ -1599,6 +1599,14 @@ bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_pa
params.process_output = true;
return true;
}
if (arg == "--output-tensor-name") {
if (++i >= argc) {
invalid_param = true;
return true;
}
params.output_tensor_name = argv[i];
return true;
}
if (arg == "--no-ppl") {
params.compute_ppl = false;
return true;

View File

@@ -224,6 +224,7 @@ struct gpt_params {
// imatrix params
std::string out_file = "imatrix.dat"; // save the resulting imatrix to this file
std::string output_tensor_name = "output.weight"; // name of the output tensor
int32_t n_out_freq = 10; // output the imatrix every n_out_freq iterations
int32_t n_save_freq = 0; // save the imatrix every n_save_freq iterations