MCPcopy Create free account
hub / github.com/Pints-AI/1.5-Pints / Params

Class Params

tokenizer/convert/convert.py:157–330  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

155
156@dataclass
157class Params:
158 n_vocab: int
159 n_embd: int
160 n_layer: int
161 n_ctx: int
162 n_ff: int
163 n_head: int
164 n_head_kv: int
165 n_experts: int | None = None
166 n_experts_used: int | None = None
167 f_norm_eps: float | None = None
168
169 rope_scaling_type: gguf.RopeScalingType | None = None
170 f_rope_freq_base: float | None = None
171 f_rope_scale: float | None = None
172 n_orig_ctx: int | None = None
173 rope_finetuned: bool | None = None
174
175 ftype: GGMLFileType | None = None
176
177 # path to the directory containing the model files
178 path_model: Path | None = None
179
180 @staticmethod
181 def guessed(model: LazyModel) -> Params:
182 # try transformer naming first
183 n_vocab, n_embd = model["model.embed_tokens.weight"].shape if "model.embed_tokens.weight" in model else model["tok_embeddings.weight"].shape
184
185 # try transformer naming first
186 if "model.layers.0.self_attn.q_proj.weight" in model:
187 n_layer = next(i for i in itertools.count() if f"model.layers.{i}.self_attn.q_proj.weight" not in model)
188 elif "model.layers.0.self_attn.W_pack.weight" in model: # next: try baichuan naming
189 n_layer = next(i for i in itertools.count() if f"model.layers.{i}.self_attn.W_pack.weight" not in model)
190 else:
191 n_layer = next(i for i in itertools.count() if f"layers.{i}.attention.wq.weight" not in model)
192
193 if n_layer < 1:
194 raise Exception("failed to guess 'n_layer'. This model is unknown or unsupported.\n"
195 "Suggestion: provide 'config.json' of the model in the same directory containing model files.")
196
197 n_head = n_embd // 128 # guessed
198 n_mult = 256 # guessed
199
200 # TODO: verify this
201 n_ff = int(2 * (4 * n_embd) / 3)
202 n_ff = n_mult * ((n_ff + n_mult - 1) // n_mult)
203
204 return Params(
205 n_vocab = n_vocab,
206 n_embd = n_embd,
207 n_layer = n_layer,
208 n_ctx = -1,
209 n_ff = n_ff,
210 n_head = n_head,
211 n_head_kv = n_head,
212 f_norm_eps = 1e-5,
213 )
214

Callers 3

guessedMethod · 0.85
loadHFTransformerJsonMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected