ByteMLPerf
ByteMLPerf copied to clipboard
llm_perf: generate config中 eos_token_id 配置问题
https://github.com/bytedance/ByteMLPerf/blob/main/byte_infer_perf/llm_perf/server/endpoint.py
# create generate config
config = GenerateConfig(
min_new_tokens=generate_config.get("min_new_tokens", 0),
max_new_tokens=generate_config.get("max_new_tokens", 0),
top_k=generate_config.get("top_k", 0),
top_p=generate_config.get("top_p", 1.0),
temperature=generate_config.get("temperature", 1.0),
presence_penalty=generate_config.get("presence_penalty", 1.0),
_eos_token_id=self.tokenizer.eos_token_id,_
pad_token_id=self.tokenizer.pad_token_id,
get_input_logits=bool(generate_config.get("get_input_logits", 0)),
)
req = GenerateRequest(input_ids, config)
return req
这里 generate config为什么要读取分词器的eos_token_id呢?特别是模型的GenerateConfig与tokenizer关于eos_token_id的配置不同时。
这里应该只是获取分词器的token_id配置吧,用于判断生成的token是否是eos从而决定是否停止生成。