Update code for slim

This commit is contained in:
duzx16 2023-04-06 22:19:30 +08:00
parent 72985e820c
commit 63ce1bac4a
5 changed files with 17 additions and 11 deletions

View File

@ -8,9 +8,11 @@
"AutoModel": "modeling_chatglm.ChatGLMForConditionalGeneration", "AutoModel": "modeling_chatglm.ChatGLMForConditionalGeneration",
"AutoModelForSeq2SeqLM": "modeling_chatglm.ChatGLMForConditionalGeneration" "AutoModelForSeq2SeqLM": "modeling_chatglm.ChatGLMForConditionalGeneration"
}, },
"bos_token_id": 150004, "bos_token_id": 130004,
"eos_token_id": 150005, "eos_token_id": 130005,
"pad_token_id": 20003, "mask_token_id": 130000,
"gmask_token_id": 130001,
"pad_token_id": 3,
"hidden_size": 4096, "hidden_size": 4096,
"inner_hidden_size": 16384, "inner_hidden_size": 16384,
"layernorm_epsilon": 1e-05, "layernorm_epsilon": 1e-05,
@ -22,5 +24,5 @@
"torch_dtype": "float16", "torch_dtype": "float16",
"transformers_version": "4.23.1", "transformers_version": "4.23.1",
"use_cache": true, "use_cache": true,
"vocab_size": 150528 "vocab_size": 130528
} }

View File

@ -66,6 +66,8 @@ class ChatGLMConfig(PretrainedConfig):
use_cache=False, use_cache=False,
bos_token_id=150004, bos_token_id=150004,
eos_token_id=150005, eos_token_id=150005,
mask_token_id=150000,
gmask_token_id=150001,
pad_token_id=0, pad_token_id=0,
max_sequence_length=2048, max_sequence_length=2048,
inner_hidden_size=16384, inner_hidden_size=16384,
@ -86,6 +88,8 @@ class ChatGLMConfig(PretrainedConfig):
self.bos_token_id = bos_token_id self.bos_token_id = bos_token_id
self.eos_token_id = eos_token_id self.eos_token_id = eos_token_id
self.pad_token_id = pad_token_id self.pad_token_id = pad_token_id
self.mask_token_id = mask_token_id
self.gmask_token_id = gmask_token_id
self.position_encoding_2d = position_encoding_2d self.position_encoding_2d = position_encoding_2d
self.quantization_bit = quantization_bit self.quantization_bit = quantization_bit
self.pre_seq_len = pre_seq_len self.pre_seq_len = pre_seq_len

View File

@ -921,7 +921,7 @@ class ChatGLMModel(ChatGLMPreTrainedModel):
if position_ids is None: if position_ids is None:
MASK, gMASK = 150000, 150001 MASK, gMASK = self.config.mask_token_id, self.config.gmask_token_id
mask_token = MASK if MASK in input_ids else gMASK mask_token = MASK if MASK in input_ids else gMASK
use_gmask = False if MASK in input_ids else True use_gmask = False if MASK in input_ids else True
@ -1084,7 +1084,7 @@ class ChatGLMForConditionalGeneration(ChatGLMPreTrainedModel):
**kwargs **kwargs
) -> dict: ) -> dict:
batch_size, seq_length = input_ids.shape batch_size, seq_length = input_ids.shape
MASK, gMASK = 150000, 150001 MASK, gMASK = self.config.mask_token_id, self.config.gmask_token_id
mask_token = MASK if MASK in input_ids else gMASK mask_token = MASK if MASK in input_ids else gMASK
use_gmask = False if MASK in input_ids else True use_gmask = False if MASK in input_ids else True
seqs = input_ids.tolist() seqs = input_ids.tolist()

View File

@ -48,11 +48,13 @@ class SPTokenizer:
def __init__( def __init__(
self, self,
vocab_file, vocab_file,
num_image_tokens=20000,
max_blank_length=80, max_blank_length=80,
byte_fallback=True, byte_fallback=True,
): ):
assert vocab_file is not None assert vocab_file is not None
self.vocab_file = vocab_file self.vocab_file = vocab_file
self.num_image_tokens = num_image_tokens
self.special_tokens = ["[MASK]", "[gMASK]", "[sMASK]", "<unused_0>", "<sop>", "<eop>", "<ENC>", "<dBLOCK>"] self.special_tokens = ["[MASK]", "[gMASK]", "[sMASK]", "<unused_0>", "<sop>", "<eop>", "<ENC>", "<dBLOCK>"]
self.max_blank_length = max_blank_length self.max_blank_length = max_blank_length
self.byte_fallback = byte_fallback self.byte_fallback = byte_fallback
@ -70,10 +72,6 @@ class SPTokenizer:
def get_tab_token(): def get_tab_token():
return f"<|tab|>" return f"<|tab|>"
@property
def num_image_tokens(self):
return 20000
@property @property
def num_text_tokens(self): def num_text_tokens(self):
return self.text_tokenizer.num_tokens return self.text_tokenizer.num_tokens
@ -178,6 +176,7 @@ class ChatGLMTokenizer(PreTrainedTokenizer):
mask_token='[MASK]', mask_token='[MASK]',
gmask_token='[gMASK]', gmask_token='[gMASK]',
padding_side="left", padding_side="left",
num_image_tokens=20000,
**kwargs **kwargs
) -> None: ) -> None:
super().__init__( super().__init__(
@ -197,7 +196,7 @@ class ChatGLMTokenizer(PreTrainedTokenizer):
self.mask_token = mask_token self.mask_token = mask_token
self.gmask_token = gmask_token self.gmask_token = gmask_token
self.sp_tokenizer = SPTokenizer(vocab_file) self.sp_tokenizer = SPTokenizer(vocab_file, num_image_tokens=num_image_tokens)
""" Initialisation """ """ Initialisation """

View File

@ -10,6 +10,7 @@
"remove_space": false, "remove_space": false,
"do_lower_case": false, "do_lower_case": false,
"tokenizer_class": "ChatGLMTokenizer", "tokenizer_class": "ChatGLMTokenizer",
"num_image_tokens": 0,
"auto_map": { "auto_map": {
"AutoTokenizer": [ "AutoTokenizer": [
"tokenization_chatglm.ChatGLMTokenizer", "tokenization_chatglm.ChatGLMTokenizer",