上下文
在使用带有池化的嵌入模型时,将 n_batch
增加到 n_ubatch
以上没有任何优势,因为整个批次必须适应物理批次(即 n_ubatch
)。 n_batch
总是等于 >= n_ubatch
。
- 请参见 @slaren 在: server: docs:
--threads
和--threads
,--ubatch-size
,--log-disable
#6254 (评论)中的评论
主张
如果设置了 --embedding
并且在 server
示例中 --ubatch-size
不等于 --batch-size
,则退出失败。可能还适用于 #6193 中的 retrieval
示例。此外,可能还需要考虑 bert.context_size
的 KV。
5条答案
按热度按时间ycl3bljg1#
如果在服务器示例中设置了 --embedding 并且 --ubatch-size 不等于 --batch-size,则退出失败。
我认为这样做是可以的。
Aldo 可能需要考虑 KV bert.context_size。
我认为我们应该只在 n_ctx_train > n_batch 时警告用户(就像在
embedding.cpp
中一样)。如果 n_ctx_train < n_batch,那么我们不关心,因为内存较低的用户可能希望使用较小的 n_batch。只有在 n_tokens > n_batch 时,我们才会抛出错误。
r7s23pms2#
对于
retrieval
示例,我们将n_batch
值分配给了n_ubatch
。如果在服务器示例中设置了 --embedding 并且 --ubatch-size 不等于 --batch-size,则退出失败。这可能会对用户造成一些困惑,因为
n_batch
和n_ubatch
的默认值是不同的(不指定 --batch-size 或 --ubatch-size 的用户将 100% 遇到此故障)。xoshrz7s3#
这是这张票的想法,用户必须为嵌入模型配置良好的值。
nbysray54#
这听起来很对👍,我们只需要确保错误信息能正确引导用户为
--batch-size
和--ubatch-size
选项提供相同的值。u0sqgete5#
在README中添加关于
--embeddings
参数的信息也会很好。