fix r random generation

This commit is contained in:
Minsoo Cheong 2024-02-29 13:27:29 +09:00
parent e4896e71b5
commit 6b35c8b3cf

View file

@ -41,13 +41,11 @@ int main(int argc, char ** argv) {
// probability threshold for splitting a draft branch (only for n_seq_dft > 1)
const float p_split = params.p_split;
std::mt19937 r_gen;
if (params.seed >= 0) {
r_gen = std::mt19937(params.seed);
} else {
r_gen = std::mt19937(time(NULL));
if (params.seed == LLAMA_DEFAULT_SEED) {
params.seed = time(NULL);
}
std::uniform_int_distribution<std::mt19937::result_type> u_dist(0, RAND_MAX);
std::default_random_engine rng(params.seed);
std::uniform_real_distribution<> u_dist;
#ifndef LOG_DISABLE_LOGS
log_set_target(log_filename_generator("speculative", "log"));
@ -237,7 +235,7 @@ int main(int argc, char ** argv) {
continue;
}
float r = u_dist(r_gen) / (float) RAND_MAX;
float r = u_dist(rng);
llama_token_data_array dist_dft = drafts[s].dist[i_dft];
// acquire the token probabilities assigned by the draft and target models
for (int i = 0; i < dist_tgt.size; i++) {