阿里千问Qwen 发布了 QwQ-32B - 一个在许多基准测试中性能可与 DeepSeek-R1 相媲美的推理模型。然而,人们一直在经历无限的生成、多次重复、
如果你在 QwQ-32B 上重复了无数次,你并不孤单!我制作了一个指南来帮助调试东西!我还上传了动态 4 位量化和其他 GGUF!指南链接:https://docs.unsloth.ai/basics/tutorial-how-to-run-qwq-32b-effectively
要点:
- 当使用重复惩罚来抵消循环时,它反而会导致循环!
- Qwen 团队确认,对于长上下文(128K),您应该使用 YaRN。
- 当使用重复惩罚时,添加--samplers "top_k;top_p;min_p;temperature;dry;typ_p;xtc"以停止无限生成。
- 使用min_p = 0.1有助于删除低概率的标记。
- 尝试使用 --repeat-penalty 1.1 --dry-multiplier 0.5以减少重复。
- 请--temp 0.6 --top-k 40 --top-p 0.95按照 Qwen 团队的建议使用。
以下是该教程介绍运行的9个步骤,详细点击标题:
1、在此处获取 GitHubllama.cpp上的最新版本。您也可以按照下面的构建说明进行操作。如果您没有 GPU 或只想要 CPU 推理,请更改为。-DGGML_CUDA=ON-DGGML_CUDA=OFF
apt-get update |
2、通过(安装后)下载模型pip install huggingface_hub hf_transfer。您可以选择 Q4_K_M,或其他量化版本(如 BF16 全精度)。更多版本请访问: https: //huggingface.co/unsloth/QwQ-32B-GGUF
# !pip install huggingface_hub hf_transfer |
3、运行 Unsloth 的 Flappy Bird 测试,它会将输出保存到Q4_K_M_yes_samplers.txt
4、编辑--threads 32CPU 线程数、--ctx-size 16384上下文长度、--n-gpu-layers 99GPU 在多少层上卸载。如果您的 GPU 内存不足,请尝试调整它。如果您只有 CPU 推理,也可以将其删除。
5、我们使用--repeat-penalty 1.1并且--dry-multiplier 0.5您可以调整。
./llama.cpp/llama-cli \ |
来自我们https://unsloth.ai/blog/deepseekr1-dynamic 1.58bit 博客的完整输入是:
<|im_start|>user |
删除思考部分之后,最终 Python 输出的开头和结尾:
import pygame |
6、运行它,我们得到一个可运行的游戏!
7、现在尝试同样的操作,无需我们的修复!因此删除--samplers "top_k;top_p;min_p;temperature;dry;typ_p;xtc" 这将保存输出到Q4_K_M_no_samplers.txt
./llama.cpp/llama-cli \ |
您将遇到一些循环,但Python 语法不正确,并且存在许多其他问题。例如,下面的代码看起来正确,但其实是错误的!例如第 39 行pipes.clear() ### <<< NameError: name 'pipes' is not defined. Did you forget to import 'pipes'?
import pygame |
8、如果使用--repeat-penalty 1.5,情况会变得更糟、更明显,实际上语法完全不正确。
import pygame |
9、您可能想知道也许是 Q4_K_M?B16 即全精度应该可以正常工作,对吗?不正确 - 如果我们不使用我们的修复方法,则输出再次失败 --samplers "top_k;top_p;min_p;temperature;dry;typ_p;xtc"使用重复惩罚时。