text-generation-inference Phi-3迷你128k在上下文>4k标记的情况下产生乱码,

rur96b6h  于 2个月前  发布在  其他
关注(0)|答案(1)|浏览(27)

系统信息

GPU: RTX4090
运行2.1.0版本的docker,例如:
docker run -it --rm --gpus all --ipc=host -p 8080:80 -v /home/jp/.cache/data:/data ghcr.io/huggingface/text-generation-inference:2.1.0 --model-id microsoft/Phi-3-mini-128k-instruct --max-batch-prefill-tokens=8192 --max-total-tokens=8192 --max-input-tokens=8191 --trust-remote-code --revision bb5bf1e4001277a606e11debca0ef80323e5f824 --sharded false

信息

  • Docker
  • 直接使用CLI

任务

  • 一个官方支持的命令
  • 我自己的修改

复现

运行Phi-3 128k(旧版本的新版本会失败 - 请参见#2172),只要总上下文(输入标记 + 输出标记)低于4096,我就能得到良好的结果。
一旦输入和输出标记大于4096,Phi-3就会输出乱码,例如:
,,..,,,,,,,,,,,,,,,,ß,,.s,ß,gen,gen,,,,s,,,,,,,,,,,,,,,,,,,,,,,,,,,o,,,,,,,,,,,,,,,,,,,,,,-hn,.,,,,,,,,,,und,,,,,,,,,,,,,,,,,,,,,,,s,,gen...,
我认为旋转嵌入实现中可能存在一些错误,请参见#2060#2055

预期行为

对于较长的上下文,推理应该可以正常工作。

weylhg0b

weylhg0b1#

使用VLLM,我最初遇到了同样的问题-但后来发现这是由于FP8 KV缓存(参见here)导致的-TGI是否默认启用了它?因为我没有故意启用它。

相关问题