Batch 与 U-Batch——批次参数调优
Batch 是什么
Batch 是模型每次"吞下"的 token 批大小——一次处理多少个 token 再推进到下一步推理。更大的 Batch 能让 CPU 发挥 SIMD 指令的并行能力,但也会增加瞬时内存占用。
Local AI 的 GGUF 精细设置里有两个相关参数:
- 批次大小(Batch):模型前向传播的批大小。默认值通常是 512
- 物理批次大小(U-Batch):分块处理的批次上限。默认值通常是 128
默认值就好
对 99% 的用户来说,保持 Local AI 的默认值即可。这些参数是 llama.cpp 社区大量测试后确定的平衡点:
- 1B~3B 模型:Batch 256~512,U-Batch 64~128
- 4B~7B 模型:Batch 512~1024,U-Batch 128~256
盲目调大 Batch 值可能让内存瞬间不够用、反而导致加载失败或闪退。
什么时候需要调
手机特别卡、长对话经常中途挂掉
试试调小 Batch 值(比如从 512 降到 256)——每次处理更少的 token,内存峰值更低,长会话更稳定。
旗舰机上 7B 模型还能跑更快
16 GB+ 内存 + 骁龙 8 Gen 3 级别的芯片,可以尝试调大 Batch(比如到 1024)——可能获得 5~15% 的速度提升。
并行处理数
还有一个「并行处理数」参数(默认 1)。它控制同时处理多少条独立对话——Local AI 当前版本大多数时候只需要保持默认值 1,不需要动。
上下文长度也在这里
GGUF 精细设置页的「上下文长度」滑块(最高到 32768)是模型架构层面的硬限制——它决定了模型最多能处理多少个 token 的输入。这个值和对话设置里的「上下文轮数」是两回事(后者见 上下文轮数设置)。
- 小模型(1~3B):上下文长度通常在 8192 或 16384 够用
- 大模型(7B):可以开到 32768 但会增加内存占用
- 不要调到超过模型实际支持的上限——会导致加载失败
总结
GGUF 精细配置是给愿意折腾的玩家准备的。日常使用保持默认,出了特定问题(加载失败、速度太慢、内存不够)再针对性调整其中一两个参数,不要同时改一堆。