ByteMLPerf icon indicating copy to clipboard operation
ByteMLPerf copied to clipboard

llm_perf: generate config中 eos_token_id 配置问题

Open TianTengya opened this issue 10 months ago • 1 comments

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的配置不同时。

TianTengya avatar Feb 20 '25 03:02 TianTengya

这里应该只是获取分词器的token_id配置吧,用于判断生成的token是否是eos从而决定是否停止生成。

suisiyuan avatar Feb 20 '25 03:02 suisiyuan