Use verified GLM-5.2 tokenizer from ModelScope
This commit is contained in:
@@ -31,10 +31,10 @@
|
||||
为了兼容 GLM-5.2 生态,本模型的 tokenizer/vocab 直接采用 GLM-5.2 同款词表,而不是旧 Laoyao 65K BPE。当前 g0033 上的引用路径是:
|
||||
|
||||
```bash
|
||||
/mnt/tmp/yi/data/tokenizer/tokenizer.json
|
||||
/mnt/beegfs/yi/laoyao_2b_moe/tokenizer/glm5.2/tokenizer.json
|
||||
```
|
||||
|
||||
该 tokenizer 当前解析出的 vocab size 为 151,643。后续训练数据应按这个 tokenizer 重新统计/切分 token budget。
|
||||
该 tokenizer 从 ModelScope zai-org/GLM-5.2 下载,当前解析出的 vocab size 为 154,820,tokenizer.json sha256 为 19e773648cb4e65de8660ea6365e10acca112d42a854923df93db4a6f333a82d。后续训练数据应按这个 tokenizer 重新统计/切分 token budget。
|
||||
|
||||
## g0033 路径约定
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
- experts: 12
|
||||
- active experts/top-k: 4
|
||||
- expert FFN hidden size 6144
|
||||
- tokenizer: GLM-5.2 同款 tokenizer/vocab,当前 g0033 引用路径 `/mnt/tmp/yi/data/tokenizer/tokenizer.json`,vocab size 151,643
|
||||
- tokenizer: GLM-5.2 同款 tokenizer/vocab,当前 g0033 引用路径 `/mnt/beegfs/yi/laoyao_2b_moe/tokenizer/glm5.2/tokenizer.json`,vocab size 154,820
|
||||
|
||||
关键改动是强制专家负载均衡:router aux loss、z-loss、capacity factor 和 router bias update 都必须显式配置,避免旧实验中专家负载失衡。
|
||||
|
||||
|
||||
@@ -6,4 +6,4 @@
|
||||
|
||||
## Tokenizer
|
||||
|
||||
配置中的 tokenizer 目标是 GLM-5.2 同款 vocab。当前配置写死 g0033 上 `/mnt/tmp/yi/data/tokenizer/tokenizer.json`,vocab size 151,643。NeMo/Megatron launcher 接线时,需要确保 embedding size、output projection 和 tokenizer loader 都使用这一份 vocab。
|
||||
配置中的 tokenizer 目标是 GLM-5.2 同款 vocab。当前配置写死 g0033 repo 内 `/mnt/beegfs/yi/laoyao_2b_moe/tokenizer/glm5.2/tokenizer.json`,vocab size 154,820,sha256 `19e773648cb4e65de8660ea6365e10acca112d42a854923df93db4a6f333a82d`。NeMo/Megatron launcher 接线时,需要确保 embedding size、output projection 和 tokenizer loader 都使用这一份 vocab。
|
||||
|
||||
@@ -5,9 +5,9 @@ model:
|
||||
tokenizer:
|
||||
library: huggingface_tokenizers
|
||||
compatibility_target: GLM-5.2
|
||||
path: /mnt/tmp/yi/data/tokenizer/tokenizer.json
|
||||
vocab_size: 151643
|
||||
design_note: use the same tokenizer JSON and token-id vocabulary as GLM-5.2 for serving/SFT compatibility
|
||||
path: /mnt/beegfs/yi/laoyao_2b_moe/tokenizer/glm5.2/tokenizer.json
|
||||
vocab_size: 154820
|
||||
design_note: use ModelScope zai-org/GLM-5.2 tokenizer.json, sha256 19e773648cb4e65de8660ea6365e10acca112d42a854923df93db4a6f333a82d, for serving/SFT compatibility
|
||||
|
||||
# Derived from laoyaomodel preset: 2b-moe-active0.9b-balanced.
|
||||
num_layers: 12
|
||||
|
||||
25
tokenizer/README.md
Normal file
25
tokenizer/README.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Tokenizer
|
||||
|
||||
本目录保存模型训练要使用的 tokenizer 文件。
|
||||
|
||||
当前设计要求与 GLM-5.2 完全兼容,因此使用 ModelScope 官方仓库 zai-org/GLM-5.2 的 tokenizer 文件。
|
||||
|
||||
文件:
|
||||
|
||||
```text
|
||||
glm5.2/tokenizer.json
|
||||
glm5.2/tokenizer_config.json
|
||||
glm5.2/config.json
|
||||
glm5.2/generation_config.json
|
||||
```
|
||||
|
||||
核验结果:
|
||||
|
||||
```text
|
||||
tokenizer.json sha256: 19e773648cb4e65de8660ea6365e10acca112d42a854923df93db4a6f333a82d
|
||||
vocab_size: 154820
|
||||
config.model_type: glm_moe_dsa
|
||||
source: https://modelscope.ai/models/zai-org/GLM-5.2/files
|
||||
```
|
||||
|
||||
不要再使用旧 Laoyao 65K BPE tokenizer,也不要使用未验证来源的本机 tokenizer 缓存。
|
||||
223
tokenizer/glm5.2/config.json
Normal file
223
tokenizer/glm5.2/config.json
Normal file
@@ -0,0 +1,223 @@
|
||||
{
|
||||
"architectures": [
|
||||
"GlmMoeDsaForCausalLM"
|
||||
],
|
||||
"attention_bias": false,
|
||||
"attention_dropout": 0.0,
|
||||
"dtype": "bfloat16",
|
||||
"eos_token_id": [
|
||||
154820,
|
||||
154827,
|
||||
154829
|
||||
],
|
||||
"ep_size": 1,
|
||||
"first_k_dense_replace": 3,
|
||||
"head_dim": 192,
|
||||
"hidden_act": "silu",
|
||||
"hidden_size": 6144,
|
||||
"index_head_dim": 128,
|
||||
"index_n_heads": 32,
|
||||
"index_share_for_mtp_iteration": true,
|
||||
"index_skip_topk_offset": 3,
|
||||
"index_topk": 2048,
|
||||
"index_topk_freq": 4,
|
||||
"index_topk_pattern": null,
|
||||
"indexer_rope_interleave": true,
|
||||
"indexer_types": [
|
||||
"full",
|
||||
"full",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared",
|
||||
"full",
|
||||
"shared",
|
||||
"shared",
|
||||
"shared"
|
||||
],
|
||||
"initializer_range": 0.02,
|
||||
"intermediate_size": 12288,
|
||||
"kv_lora_rank": 512,
|
||||
"max_position_embeddings": 1048576,
|
||||
"mlp_layer_types": [
|
||||
"dense",
|
||||
"dense",
|
||||
"dense",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse",
|
||||
"sparse"
|
||||
],
|
||||
"model_type": "glm_moe_dsa",
|
||||
"moe_intermediate_size": 2048,
|
||||
"moe_layer_freq": 1,
|
||||
"n_group": 1,
|
||||
"n_routed_experts": 256,
|
||||
"n_shared_experts": 1,
|
||||
"norm_topk_prob": true,
|
||||
"num_attention_heads": 64,
|
||||
"num_experts_per_tok": 8,
|
||||
"num_hidden_layers": 78,
|
||||
"num_key_value_heads": 64,
|
||||
"num_nextn_predict_layers": 1,
|
||||
"pad_token_id": 154820,
|
||||
"pretraining_tp": 1,
|
||||
"q_lora_rank": 2048,
|
||||
"qk_head_dim": 256,
|
||||
"qk_nope_head_dim": 192,
|
||||
"qk_rope_head_dim": 64,
|
||||
"rms_norm_eps": 1e-05,
|
||||
"rope_interleave": true,
|
||||
"rope_parameters": {
|
||||
"rope_theta": 8000000,
|
||||
"rope_type": "default"
|
||||
},
|
||||
"routed_scaling_factor": 2.5,
|
||||
"scoring_func": "sigmoid",
|
||||
"tie_word_embeddings": false,
|
||||
"topk_group": 1,
|
||||
"topk_method": "noaux_tc",
|
||||
"transformers_version": "5.12.0",
|
||||
"use_cache": true,
|
||||
"v_head_dim": 256,
|
||||
"vocab_size": 154880
|
||||
}
|
||||
12
tokenizer/glm5.2/generation_config.json
Normal file
12
tokenizer/glm5.2/generation_config.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"_from_model_config": true,
|
||||
"eos_token_id": [
|
||||
154820,
|
||||
154827,
|
||||
154829
|
||||
],
|
||||
"pad_token_id": 154820,
|
||||
"temperature": 1.0,
|
||||
"top_p": 0.95,
|
||||
"transformers_version": "5.12.0"
|
||||
}
|
||||
1441793
tokenizer/glm5.2/tokenizer.json
Normal file
1441793
tokenizer/glm5.2/tokenizer.json
Normal file
File diff suppressed because it is too large
Load Diff
33
tokenizer/glm5.2/tokenizer_config.json
Normal file
33
tokenizer/glm5.2/tokenizer_config.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"backend": "tokenizers",
|
||||
"clean_up_tokenization_spaces": false,
|
||||
"do_lower_case": false,
|
||||
"eos_token": "<|endoftext|>",
|
||||
"extra_special_tokens": [
|
||||
"<|endoftext|>",
|
||||
"[MASK]",
|
||||
"[gMASK]",
|
||||
"[sMASK]",
|
||||
"<sop>",
|
||||
"<eop>",
|
||||
"<|system|>",
|
||||
"<|user|>",
|
||||
"<|assistant|>",
|
||||
"<|observation|>",
|
||||
"<|begin_of_image|>",
|
||||
"<|end_of_image|>",
|
||||
"<|begin_of_video|>",
|
||||
"<|end_of_video|>",
|
||||
"<|begin_of_audio|>",
|
||||
"<|end_of_audio|>",
|
||||
"<|begin_of_transcription|>",
|
||||
"<|end_of_transcription|>"
|
||||
],
|
||||
"is_local": true,
|
||||
"model_max_length": 1048576,
|
||||
"model_specific_special_tokens": {},
|
||||
"pad_token": "<|endoftext|>",
|
||||
"padding_side": "left",
|
||||
"remove_space": false,
|
||||
"tokenizer_class": "TokenizersBackend"
|
||||
}
|
||||
Reference in New Issue
Block a user