(self, params: Params)
| 839 | self.gguf = gguf.GGUFWriter(fname_out, gguf.MODEL_ARCH_NAMES[arch], endianess=endianess) |
| 840 | |
| 841 | def add_meta_arch(self, params: Params) -> None: |
| 842 | name = "LLaMA" |
| 843 | |
| 844 | # TODO: better logic to determine model name |
| 845 | if params.n_ctx == 4096: |
| 846 | name = "LLaMA v2" |
| 847 | elif params.path_model is not None: |
| 848 | name = str(params.path_model).split('/')[-1] |
| 849 | |
| 850 | self.gguf.add_name (name) |
| 851 | self.gguf.add_context_length (params.n_ctx) |
| 852 | self.gguf.add_embedding_length (params.n_embd) |
| 853 | self.gguf.add_block_count (params.n_layer) |
| 854 | self.gguf.add_feed_forward_length (params.n_ff) |
| 855 | self.gguf.add_rope_dimension_count(params.n_embd // params.n_head) |
| 856 | self.gguf.add_head_count (params.n_head) |
| 857 | self.gguf.add_head_count_kv (params.n_head_kv) |
| 858 | self.gguf.add_layer_norm_rms_eps (params.f_norm_eps) |
| 859 | |
| 860 | if params.f_rope_freq_base is not None: |
| 861 | self.gguf.add_rope_freq_base(params.f_rope_freq_base) |
| 862 | |
| 863 | if params.rope_scaling_type: |
| 864 | assert params.f_rope_scale is not None |
| 865 | self.gguf.add_rope_scaling_type(params.rope_scaling_type) |
| 866 | self.gguf.add_rope_scaling_factor(params.f_rope_scale) |
| 867 | |
| 868 | if params.n_orig_ctx is not None: |
| 869 | self.gguf.add_rope_scaling_orig_ctx_len(params.n_orig_ctx) |
| 870 | |
| 871 | if params.rope_finetuned is not None: |
| 872 | self.gguf.add_rope_scaling_finetuned(params.rope_finetuned) |
| 873 | |
| 874 | if params.ftype is not None: |
| 875 | self.gguf.add_file_type(params.ftype) |
| 876 | |
| 877 | if params.predictor_params.sparse_threshold is not None: |
| 878 | self.gguf.add_sparse_threshold(params.predictor_params.sparse_threshold) |
| 879 | |
| 880 | def add_meta_vocab(self, vocab: Vocab) -> None: |
| 881 | tokens = [] |
no test coverage detected