QwenLM / Qwen

The official repo of Qwen (通义千问) chat & pretrained large language model proposed by Alibaba Cloud.
Apache License 2.0
13.59k stars 1.11k forks source link

Qwen-72B-Chat-Int4 每次推理结果不一致 #885

Closed lyc728 closed 9 months ago

lyc728 commented 9 months ago

是否已有关于该错误的issue或讨论? | Is there an existing issue / discussion for this?

该问题是否在FAQ中有解答? | Is there an existing answer for this in FAQ?

当前行为 | Current Behavior

tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained(
    model_path,
    device_map="auto",
    trust_remote_code=True
).eval()

model.generation_config.do_sample = False
model.generation_config.num_beans = 1
model.generation_config.temperature = 1.0

message = "给我讲一个年轻人奋斗创业最终取得成功的故事。" for i in range(20): response, _ = model.chat(tokenizer, message, history=None)

    print(response)

期望行为 | Expected Behavior

推理参数是需要再修改吗?

复现方法 | Steps To Reproduce

这是一个关于一位名叫李明的年轻人的故事,他来自一个小城市,但他有一个大梦想:成为一名成功的创业者。 李明从小就对计算机和技术充满热情。他在高中毕业后决定去大城市上大学,并在那里学习计算机科学。在大学期间,他开始尝试自己的创业项目,但都没有取得太大的成功。 毕业后,李明加入了一家初创公司,担任软件工程师。在那里,他学到了很多有关创业和管理的知识,并结识了一些志同道合的朋友。他们一起讨论创业想法,并决定共同创办一家科技公司。 起初,他们的公司并没有得到太多的关注和支持。但他们坚持不懈地工作,不断改进产品和服务,并积极寻找投资者。经过几年的努力,他们的公司终于开始获得关注,并吸引了一些大型企业的合作机会。 随着公司的不断发展,李明和他的团队也面临着许多挑战和困难。但他们始终保持坚定的信念,并努力克服每一个难题。最终,他们的公司取得了巨大的成功,并成为该领域的领导者之一。 李明的故事告诉我们,只要有决心、勇气和毅力,任何人都可以实现自己的梦想。他的成功并非一蹴而就,而是通过不断的学习、尝试和改进来实现的。他的故事激励着我们勇敢追求自己的梦想,并永不放弃。

这是一个关于一位名叫李明的年轻人的故事,他来自一个小城市,但他有一个大梦想:成为一名成功的创业者。 李明从小就对计算机和技术充满热情。他在高中毕业后决定去大城市上大学,并在那里学习计算机科学。在大学期间,他开始尝试自己的创业项目,但都没有取得太大的成功。 毕业后,李明加入了一家初创公司,担任软件工程师。在那里,他学到了很多有关创业和管理的知识,并结识了一些志同道合的朋友。他们一起讨论创业想法,并决定共同创办一家科技公司。 起初,他们的公司并没有得到太多的关注和支持。但他们坚持不懈地工作,不断改进产品和服务,并积极寻找投资者。经过几年的努力,他们的公司终于开始获得关注,并吸引了一些大型企业的合作机会。 随着公司的不断发展,李明和他的团队也面临着许多挑战和困难。但他们始终保持坚定的信念,并努力克服每一个难题。最终,他们的公司成为了一个成功的科技企业,并在市场上取得了显著的地位。 李明的故事告诉我们,只要有决心、勇气和毅力,任何人都可以实现自己的梦想。他的成功并不是一夜之间发生的,而是通过不断的学习、努力和坚持才得以实现的。

运行环境 | Environment

- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA (`python -c 'import torch; print(torch.version.cuda)'`):

备注 | Anything else?

No response

jklj077 commented 9 months ago

GPTQ类量化模型的“高效”GPU算法实现,很多都不是确定性算法,比如autogptq的实现或者exllama的实现都有用atomicadd,浮点数累加顺序不同会导致由于精度误差导致的结果波动,理论上是无法保证结果完全一致的。不过这种波动带来的输出结果变动一般不大、会比随机数的影响小很多。