自己转的量化模型,加载后输出一堆重复字符和奇怪的符号。

原因:chat template 用错了。基础模型和指令微调模型的 template 不一样,用错了模型不知道什么时候该停。

排查:

  1. 看模型的 tokenizer_config.json 里有没有 chat_template
  2. 用官方推荐的方式构造 prompt
  3. 检查 eos_token 设置对不对

另一个表现:输出不停止,一直生成到 max_tokens。这也是 template 问题的典型症状。

经验:自己量化/转换模型,先跑一遍官方示例,确认基础功能正常,再接入业务。跳过这一步会浪费很多时间排查。

主楼