ztxz16 / fastllm

纯c++的全平台llm加速库,支持python调用,chatglm-6B级模型单卡可达10000+token / s,支持glm, llama, moss基座,手机端流畅运行
Apache License 2.0
3.28k stars 332 forks source link

兼容chatglm3-6b-32k,修复model.save()保存的模型tokenizer未对齐问题。 #400

Closed TylunasLi closed 7 months ago

TylunasLi commented 7 months ago
  1. 兼容chatglm3-6b-32k 和 chatglm2-6b-32k的位置编码差异,尝试修复 #374 ;
    • 目前判断chatglm3逻辑比较简单,GetVersion()版本依然是2,后续如果有了更多chatglm版本,还得继续优化。
  2. 修复 llm.from_hf() + model.save() 模式下,保存的模型中 sentencepiece tokenizer 没有包含score的问题; 见 #397。
  3. tokenizer对齐优化,
    • 测试发现,transformsers每调用一次 tokenizer.encode() 方法,都会在encode的文本前面插入一个空格,因此修改了ChatGLM3中的prompt;
    • 实测tokenizer下多个空格并不合并 (#380),暂时注释掉了空格合并逻辑。这块还需进一步跟sentencepiece对齐。