| 7184 | } |
| 7185 | |
| 7186 | void llama_model::print_info() const { |
| 7187 | const std::string rope_scaling_type = llama_rope_scaling_type_name(hparams.rope_scaling_type_train); |
| 7188 | |
| 7189 | auto print_f = [](const std::function<uint32_t(uint32_t)> & f, uint32_t n) { |
| 7190 | bool is_var = false; |
| 7191 | |
| 7192 | std::vector<uint32_t> v; |
| 7193 | for (uint32_t i = 0; i < n; ++i) { |
| 7194 | v.push_back(f(i)); |
| 7195 | if (v[i] != v[0]) { |
| 7196 | is_var = true; |
| 7197 | } |
| 7198 | } |
| 7199 | |
| 7200 | std::stringstream ss; |
| 7201 | |
| 7202 | if (is_var) { |
| 7203 | ss << "["; |
| 7204 | for (uint32_t i = 0; i < n; ++i) { |
| 7205 | ss << v[i]; |
| 7206 | if (i < n - 1) { |
| 7207 | ss << ", "; |
| 7208 | } |
| 7209 | } |
| 7210 | ss << "]"; |
| 7211 | } else { |
| 7212 | ss << v[0]; |
| 7213 | } |
| 7214 | |
| 7215 | return ss.str(); |
| 7216 | }; |
| 7217 | |
| 7218 | // hparams |
| 7219 | LLAMA_LOG_INFO("%s: arch = %s\n", __func__, arch_name().c_str()); |
| 7220 | LLAMA_LOG_INFO("%s: vocab_only = %d\n", __func__, hparams.vocab_only); |
| 7221 | LLAMA_LOG_INFO("%s: no_alloc = %d\n", __func__, hparams.no_alloc); |
| 7222 | |
| 7223 | if (!hparams.vocab_only) { |
| 7224 | LLAMA_LOG_INFO("%s: n_ctx_train = %u\n", __func__, hparams.n_ctx_train); |
| 7225 | LLAMA_LOG_INFO("%s: n_embd = %u\n", __func__, hparams.n_embd); |
| 7226 | LLAMA_LOG_INFO("%s: n_embd_inp = %u\n", __func__, hparams.n_embd_inp()); |
| 7227 | LLAMA_LOG_INFO("%s: n_layer = %u\n", __func__, hparams.n_layer); |
| 7228 | LLAMA_LOG_INFO("%s: n_head = %s\n", __func__, print_f([&](uint32_t il) { return hparams.n_head(il); }, hparams.n_layer).c_str()); |
| 7229 | LLAMA_LOG_INFO("%s: n_head_kv = %s\n", __func__, print_f([&](uint32_t il) { return hparams.n_head_kv(il); }, hparams.n_layer).c_str()); |
| 7230 | LLAMA_LOG_INFO("%s: n_rot = %u\n", __func__, hparams.n_rot); |
| 7231 | LLAMA_LOG_INFO("%s: n_swa = %u\n", __func__, hparams.n_swa); |
| 7232 | LLAMA_LOG_INFO("%s: is_swa_any = %u\n", __func__, hparams.is_swa_any()); |
| 7233 | LLAMA_LOG_INFO("%s: n_embd_head_k = %u\n", __func__, hparams.n_embd_head_k); |
| 7234 | LLAMA_LOG_INFO("%s: n_embd_head_v = %u\n", __func__, hparams.n_embd_head_v); |
| 7235 | LLAMA_LOG_INFO("%s: n_gqa = %s\n", __func__, print_f([&](uint32_t il) { return hparams.n_gqa(il); }, hparams.n_layer).c_str()); |
| 7236 | LLAMA_LOG_INFO("%s: n_embd_k_gqa = %s\n", __func__, print_f([&](uint32_t il) { return hparams.n_embd_k_gqa(il); }, hparams.n_layer).c_str()); |
| 7237 | LLAMA_LOG_INFO("%s: n_embd_v_gqa = %s\n", __func__, print_f([&](uint32_t il) { return hparams.n_embd_v_gqa(il); }, hparams.n_layer).c_str()); |
| 7238 | LLAMA_LOG_INFO("%s: f_norm_eps = %.1e\n", __func__, hparams.f_norm_eps); |
| 7239 | LLAMA_LOG_INFO("%s: f_norm_rms_eps = %.1e\n", __func__, hparams.f_norm_rms_eps); |
| 7240 | LLAMA_LOG_INFO("%s: f_clamp_kqv = %.1e\n", __func__, hparams.f_clamp_kqv); |
| 7241 | LLAMA_LOG_INFO("%s: f_max_alibi_bias = %.1e\n", __func__, hparams.f_max_alibi_bias); |
| 7242 | LLAMA_LOG_INFO("%s: f_logit_scale = %.1e\n", __func__, hparams.f_logit_scale); |
| 7243 | LLAMA_LOG_INFO("%s: f_attn_scale = %.1e\n", __func__, hparams.f_attention_scale); |
no test coverage detected