| 2701 | } |
| 2702 | |
| 2703 | static void llm_load_print_meta(llama_model_loader & ml, llama_model & model) { |
| 2704 | const auto & hparams = model.hparams; |
| 2705 | const auto & vocab = model.vocab; |
| 2706 | |
| 2707 | const auto rope_scaling_type = LLAMA_ROPE_SCALING_TYPES.at(hparams.rope_scaling_type_train); |
| 2708 | |
| 2709 | // hparams |
| 2710 | LLAMA_LOG_INFO("%s: format = %s\n", __func__, llama_file_version_name(ml.fver)); |
| 2711 | LLAMA_LOG_INFO("%s: arch = %s\n", __func__, LLM_ARCH_NAMES.at(model.arch).c_str()); |
| 2712 | LLAMA_LOG_INFO("%s: vocab type = %s\n", __func__, vocab.type == LLAMA_VOCAB_TYPE_SPM ? "SPM" : "BPE"); // TODO: fix |
| 2713 | LLAMA_LOG_INFO("%s: n_vocab = %u\n", __func__, hparams.n_vocab); |
| 2714 | LLAMA_LOG_INFO("%s: n_merges = %u\n", __func__, (int) vocab.bpe_ranks.size()); |
| 2715 | LLAMA_LOG_INFO("%s: n_ctx_train = %u\n", __func__, hparams.n_ctx_train); |
| 2716 | LLAMA_LOG_INFO("%s: n_embd = %u\n", __func__, hparams.n_embd); |
| 2717 | LLAMA_LOG_INFO("%s: n_head = %u\n", __func__, hparams.n_head); |
| 2718 | LLAMA_LOG_INFO("%s: n_head_kv = %u\n", __func__, hparams.n_head_kv); |
| 2719 | LLAMA_LOG_INFO("%s: n_layer = %u\n", __func__, hparams.n_layer); |
| 2720 | LLAMA_LOG_INFO("%s: n_rot = %u\n", __func__, hparams.n_rot); // a.k.a. n_embd_head, n_head_dim |
| 2721 | LLAMA_LOG_INFO("%s: n_gqa = %u\n", __func__, hparams.n_gqa()); |
| 2722 | LLAMA_LOG_INFO("%s: f_norm_eps = %.1e\n", __func__, hparams.f_norm_eps); |
| 2723 | LLAMA_LOG_INFO("%s: f_norm_rms_eps = %.1e\n", __func__, hparams.f_norm_rms_eps); |
| 2724 | LLAMA_LOG_INFO("%s: f_clamp_kqv = %.1e\n", __func__, hparams.f_clamp_kqv); |
| 2725 | LLAMA_LOG_INFO("%s: f_max_alibi_bias = %.1e\n", __func__, hparams.f_max_alibi_bias); |
| 2726 | LLAMA_LOG_INFO("%s: n_ff = %u\n", __func__, hparams.n_ff); |
| 2727 | LLAMA_LOG_INFO("%s: rope scaling = %s\n", __func__, rope_scaling_type.c_str()); |
| 2728 | LLAMA_LOG_INFO("%s: freq_base_train = %.1f\n", __func__, hparams.rope_freq_base_train); |
| 2729 | LLAMA_LOG_INFO("%s: freq_scale_train = %g\n", __func__, hparams.rope_freq_scale_train); |
| 2730 | LLAMA_LOG_INFO("%s: n_yarn_orig_ctx = %u\n", __func__, hparams.n_yarn_orig_ctx); |
| 2731 | LLAMA_LOG_INFO("%s: rope_finetuned = %s\n", __func__, hparams.rope_finetuned ? "yes" : "unknown"); |
| 2732 | LLAMA_LOG_INFO("%s: model type = %s\n", __func__, llama_model_type_name(model.type)); |
| 2733 | LLAMA_LOG_INFO("%s: model ftype = %s\n", __func__, llama_model_ftype_name(model.ftype).c_str()); |
| 2734 | LLAMA_LOG_INFO("%s: model params = %.2f B\n", __func__, ml.n_elements*1e-9); |
| 2735 | if (ml.n_bytes < GB) { |
| 2736 | LLAMA_LOG_INFO("%s: model size = %.2f MiB (%.2f BPW) \n", __func__, ml.n_bytes/1024.0/1024.0, ml.n_bytes*8.0/ml.n_elements); |
| 2737 | } else { |
| 2738 | LLAMA_LOG_INFO("%s: model size = %.2f GiB (%.2f BPW) \n", __func__, ml.n_bytes/1024.0/1024.0/1024.0, ml.n_bytes*8.0/ml.n_elements); |
| 2739 | } |
| 2740 | |
| 2741 | // general kv |
| 2742 | LLAMA_LOG_INFO("%s: general.name = %s\n", __func__, model.name.c_str()); |
| 2743 | |
| 2744 | // special tokens |
| 2745 | if (vocab.special_bos_id != -1) { LLAMA_LOG_INFO( "%s: BOS token = %d '%s'\n", __func__, vocab.special_bos_id, vocab.id_to_token[vocab.special_bos_id].text.c_str() ); } |
| 2746 | if (vocab.special_eos_id != -1) { LLAMA_LOG_INFO( "%s: EOS token = %d '%s'\n", __func__, vocab.special_eos_id, vocab.id_to_token[vocab.special_eos_id].text.c_str() ); } |
| 2747 | if (vocab.special_unk_id != -1) { LLAMA_LOG_INFO( "%s: UNK token = %d '%s'\n", __func__, vocab.special_unk_id, vocab.id_to_token[vocab.special_unk_id].text.c_str() ); } |
| 2748 | if (vocab.special_sep_id != -1) { LLAMA_LOG_INFO( "%s: SEP token = %d '%s'\n", __func__, vocab.special_sep_id, vocab.id_to_token[vocab.special_sep_id].text.c_str() ); } |
| 2749 | if (vocab.special_pad_id != -1) { LLAMA_LOG_INFO( "%s: PAD token = %d '%s'\n", __func__, vocab.special_pad_id, vocab.id_to_token[vocab.special_pad_id].text.c_str() ); } |
| 2750 | if (vocab.linefeed_id != -1) { LLAMA_LOG_INFO( "%s: LF token = %d '%s'\n", __func__, vocab.linefeed_id, vocab.id_to_token[vocab.linefeed_id].text.c_str() ); } |
| 2751 | |
| 2752 | // sparse inference |
| 2753 | LLAMA_LOG_INFO("%s: sparse_pred_threshold = %.2f\n", __func__, hparams.sparse_pred_threshold); |
| 2754 | } |
| 2755 | |
| 2756 | |
| 2757 | static int64_t sum_gpu_index(struct ggml_tensor * gpu_index) { |
no test coverage detected