系统信息
2023-06-15T04:27:53.010592Z INFO text_generation_launcher: Runtime environment: [30/661]
Target: x86_64-unknown-linux-gnu
Cargo version: 1.69.0
Commit sha: 5ce89059f8149eaf313c63e9ded4199670cd74bb
Docker label: sha-5ce8905
nvidia-smi:
Thu Jun 15 04:27:51 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.07 Driver Version: 515.65.07 CUDA Version: 11.8 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA A100-SXM... On | 00000000:10:00.0 Off | Off |
| N/A 34C P0 86W / 400W | 25302MiB / 81920MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
| 1 NVIDIA A100-SXM... On | 00000000:16:00.0 Off | Off |
| N/A 30C P0 64W / 400W | 0MiB / 81920MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
| 2 NVIDIA A100-SXM... On | 00000000:49:00.0 Off | Off |
| N/A 31C P0 73W / 400W | 0MiB / 81920MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
| 3 NVIDIA A100-SXM... On | 00000000:4D:00.0 Off | Off |
| N/A 31C P0 71W / 400W | 0MiB / 81920MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
| 4 NVIDIA A100-SXM... On | 00000000:C5:00.0 Off | Off |
| N/A 34C P0 91W / 400W | 32900MiB / 81920MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
| 5 NVIDIA A100-SXM... On | 00000000:CA:00.0 Off | Off |
| N/A 34C P0 92W / 400W | 33044MiB / 81920MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
| 6 NVIDIA A100-SXM... On | 00000000:E3:00.0 Off | Off |
| N/A 33C P0 96W / 400W | 33044MiB / 81920MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
| 7 NVIDIA A100-SXM... On | 00000000:E7:00.0 Off | Off |
| N/A 35C P0 89W / 400W | 32900MiB / 81920MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
信息
- Docker
- 命令行界面(CLI)直接使用
任务
- 一个官方支持的命令
- 我自己的修改
复现过程
- 我用LLaMa 7B和65B(max_concurrent_request=128)进行了测试。我尝试了单块A100(80GB)设置和在8块A100上进行分片。
- 当向服务器发送50个或更多的异步请求时,即使我给出以下参数,我可以看到生成结果会略有变化:
top_k=1
&do_sample=false
- 这里是一个例子:
=> 对于相同的输入,即使我关闭了所有随机性,"什么是深度学习?"也有两到多种不同的生成类型。
预期行为
异步和同步请求对于相同的提示和参数应该具有相同的生成结果。有趣的是,当我以相同数量的请求同步发送时,生成结果是稳定的。从上面的图像中,您还可以看到模型有时会退化。这种行为发生在我用两个不同用户端点同时发送100个异步请求时。
基本上,当我同时发送更多请求时,模型变差
我猜这与连续批处理功能有关?
7条答案
按热度按时间gev0vcfq1#
异步和同步在后端使用相同的函数。然而,混合精度下的矩阵乘法核是非确定性的,当批量大小增加时,可能会导致不同代之间的差异。
当设置top_k = False时,do_sample = False没有任何作用。无论如何,采样都会被激活。top_k = 1可能是奇怪行为的原因。
gtlvzcf82#
你能尝试在不使用top_k的情况下重现这个错误吗?只是使用贪婪解码?我打赌多项式正在做一些奇怪的事情。
参见:$x^{1e0}f^{1}x$
$x^{1e1}f^{1}x$
1dkrff033#
好的,当我尝试在自定义内核上运行时,似乎生成是稳定的(即使有128个异步请求)。我无法重现错误。然而,我尝试在自定义构建的内核(遵循本地安装步骤)上运行,所以它与上述环境并不完全相同。让我尝试在原始环境中重现它,看看是否有任何不同。
不过,我可以确认一件事:使用
top_k=1
和top_k=None
的代数肯定是不同的。3zwjbxry4#
@jshin49 是的,
top_k=1
并不等同于贪婪。Top k 会从分数 >= 第k高的分数的tokens中进行采样。这意味着如果有k个并列的分数,它可能会从超过k个tokens中进行选择,特别是当k=1时,它会从与最高分并列的所有tokens中随机抽取。贪婪使用argmax,它会确定性地选择具有最高分数和最低id的token。至少对我来说,这使得
k=1
在固定随机种子的情况下进行采样比贪婪更可取,因为在使用贪婪时,你可能会意外地偏向id较低的tokens。请注意,在16位的情况下,这样的分数碰撞非常常见,尤其是在较大的词汇表大小时。
fcy6dtqo5#
关于这个有什么更新吗?
ovfsdjhp6#
请注意,使用16位时,这样的分数碰撞非常常见,尤其是在较大的词汇量的情况下。
对于16位的分数碰撞,您能提供一些示例或相关参考资料吗?@njhill
ou6hu8tu7#
这个问题已经过期,因为它已经打开了30天,没有活动。请移除过期标签或评论,否则将在5天内关闭。