{"id":27962,"date":"2025-03-08T10:45:05","date_gmt":"2025-03-08T02:45:05","guid":{"rendered":"https:\/\/www.aisharenet.com\/?p=27962"},"modified":"2025-03-08T10:45:05","modified_gmt":"2025-03-08T02:45:05","slug":"unsloth-jiejue-qwq-3","status":"publish","type":"post","link":"https:\/\/www.kdjingpai.com\/de\/unsloth-jiejue-qwq-3\/","title":{"rendered":"Unsloth \u89e3\u51b3 QwQ-32B \u91cf\u5316\u7248\u672c\u91cd\u590d\u63a8\u7406\u95ee\u9898"},"content":{"rendered":"<p>\u6700\u8fd1\uff0cQwen \u56e2\u961f\u53d1\u5e03\u4e86 <a href=\"https:\/\/www.kdjingpai.com\/ja\/xiaomoxingdanengba\/\">QwQ-32B<\/a> \u6a21\u578b\uff0c\u8fd9\u6b3e\u63a8\u7406\u6a21\u578b\u5728\u8bf8\u591a\u00a0<a href=\"https:\/\/www.kdjingpai.com\/xiaomoxingdanengba\/\">\u8bc4\u6d4b\u57fa\u51c6<\/a>\u00a0\u4e0a\u5c55\u73b0\u51fa\u5ab2\u7f8e <a href=\"https:\/\/www.kdjingpai.com\/ja\/deepseek-r1nenglixiang\/\">DeepSeek-R1<\/a> \u7684\u5353\u8d8a\u6027\u80fd\u3002\u7136\u800c\uff0c\u4e0d\u5c11\u7528\u6237\u5728\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u9047\u5230\u4e86 \u65e0\u9650\u751f\u6210 \u3001 \u91cd\u590d\u5185\u5bb9\u8fc7\u591a \u3001token \u95ee\u9898\u4ee5\u53ca\u5fae\u8c03\u96be\u9898\u3002\u672c\u6587\u65e8\u5728\u63d0\u4f9b\u4e00\u4efd\u8be6\u5c3d\u7684\u6307\u5357\uff0c\u52a9\u529b\u5927\u5bb6\u8c03\u8bd5\u5e76\u89e3\u51b3\u8fd9\u4e9b\u95ee\u9898\uff0c\u5145\u5206\u91ca\u653e QwQ-32B \u7684\u6f5c\u529b\u3002<\/p>\n<p><a href=\"https:\/\/www.kdjingpai.com\/ja\/unsloth\/\">Unsloth<\/a> \u56e2\u961f\u4e0a\u4f20\u7684\u6a21\u578b\u4fee\u590d\u4e86\u4e0a\u8ff0\u9519\u8bef\uff0c\u53ef\u4ee5\u66f4\u597d\u5730\u652f\u6301\u5fae\u8c03\u3001vLLM \u548c Transformers \u7b49\u5de5\u5177\u548c\u6846\u67b6\u3002\u5bf9\u4e8e\u4f7f\u7528 <a href=\"https:\/\/www.kdjingpai.com\/ja\/llamacpp\/\">llama.cpp<\/a> \u4ee5\u53ca\u5176\u4ed6\u4ee5 llama.cpp \u4e3a\u540e\u7aef\u7684\u5f15\u64ce\u7684\u7528\u6237\uff0c\u8bf7\u53c2\u8003\u00a0<a href=\"https:\/\/docs.unsloth.ai\/basics\/tutorial-how-to-run-qwq-32b-effectively#tutorial-how-to-run-qwq-32b\">\u6b64\u94fe\u63a5<\/a>\u00a0\u83b7\u53d6\u9488\u5bf9\u65e0\u9650\u751f\u6210\u95ee\u9898\u7684\u4fee\u590d\u6307\u5bfc\u3002<\/p>\n<p>Unsloth QwQ-32B \u6a21\u578b\uff08\u5df2\u4fee\u590d bug\uff09\uff1a<\/p>\n<ul>\n<li><a href=\"https:\/\/huggingface.co\/unsloth\/QwQ-32B-GGUF\">GGUF \u683c\u5f0f\u6a21\u578b<\/a><\/li>\n<li><a href=\"https:\/\/huggingface.co\/unsloth\/QwQ-32B-unsloth-bnb-4bit\">\u52a8\u6001 4-bit \u91cf\u5316\u6a21\u578b<\/a><\/li>\n<li><a href=\"https:\/\/huggingface.co\/unsloth\/QwQ-32B-bnb-4bit\">BnB 4-bit \u91cf\u5316\u6a21\u578b<\/a><\/li>\n<li><a href=\"https:\/\/huggingface.co\/unsloth\/QwQ-32B\">16-bit \u5b8c\u6574\u7cbe\u5ea6\u6a21\u578b<\/a><\/li>\n<\/ul>\n<h2>\u5b98\u65b9\u63a8\u8350\u8bbe\u7f6e<\/h2>\n<p>\u2699\ufe0f \u5b98\u65b9\u63a8\u8350\u8bbe\u7f6e<\/p>\n<p>\u6839\u636e\u00a0Qwen\u00a0\u5b98\u65b9\u5efa\u8bae\uff0c\u4ee5\u4e0b\u662f\u8fdb\u884c\u6a21\u578b\u63a8\u7406\u65f6\u7684\u63a8\u8350\u53c2\u6570\u8bbe\u7f6e\uff1a<\/p>\n<ul>\n<li>Temperature\uff08\u6e29\u5ea6\uff09\uff1a0.6<\/li>\n<li>Top_K\uff1a40 (\u5efa\u8bae\u8303\u56f4 20-40)<\/li>\n<li>Min_P\uff1a0.1 (\u53ef\u9009\uff0c\u4f46\u6548\u679c\u826f\u597d)<\/li>\n<li>Top_P\uff1a0.95<\/li>\n<li>Repetition Penalty\uff08\u91cd\u590d\u60e9\u7f5a\uff09\uff1a1.0 (\u5728 llama.cpp \u548c transformers \u4e2d\uff0c1.0 \u8868\u793a\u7981\u7528)<\/li>\n<li>Chat template\uff08\u804a\u5929\u6a21\u677f\uff09\uff1a<code>&lt;|im_start|&gt;user\\nCreate a Flappy Bird game in Python.&lt;|im_end|&gt;\\n&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n<\/code><\/li>\n<\/ul>\n<h2>llama.cpp \u63a8\u8350\u8bbe\u7f6e<\/h2>\n<p>\ud83d\udc4d llama.cpp \u63a8\u8350\u8bbe\u7f6e<\/p>\n<p>Unsloth \u56e2\u961f\u6ce8\u610f\u5230\uff0c\u8bb8\u591a\u7528\u6237\u503e\u5411\u4e8e\u4f7f\u7528\u5927\u4e8e 1.0 \u7684\u00a0<code>Repetition Penalty<\/code>\u00a0\u503c\uff0c\u4f8b\u5982 1.1 \u5230 1.5\u3002\u7136\u800c\uff0c\u8fd9\u79cd\u505a\u6cd5\u5b9e\u9645\u4e0a\u4f1a\u5e72\u6270 llama.cpp \u7684\u91c7\u6837\u673a\u5236\u3002\u91cd\u590d\u60e9\u7f5a\u7684\u521d\u8877\u662f\u51cf\u5c11\u91cd\u590d\u751f\u6210\uff0c\u4f46\u5b9e\u9a8c\u8868\u660e\uff0c\u8fd9\u79cd\u65b9\u5f0f\u5e76\u672a\u8fbe\u5230\u9884\u671f\u6548\u679c\u3002<\/p>\n<p>\u5c3d\u7ba1\u5982\u6b64\uff0c\u5b8c\u5168\u7981\u7528\u91cd\u590d\u60e9\u7f5a\uff08\u8bbe\u7f6e\u4e3a 1.0\uff09\u4e5f\u662f\u4e00\u79cd\u9009\u62e9\u3002\u4f46 Unsloth \u56e2\u961f\u53d1\u73b0\uff0c\u9002\u5f53\u7684\u91cd\u590d\u60e9\u7f5a\u5bf9\u4e8e\u6291\u5236\u65e0\u9650\u751f\u6210\u4ecd\u7136\u6709\u6548\u3002<\/p>\n<p>\u4e3a\u4e86\u6709\u6548\u4f7f\u7528\u91cd\u590d\u60e9\u7f5a\uff0c\u5fc5\u987b\u8c03\u6574 llama.cpp \u4e2d\u91c7\u6837\u5668\u7684\u987a\u5e8f\uff0c\u786e\u4fdd\u5728\u5e94\u7528\u00a0<code>Repetition Penalty<\/code>\u00a0\u4e4b\u524d\u8fdb\u884c\u91c7\u6837\uff0c\u5426\u5219\u4f1a\u5bfc\u81f4\u65e0\u9650\u751f\u6210\u3002\u4e3a\u6b64\uff0c\u8bf7\u6dfb\u52a0\u4ee5\u4e0b\u53c2\u6570\uff1a<\/p>\n<pre><code>--samplers \"top_k;top_p;min_p;temperature;dry;typ_p;xtc\"\r\n<\/code><\/pre>\n<p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cllama.cpp \u4f7f\u7528\u7684\u91c7\u6837\u5668\u987a\u5e8f\u5982\u4e0b\uff1a<\/p>\n<pre><code>--samplers \"dry;top_k;typ_p;top_p;min_p;xtc;temperature\"\r\n<\/code><\/pre>\n<p>Unsloth \u56e2\u961f\u8c03\u6574\u540e\u7684\u987a\u5e8f\u4e3b\u8981\u662f\u5c06 temperature \u548c dry \u7684\u4f4d\u7f6e\u4e92\u6362\uff0c\u5e76\u5c06 min_p \u524d\u79fb\u3002\u8fd9\u610f\u5473\u7740\u91c7\u6837\u5668\u5c06\u6309\u7167\u4ee5\u4e0b\u987a\u5e8f\u5e94\u7528\uff1a<\/p>\n<pre><code>top_k=40 \r\ntop_p=0.95\r\nmin_p=0.1\r\ntemperature=0.6\r\ndry\r\ntyp_p\r\nxtc\r\n<\/code><\/pre>\n<p>\u5982\u679c\u95ee\u9898\u4f9d\u7136\u5b58\u5728\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u5c06\u00a0<code>--repeat-penalty<\/code>\u00a0\u7684\u503c\u4ece 1.0 \u7565\u5fae\u63d0\u9ad8\u5230 1.2 \u6216 1.3\u3002<\/p>\n<p>\u611f\u8c22\u00a0@krist486\u00a0\u63d0\u9192\u6211\u4eec\u6ce8\u610f llama.cpp \u7684\u91c7\u6837\u65b9\u5411\u95ee\u9898\u3002<\/p>\n<h2>Dry Repetition Penalty (Dry \u91cd\u590d\u60e9\u7f5a)<\/h2>\n<p>\u2600\ufe0f Dry \u91cd\u590d\u60e9\u7f5a<\/p>\n<p>Unsloth \u56e2\u961f\u7814\u7a76\u4e86\u00a0https:\/\/github.com\/ggml-org\/llama.cpp\/blob\/master\/examples\/main\/README.md\u00a0\u4e2d\u5efa\u8bae\u7684\u00a0<code>dry penalty<\/code>\u00a0\u7528\u6cd5\uff0c\u5e76\u5c1d\u8bd5\u4f7f\u7528 0.8 \u7684\u503c\u3002\u4f46\u5b9e\u9a8c\u7ed3\u679c\u8868\u660e\uff0c<code>dry penalty<\/code>\u00a0\u66f4\u5bb9\u6613\u5bfc\u81f4\u8bed\u6cd5\u9519\u8bef\uff0c\u5c24\u5176\u662f\u5728\u751f\u6210\u4ee3\u7801\u65f6 \u3002\u5982\u679c\u7528\u6237\u4ecd\u7136\u9047\u5230\u95ee\u9898\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u5c06\u00a0<code>dry penalty<\/code>\u00a0\u63d0\u9ad8\u5230 0.8\u3002<\/p>\n<p>\u5982\u679c\u9009\u62e9\u4f7f\u7528\u00a0<code>dry penalty<\/code>\uff0c\u8c03\u6574\u540e\u7684\u91c7\u6837\u987a\u5e8f\u540c\u6837\u80fd\u6709\u6240\u5e2e\u52a9\u3002<\/p>\n<h2>Ollama \u8fd0\u884c QwQ-32B \u6559\u7a0b<\/h2>\n<p>\ud83e\udd99 <a href=\"https:\/\/www.kdjingpai.com\/ja\/ollama\/\">Ollama<\/a> \u8fd0\u884c QwQ-32B \u6559\u7a0b<\/p>\n<ol>\n<li>\u5982\u679c\u5c1a\u672a\u5b89\u88c5\u00a0<code>ollama<\/code>\uff0c\u8bf7\u5148\u8fdb\u884c\u5b89\u88c5\uff01<\/li>\n<\/ol>\n<pre><code>apt-get update \r\napt-get install pciutils -y\r\ncurl -fSSL [https:\/\/ollama.com\/install.sh](https:\/\/www.google.com\/url?sa=E&amp;q=https%3A%2F%2Follama.com%2Finstall.sh) | sh\r\n<\/code><\/pre>\n<ol start=\"2\">\n<li>\u8fd0\u884c\u6a21\u578b\uff01\u5982\u679c\u8fd0\u884c\u5931\u8d25\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u5728\u53e6\u4e00\u4e2a\u7ec8\u7aef\u8fd0\u884c\u00a0<code>ollama serve<\/code>\uff01Unsloth \u56e2\u961f\u5df2\u5c06\u6240\u6709\u4fee\u590d\u548c\u5efa\u8bae\u53c2\u6570\uff08\u6e29\u5ea6\u7b49\uff09\u5305\u542b\u5728 Hugging Face \u4e0a\u4f20\u6a21\u578b\u7684\u00a0<code>param<\/code>\u00a0\u6587\u4ef6\u4e2d\uff01<\/li>\n<\/ol>\n<pre><code>ollama run hf.co\/unsloth\/QwQ-32B-GGUF:Q4_K_M\r\n<\/code><\/pre>\n<h2>llama.cpp \u8fd0\u884c QwQ-32B \u6559\u7a0b<\/h2>\n<p>\ud83d\udcd6 llama.cpp \u8fd0\u884c QwQ-32B \u6559\u7a0b<\/p>\n<ol>\n<li>\u4ece <a href=\"https:\/\/www.kdjingpai.com\/llamacpp\/\">llama.cpp<\/a>\u00a0\u83b7\u53d6\u6700\u65b0\u7248\u00a0<code>llama.cpp<\/code>\u3002\u53ef\u4ee5\u53c2\u8003\u4ee5\u4e0b\u6784\u5efa\u8bf4\u660e\u8fdb\u884c\u6784\u5efa\u3002\u5982\u679c\u6ca1\u6709 GPU \u6216\u8005\u53ea\u60f3\u8fdb\u884c CPU \u63a8\u7406\uff0c\u8bf7\u5c06\u00a0<code>-DGGML_CUDA=ON<\/code>\u00a0\u66ff\u6362\u4e3a\u00a0<code>-DGGML_CUDA=OFF<\/code>\u3002<\/li>\n<\/ol>\n<pre><code>apt-get update \r\napt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y\r\ngit clone [https:\/\/github.com\/ggerganov\/llama.cpp](https:\/\/www.google.com\/url?sa=E&amp;q=https%3A%2F%2Fgithub.com%2Fggerganov%2Fllama.cpp)\r\ncmake llama.cpp -B llama.cpp\/build\r\n-DBUILD_SHARED_LIBS=ON -DGGML_CUDA=ON -DLLAMA_CURL=ON\r\ncmake --build llama.cpp\/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split\r\ncp llama.cpp\/build\/bin\/llama-* llama.cpp\r\n<\/code><\/pre>\n<ol start=\"2\">\n<li>\u4e0b\u8f7d\u6a21\u578b\uff08\u5728\u5b89\u88c5\u00a0<code>pip install huggingface_hub hf_transfer<\/code>\u00a0\u540e\uff09\u3002\u53ef\u4ee5\u9009\u62e9 Q4_K_M \u6216\u5176\u4ed6\u91cf\u5316\u7248\u672c\uff08\u5982 BF16 \u5168\u7cbe\u5ea6\uff09\u3002\u66f4\u591a\u7248\u672c\u8bf7\u8bbf\u95ee\uff1ahttps:\/\/huggingface.co\/unsloth\/QwQ-32B-GGUF\u3002<\/li>\n<\/ol>\n<pre><code># !pip install huggingface_hub hf_transfer\r\nimport os \r\nos.environ[\"HF_HUB_ENABLE_HF_TRANSFER\"] = \"1\"\r\nfrom huggingface_hub import snapshot_download\r\nsnapshot_download( \r\nrepo_id=\"unsloth\/QwQ-32B-GGUF\",\r\nlocal_dir=\"unsloth-QwQ-32B-GGUF\",\r\nallow_patterns=[\" Q4_K_M \"],  # For Q4_K_M\r\n)\r\n<\/code><\/pre>\n<ol start=\"3\">\n<li>\u8fd0\u884c Unsloth \u63d0\u4f9b\u7684 Flappy Bird \u6d4b\u8bd5\u811a\u672c\uff0c\u8f93\u51fa\u7ed3\u679c\u5c06\u4fdd\u5b58\u5230\u00a0<code>Q4_K_M_yes_samplers.txt<\/code>\u00a0\u6587\u4ef6\u3002<\/li>\n<li>\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8c03\u6574\u53c2\u6570\u3002<code>--threads 32<\/code>\u00a0\u8bbe\u7f6e CPU \u7ebf\u7a0b\u6570\uff0c<code>--ctx-size 16384<\/code>\u00a0\u8bbe\u7f6e\u4e0a\u4e0b\u6587\u957f\u5ea6\uff0c<code>--n-gpu-layers 99<\/code>\u00a0\u8bbe\u7f6e GPU \u5378\u8f7d\u5c42\u6570\u3002\u5982\u679c GPU \u663e\u5b58\u4e0d\u8db3\uff0c\u8bf7\u5c1d\u8bd5\u8c03\u6574\u00a0<code>--n-gpu-layers<\/code>\u00a0\u7684\u503c\u3002\u5982\u679c\u4ec5\u4f7f\u7528 CPU \u63a8\u7406\uff0c\u5219\u79fb\u9664\u6b64\u53c2\u6570\u3002<\/li>\n<li><code>--repeat-penalty 1.1<\/code>\u00a0\u548c\u00a0<code>--dry-multiplier 0.5<\/code>\u00a0\u662f\u91cd\u590d\u60e9\u7f5a\u548c dry penalty \u53c2\u6570\uff0c\u7528\u6237\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8fdb\u884c\u8c03\u6574\u3002<\/li>\n<\/ol>\n<pre><code>.\/llama.cpp\/llama-cli  \r\n--model unsloth-QwQ-32B-GGUF\/QwQ-32B-Q4_K_M.gguf\r\n--threads 32\r\n--ctx-size 16384\r\n--n-gpu-layers 99\r\n--seed 3407\r\n--prio 2\r\n--temp 0.6\r\n--repeat-penalty 1.1\r\n--dry-multiplier 0.5\r\n--min-p 0.1\r\n--top-k 40\r\n--top-p 0.95\r\n-no-cnv\r\n--samplers \"top_k;top_p;min_p;temperature;dry;typ_p;xtc\"\r\n--prompt \"&lt;|im_start|&gt;user\\nCreate a Flappy Bird game in Python. You must include these things:\\n1. You must use pygame.\\n2. The background color should be randomly chosen and is a light shade. Start with a light blue color.\\n3. Pressing SPACE multiple times will accelerate the bird.\\n4. The bird's shape should be randomly chosen as a square, circle or triangle. The color should be randomly chosen as a dark color.\\n5. Place on the bottom some land colored as dark brown or yellow chosen randomly.\\n6. Make a score shown on the top right side. Increment if you pass pipes and don't hit them.\\n7. Make randomly spaced pipes with enough space. Color them randomly as dark green or light brown or a dark gray shade.\\n8. When you lose, show the best score. Make the text inside the screen. Pressing q or Esc will quit the game. Restarting is pressing SPACE again.\\nThe final game should be inside a markdown section in Python. Check your code for errors and fix them before the final markdown section.&lt;|im_end|&gt;\\n&lt;|im_start|&gt;assistant\\n &lt;think&gt; \\n\"\r\n2&gt;&amp;1 | tee Q4_K_M_yes_samplers.txt\r\n<\/code><\/pre>\n<p>\u4e0a\u8ff0 Flappy Bird \u6e38\u620f\u63d0\u793a\u8bcd\u6765\u6e90\u4e8e Unsloth \u7684\u00a0<a href=\"https:\/\/unsloth.ai\/blog\/deepseekr1-dynamic\">DeepSeekR1-Dynamic 1.58bit \u535a\u6587<\/a>\u3002\u5b8c\u6574\u63d0\u793a\u8bcd\u5982\u4e0b\uff1a<\/p>\n<pre><code>&lt;|im_start|&gt;user\r\nCreate a Flappy Bird game in Python. You must include these things:\r\n1. You must use pygame.\r\n2. The background color should be randomly chosen and is a light shade. Start with a light blue color.\r\n3. Pressing SPACE multiple times will accelerate the bird.\r\n4. The bird's shape should be randomly chosen as a square, circle or triangle. The color should be randomly chosen as a dark color.\r\n5. Place on the bottom some land colored as dark brown or yellow chosen randomly.\r\n6. Make a score shown on the top right side. Increment if you pass pipes and don't hit them.\r\n7. Make randomly spaced pipes with enough space. Color them randomly as dark green or light brown or a dark gray shade.\r\n8. When you lose, show the best score. Make the text inside the screen. Pressing q or Esc will quit the game. Restarting is pressing SPACE again.\r\nThe final game should be inside a markdown section in Python. Check your code for errors and fix them before the final markdown section.&lt;|im_end|&gt;\r\n&lt;|im_start|&gt;assistant\r\n&lt;think&gt;\r\n<\/code><\/pre>\n<p>\u4ee5\u4e0b\u662f\u6a21\u578b\u751f\u6210\u7684 Python \u4ee3\u7801\u7684\u5f00\u5934\u548c\u7ed3\u5c3e\u90e8\u5206\uff08\u5df2\u79fb\u9664\u601d\u8003\u8fc7\u7a0b\uff09\uff1a<\/p>\n<pre><code>import pygame\r\nimport random\r\nimport sys\r\npygame.init()\r\n### Continues\r\nclass Bird:\r\ndef __init__(self):\r\n### Continues\r\ndef main():\r\nbest_score = 0\r\ncurrent_score = 0\r\ngame_over = False\r\npipes = []\r\nfirst_time = True  # Track first game play\r\n# Initial setup\r\nbackground_color = (173, 216, 230)  # Light blue initially\r\nland_color = random.choice(land_colors)\r\nbird = Bird()\r\nwhile True:\r\nfor event in pygame.event.get():\r\n### Continues\r\nif not game_over:\r\n# Update bird and pipes\r\nbird.update()\r\n### Continues\r\n# Drawing\r\n### Continues\r\npygame.display.flip()\r\nclock.tick(60)\r\nif __name__ == \"__main__\":\r\nmain()\r\n<\/code><\/pre>\n<p>\u6a21\u578b\u6210\u529f\u751f\u6210\u4e86\u4e00\u4e2a\u53ef\u8fd0\u884c\u7684 Flappy Bird \u6e38\u620f\uff01<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-27963\" title=\"Unsloth \u89e3\u51b3 QwQ-32B \u91cf\u5316\u7248\u672c\u91cd\u590d\u63a8\u7406\u95ee\u9898-1\" src=\"https:\/\/www.kdjingpai.com\/wp-content\/uploads\/2025\/03\/4d480fd6302b39c.jpg\" alt=\"Unsloth \u89e3\u51b3 QwQ-32B \u91cf\u5316\u7248\u672c\u91cd\u590d\u63a8\u7406\u95ee\u9898-1\" width=\"734\" height=\"507\" srcset=\"https:\/\/www.kdjingpai.com\/wp-content\/uploads\/2025\/03\/4d480fd6302b39c.jpg 1200w, https:\/\/www.kdjingpai.com\/wp-content\/uploads\/2025\/03\/4d480fd6302b39c-768x531.jpg 768w, https:\/\/www.kdjingpai.com\/wp-content\/uploads\/2025\/03\/4d480fd6302b39c-18x12.jpg 18w\" sizes=\"auto, (max-width: 734px) 100vw, 734px\" \/><\/p>\n<p>\u63a5\u4e0b\u6765\uff0c\u5c1d\u8bd5\u79fb\u9664 &#8211;samplers &#8220;top_k;top_p;min_p;temperature;dry;typ_p;xtc&#8221; \u53c2\u6570\uff0c\u5728\u4e0d\u4f7f\u7528 Unsloth \u4fee\u590d\u7684\u60c5\u51b5\u4e0b\u8fd0\u884c\u76f8\u540c\u7684\u547d\u4ee4\u3002\u8f93\u51fa\u7ed3\u679c\u5c06\u4fdd\u5b58\u5230 Q4_K_M_no_samplers.txt \u6587\u4ef6\u3002<\/p>\n<pre><code>.\/llama.cpp\/llama-cli\r\n--model unsloth-QwQ-32B-GGUF\/QwQ-32B-Q4_K_M.gguf\r\n--threads 32\r\n--ctx-size 16384\r\n--n-gpu-layers 99\r\n--seed 3407\r\n--prio 2\r\n--temp 0.6\r\n--repeat-penalty 1.1\r\n--dry-multiplier 0.5\r\n--min-p 0.1\r\n--top-k 40\r\n--top-p 0.95\r\n-no-cnv\r\n--prompt \"&lt;|im_start|&gt;user\\nCreate a Flappy Bird game in Python. You must include these things:\\n1. You must use pygame.\\n2. The background color should be randomly chosen and is a light shade. Start with a light blue color.\\n3. Pressing SPACE multiple times will accelerate the bird.\\n4. The bird's shape should be randomly chosen as a square, circle or triangle. The color should be randomly chosen as a dark color.\\n5. Place on the bottom some land colored as dark brown or yellow chosen randomly.\\n6. Make a score shown on the top right side. Increment if you pass pipes and don't hit them.\\n7. Make randomly spaced pipes with enough space. Color them randomly as dark green or light brown or a dark gray shade.\\n8. When you lose, show the best score. Make the text inside the screen. Pressing q or Esc will quit the game. Restarting is pressing SPACE again.\\nThe final game should be inside a markdown section in Python. Check your code for errors and fix them before the final markdown section.&lt;|im_end|&gt;\\n&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n\"\r\n2&gt;&amp;1 | tee Q4_K_M_no_samplers.txt\r\n<\/code><\/pre>\n<p>\u5728\u4e0d\u4f7f\u7528\u4fee\u590d\u7684\u60c5\u51b5\u4e0b\uff0c\u6a21\u578b\u751f\u6210\u7ed3\u679c\u4f1a\u51fa\u73b0\u5faa\u73af\uff0c\u5e76\u4e14 Python \u8bed\u6cd5\u9519\u8bef\u9891\u51fa \uff0c\u4ee5\u53ca\u5176\u4ed6\u5404\u79cd\u95ee\u9898\u3002\u4f8b\u5982\uff0c\u4ee5\u4e0b\u4ee3\u7801\u7247\u6bb5\u770b\u4f3c\u6b63\u786e\uff0c\u4f46\u5b9e\u9645\u4e0a\u5b58\u5728\u9519\u8bef\uff01\u7b2c 39 \u884c pipes.clear() ### &lt;&lt;&lt; NameError: name &#8216;pipes&#8217; is not defined. Did you forget to import &#8216;pipes&#8217;? \u63d0\u793a pipes \u672a\u5b9a\u4e49\u3002<\/p>\n<pre><code>import pygame\r\nimport random\r\npygame.init()\r\n# Constants\r\nWIDTH, HEIGHT = 800, 600\r\nGROUND_HEIGHT = 20\r\nGRAVITY = 0.7\r\nPIPE_SPEED = -3\r\nBIRD_SIZE = 45\r\nMIN_GAP = 130\r\nMAX_GAP = 200\r\nPIPE_COLORS = [(0, 96, 0), (205, 133, 63), (89, 97, 107)]\r\nDARK_BROWN = (94, 72, 4)\r\nYELLOW = (252, 228, 6)\r\nscreen = pygame.display.set_mode((WIDTH, HEIGHT))\r\nclock = pygame.time.Clock()\r\ndef random_light_color():\r\nreturn (\r\nrandom.randint(180, 230),\r\nrandom.randint(190, 300),\r\nrandom.randint(250, 255)\r\n)\r\ndef reset_game():\r\nglobal bird_x, bird_y\r\nglobal pipes, score\r\nglobal background_color, land_color\r\nglobal bird_shape, bird_color\r\n# Bird properties\r\nbird_x = WIDTH * 0.3\r\nbird_y = HEIGHT \/\/ 2\r\nbird_vel = -5  # Initial upward thrust\r\npipes.clear() ### &lt;&lt;&lt; NameError: name 'pipes' is not defined. Did you forget to import 'pipes'?\r\n<\/code><\/pre>\n<p>\u5982\u679c\u8fdb\u4e00\u6b65\u5c06 &#8211;repeat-penalty \u63d0\u9ad8\u5230 1.5\uff0c\u60c5\u51b5\u4f1a\u53d8\u5f97\u66f4\u7cdf\uff0c\u8bed\u6cd5\u9519\u8bef\u66f4\u52a0\u660e\u663e\uff0c\u4ee3\u7801\u4e5f\u5b8c\u5168\u65e0\u6cd5\u8fd0\u884c\u3002<\/p>\n<pre><code>import pygame\r\nfrom random import randint  # For generating colors\/shapes\/positions randomly \r\npygame.init()\r\n# Constants:\r\nWIDTH, HEIGHT =456 ,702   #\r\nBACKGROUND_COLOR_LIGHTS=['lightskyblue']\r\nGAP_SIZE=189           #\r\nBIRD_RADIUS=3.  \r\nPIPE_SPEED=- ( )    ? \r\nclass Game():\r\ndef __init__(self):\r\nself.screen_size=( )\r\ndef reset_game_vars():\r\nglobal current_scor e\r\n# set to zero and other initial states.\r\n# Main game loop:\r\nwhile running :\r\nfor event in pygame.event.get() : \r\nif quit ... etc\r\npygame.quit()\r\nprint(\"Code is simplified. Due time constraints, full working version requires further implementation.\")\r\n<\/code><\/pre>\n<p>\u53ef\u80fd\u6709\u4eba\u4f1a\u8ba4\u4e3a\u8fd9\u53ea\u662f Q4_K_M \u91cf\u5316\u7248\u672c\u7684\u95ee\u9898\uff1fBF16 \u5168\u7cbe\u5ea6\u7248\u672c\u5e94\u8be5\u6ca1\u95ee\u9898\u5427\uff1f\u7136\u800c\uff0c\u4e8b\u5b9e\u5e76\u975e\u5982\u6b64\u3002\u5373\u4f7f\u4f7f\u7528 BF16 \u5168\u7cbe\u5ea6\u6a21\u578b\uff0c\u5982\u679c\u4e0d\u5e94\u7528 Unsloth \u56e2\u961f\u63d0\u4f9b\u7684 -samplers &#8220;top_k;top_p;min_p;temperature;dry;typ_p;xtc&#8221; \u4fee\u590d\u65b9\u6848\uff0c\u5e76\u4f7f\u7528 Repetition Penalty\uff0c\u540c\u6837\u4f1a\u51fa\u73b0\u751f\u6210\u5931\u8d25\u7684\u60c5\u51b5\u3002<\/p>\n<h2>token \u672a\u663e\u793a\uff1f<\/h2>\n<p>\ud83e\udd14\u00a0<a href=\"https:\/\/www.kdjingpai.com\/ja\/tokenization\/\">token<\/a> \u672a\u663e\u793a\uff1f<\/p>\n<p>\u6709\u7528\u6237\u53cd\u9988\uff0c\u7531\u4e8e\u804a\u5929\u6a21\u677f\u9ed8\u8ba4\u6dfb\u52a0\u4e86\u00a0token\uff0c\u90e8\u5206\u7cfb\u7edf\u53ef\u80fd\u65e0\u6cd5\u6b63\u786e\u8f93\u51fa\u601d\u8003\u8fc7\u7a0b\u3002\u7528\u6237\u9700\u8981\u624b\u52a8\u7f16\u8f91 Jinja \u6a21\u677f\uff0c\u5c06\uff1a<\/p>\n<pre><code>{%- if tools %} {{- '&lt;|im_start|&gt;system\\n' }} {%- if messages[0]['role'] == 'system' %} {{- messages[0]['content'] }} {%- else %} {{- '' }} {%- endif %} {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within &lt;tools&gt;&lt;\/tools&gt; XML tags:\\n&lt;tools&gt;\" }} {%- for tool in tools %} {{- \"\\n\" }} {{- tool | tojson }} {%- endfor %} {{- \"\\n&lt;\/tools&gt;\\n\\nFor each function call, return a json object with function name and arguments within &lt;tool_call&gt;&lt;\/tool_call&gt; XML tags:\\n&lt;tool_call&gt;\\n{\\\"name\\\": &lt;function-name&gt;, \\\"arguments\\\": &lt;args-json-object&gt;}\\n&lt;\/tool_call&gt;&lt;|im_end|&gt;\\n\" }} {%- else %} {%- if messages[0]['role'] == 'system' %} {{- '&lt;|im_start|&gt;system\\n' + messages[0]['content'] + '&lt;|im_end|&gt;\\n' }} {%- endif %} {%- endif %} {%- for message in messages %} {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %} {{- '&lt;|im_start|&gt;' + message.role + '\\n' + message.content + '&lt;|im_end|&gt;' + '\\n' }} {%- elif message.role == \"assistant\" and not message.tool_calls %} {%- set content = message.content.split('&lt;\/think&gt;')[-1].lstrip('\\n') %} {{- '&lt;|im_start|&gt;' + message.role + '\\n' + content + '&lt;|im_end|&gt;' + '\\n' }} {%- elif message.role == \"assistant\" %} {%- set content = message.content.split('&lt;\/think&gt;')[-1].lstrip('\\n') %} {{- '&lt;|im_start|&gt;' + message.role }} {%- if message.content %} {{- '\\n' + content }} {%- endif %} {%- for tool_call in message.tool_calls %} {%- if tool_call.function is defined %} {%- set tool_call = tool_call.function %} {%- endif %} {{- '\\n&lt;tool_call&gt;\\n{\"name\": \"' }} {{- tool_call.name }} {{- '\", \"arguments\": ' }} {{- tool_call.arguments | tojson }} {{- '}\\n&lt;\/tool_call&gt;' }} {%- endfor %} {{- '&lt;|im_end|&gt;\\n' }} {%- elif message.role == \"tool\" %} {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %} {{- '&lt;|im_start|&gt;user' }} {%- endif %} {{- '\\n&lt;tool_response&gt;\\n' }} {{- message.content }} {{- '\\n&lt;\/tool_response&gt;' }} {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %} {{- '&lt;|im_end|&gt;\\n' }} {%- endif %} {%- endif %} {%- endfor %} {%- if add_generation_prompt %} {{- '&lt;|im_start|&gt;assistant\\n&lt;think&gt;\\n' }} {%- endif %}\r\n<\/code><\/pre>\n<p>\u4fee\u6539\u4e3a\u79fb\u9664\u672b\u5c3e\u00a0\\n \u7684\u7248\u672c\u3002\u4fee\u6539\u540e\uff0c\u6a21\u578b\u9700\u8981\u5728\u63a8\u7406\u8fc7\u7a0b\u4e2d\u624b\u52a8\u6dfb\u52a0\u00a0\\n \uff0c\u4f46\u8fd9\u53ef\u80fd\u5e76\u975e\u603b\u80fd\u6210\u529f\u3002DeepSeek \u56e2\u961f\u4e5f\u4fee\u6539\u4e86\u6240\u6709\u6a21\u578b\uff0c\u9ed8\u8ba4\u6dfb\u52a0\u00a0token\uff0c\u4ee5\u5f3a\u5236\u6a21\u578b\u8fdb\u5165\u63a8\u7406\u6a21\u5f0f\u3002<\/p>\n<p>\u56e0\u6b64\uff0c\u5c06 {%- if add_generation_prompt %} {{- &#8216;&lt;|im_start|&gt;assistant\\n\\n&#8217; }} {%- endif %} \u4fee\u6539\u4e3a {%- if add_generation_prompt %} {{- &#8216;&lt;|im_start|&gt;assistant\\n&#8217; }} {%- endif %} \uff0c\u5373\u79fb\u9664\u00a0\\n \u3002<\/p>\n<p>\u5220\u9664\u4e86\u00a0\\n \u90e8\u5206\u7684\u5b8c\u6574 jinja \u6a21\u677f<\/p>\n<pre><code>{%- if tools %} {{- '&lt;|im_start|&gt;system\\n' }} {%- if messages[0]['role'] == 'system' %} {{- messages[0]['content'] }} {%- else %} {{- '' }} {%- endif %} {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within &lt;tools&gt;&lt;\/tools&gt; XML tags:\\n&lt;tools&gt;\" }} {%- for tool in tools %} {{- \"\\n\" }} {{- tool | tojson }} {%- endfor %} {{- \"\\n&lt;\/tools&gt;\\n\\nFor each function call, return a json object with function name and arguments within &lt;tool_call&gt;&lt;\/tool_call&gt; XML tags:\\n&lt;tool_call&gt;\\n{\\\"name\\\": &lt;function-name&gt;, \\\"arguments\\\": &lt;args-json-object&gt;}\\n&lt;\/tool_call&gt;&lt;|im_end|&gt;\\n\" }} {%- else %} {%- if messages[0]['role'] == 'system' %} {{- '&lt;|im_start|&gt;system\\n' + messages[0]['content'] + '&lt;|im_end|&gt;\\n' }} {%- endif %} {%- endif %} {%- for message in messages %} {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %} {{- '&lt;|im_start|&gt;' + message.role + '\\n' + message.content + '&lt;|im_end|&gt;' + '\\n' }} {%- elif message.role == \"assistant\" and not message.tool_calls %} {%- set content = message.content.split('&lt;\/think&gt;')[-1].lstrip('\\n') %} {{- '&lt;|im_start|&gt;' + message.role + '\\n' + content + '&lt;|im_end|&gt;' + '\\n' }} {%- elif message.role == \"assistant\" %} {%- set content = message.content.split('&lt;\/think&gt;')[-1].lstrip('\\n') %} {{- '&lt;|im_start|&gt;' + message.role }} {%- if message.content %} {{- '\\n' + content }} {%- endif %} {%- for tool_call in message.tool_calls %} {%- if tool_call.function is defined %} {%- set tool_call = tool_call.function %} {%- endif %} {{- '\\n&lt;tool_call&gt;\\n{\"name\": \"' }} {{- tool_call.name }} {{- '\", \"arguments\": ' }} {{- tool_call.arguments | tojson }} {{- '}\\n&lt;\/tool_call&gt;' }} {%- endfor %} {{- '&lt;|im_end|&gt;\\n' }} {%- elif message.role == \"tool\" %} {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %} {{- '&lt;|im_start|&gt;user' }} {%- endif %} {{- '\\n&lt;tool_response&gt;\\n' }} {{- message.content }} {{- '\\n&lt;\/tool_response&gt;' }} {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %} {{- '&lt;|im_end|&gt;\\n' }} {%- endif %} {%- endif %} {%- endfor %} {%- if add_generation_prompt %} {{- '&lt;|im_start|&gt;assistant\\n' }} {%- endif %}\r\n<\/code><\/pre>\n<h2>\u989d\u5916\u8bf4\u660e<\/h2>\n<p>\u989d\u5916\u8bf4\u660e<\/p>\n<p>Unsloth \u56e2\u961f\u6700\u521d\u63a8\u6d4b\u95ee\u9898\u53ef\u80fd\u6e90\u4e8e\u4ee5\u4e0b\u51e0\u70b9\uff1a<\/p>\n<ul>\n<li>QwQ \u7684\u4e0a\u4e0b\u6587\u957f\u5ea6\u53ef\u80fd\u5e76\u975e\u539f\u751f 128K\uff0c\u800c\u662f 32K \u52a0\u4e0a YaRN \u6269\u5c55\u3002\u4f8b\u5982\uff0c\u5728\u00a0https:\/\/huggingface.co\/Qwen\/QwQ-32B\u00a0\u7684 readme \u6587\u4ef6\u4e2d\uff0c\u53ef\u4ee5\u770b\u5230\uff1a<\/li>\n<\/ul>\n<pre><code>{\r\n...,\r\n\"rope_scaling\": {\r\n\"factor\": 4.0,\r\n\"original_max_position_embeddings\": 32768,\r\n\"type\": \"yarn\"\r\n}\r\n}\r\n<\/code><\/pre>\n<p>Unsloth \u56e2\u961f\u5c1d\u8bd5\u5728 llama.cpp \u4e2d\u91cd\u5199 YaRN \u7684\u5904\u7406\u65b9\u5f0f\uff0c\u4f46\u95ee\u9898\u4f9d\u65e7\u3002<\/p>\n<pre><code>--override-kv qwen2.context_length=int:131072\r\n--override-kv qwen2.rope.scaling.type=str:yarn\r\n--override-kv qwen2.rope.scaling.factor=float:4\r\n--override-kv qwen2.rope.scaling.original_context_length=int:32768\r\n--override-kv qqwen2.rope.scaling.attn_factor=float:1.13862943649292 \\\r\n<\/code><\/pre>\n<ul>\n<li>Unsloth \u56e2\u961f\u8fd8\u6000\u7591 RMS Layernorm epsilon \u503c\u53ef\u80fd\u4e0d\u6b63\u786e\uff0c\u6216\u8bb8\u5e94\u8be5\u662f 1e-6 \u800c\u975e 1e-5\u3002\u4f8b\u5982\uff0c\u00a0<a href=\"http:\/\/https%3A%2F%2Fhuggingface.co%2FQwen%2FQwen2.5-32B-Instruct%2Fblob%2Fmain%2Fconfig.json\">\u8fd9\u4e2a\u94fe\u63a5<\/a>\u00a0\u4e2d rms_norm_eps=1e-06 \uff0c\u800c\u00a0<a href=\"http:\/\/https%3A%2F%2Fhuggingface.co%2FQwen%2FQwen2.5-32B%2Fblob%2Fmain%2Fconfig.json\">\u8fd9\u4e2a\u94fe\u63a5<\/a>\u00a0\u4e2d rms_norm_eps=1e-05 \u3002Unsloth \u56e2\u961f\u4e5f\u5c1d\u8bd5\u91cd\u5199\u4e86\u8fd9\u4e2a\u503c\uff0c\u4f46\u95ee\u9898\u4ecd\u7136\u6ca1\u6709\u89e3\u51b3\uff1a<\/li>\n<\/ul>\n<pre><code>--override-kv qwen2.attention.layer_norm_rms_epsilon=float:0.000001 \\\r\n<\/code><\/pre>\n<ul>\n<li>\u611f\u8c22\u00a0@kalomaze\u00a0\u7684\u5e2e\u52a9\uff0cUnsloth \u56e2\u961f\u8fd8\u6d4b\u8bd5\u4e86 llama.cpp \u548c Transformers \u4e4b\u95f4\u7684 tokenizer IDs \u662f\u5426\u5339\u914d\u3002\u7ed3\u679c\u663e\u793a\u5b83\u4eec\u662f\u5339\u914d\u7684\uff0c\u56e0\u6b64 tokenizer IDs \u4e0d\u5339\u914d\u4e5f\u4e0d\u662f\u95ee\u9898\u6839\u6e90\u3002<\/li>\n<\/ul>\n<p>\u4ee5\u4e0b\u662f Unsloth \u56e2\u961f\u7684\u5b9e\u9a8c\u7ed3\u679c\uff1a<\/p>\n<p><a href=\"https:\/\/3215535692-files.gitbook.io\/~\/files\/v0\/b\/gitbook-x-prod.appspot.com\/o\/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FeABgnEXerhmNw1jzUmrr%2Ffile_BF16_no_samplers.txt?alt=media&amp;token=d11aa8f8-0ff7-4370-9412-6129bd980a42\">61KB file_BF16_no_samplers.txt<\/a><\/p>\n<p>BF16 \u5168\u7cbe\u5ea6\uff0c\u672a\u5e94\u7528\u91c7\u6837\u4fee\u590d<\/p>\n<p><a href=\"https:\/\/3215535692-files.gitbook.io\/~\/files\/v0\/b\/gitbook-x-prod.appspot.com\/o\/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fv01qqEwj6PHVE9VvPzfg%2Ffile_BF16_yes_samplers.txt?alt=media&amp;token=d8ecf5bf-b4f2-4abe-a0b4-26d7e8e862f9\">55KB file_BF16_yes_samplers.txt<\/a><\/p>\n<p>BF16 \u5168\u7cbe\u5ea6\uff0c\u5df2\u5e94\u7528\u91c7\u6837\u4fee\u590d<\/p>\n<p><a href=\"https:\/\/3215535692-files.gitbook.io\/~\/files\/v0\/b\/gitbook-x-prod.appspot.com\/o\/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fi3eSz0NWvc44CkRUanrY%2Ffinal_Q4_K_M_no_samplers.txt?alt=media&amp;token=deca70bd-fc21-44a9-b42c-87837ac3a8ce\">71KB final_Q4_K_M_no_samplers.txt<\/a><\/p>\n<p>Q4_K_M \u7cbe\u5ea6\uff0c\u672a\u5e94\u7528\u91c7\u6837\u4fee\u590d<\/p>\n<p><a href=\"https:\/\/3215535692-files.gitbook.io\/~\/files\/v0\/b\/gitbook-x-prod.appspot.com\/o\/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FBtdJmKQjMZVlpO1HfWE7%2Ffinal_Q4_K_M_yes_samplers.txt?alt=media&amp;token=f266d668-71ab-436d-8c05-b720e56e348e\">65KB final_Q4_K_M_yes_samplers.txt<\/a><\/p>\n<p>Q4_K_M \u7cbe\u5ea6\uff0c\u5df2\u5e94\u7528\u91c7\u6837\u4fee\u590d<\/p>\n<h2>Tokenizer Bug \u4fee\u590d<\/h2>\n<p>\u270f\ufe0f Tokenizer Bug \u4fee\u590d<\/p>\n<ul>\n<li>Unsloth \u56e2\u961f\u8fd8\u53d1\u73b0\u4e86\u4e00\u4e9b\u5f71\u54cd\u5fae\u8c03\u7684\u5177\u4f53\u95ee\u9898\uff01EOS token \u662f\u6b63\u786e\u7684\uff0c\u4f46 PAD token \u66f4\u5408\u7406\u7684\u9009\u62e9\u5e94\u8be5\u662f &#8220;&lt;|vision_pad|&gt;&#8221; \u3002Unsloth \u56e2\u961f\u5df2\u5728\u00a0https:\/\/huggingface.co\/unsloth\/QwQ-32B\/blob\/main\/tokenizer_config.json\u00a0\u4e2d\u66f4\u65b0\u4e86\u914d\u7f6e\u3002<\/li>\n<\/ul>\n<pre><code>\"eos_token\": \"&lt;|im_end|&gt;\",\r\n\"pad_token\": \"&lt;|endoftext|&gt;\",\r\n<\/code><\/pre>\n<h2>\u52a8\u6001 4-bit \u91cf\u5316<\/h2>\n<p>\ud83d\udee0\ufe0f \u52a8\u6001 4-bit \u91cf\u5316<\/p>\n<p>Unsloth \u56e2\u961f\u8fd8\u4e0a\u4f20\u4e86\u52a8\u6001 4-bit \u91cf\u5316\u6a21\u578b\uff0c\u76f8\u8f83\u4e8e\u6734\u7d20\u7684 4-bit \u91cf\u5316\uff0c\u52a8\u6001 4-bit \u91cf\u5316\u53ef\u4ee5\u663e\u8457\u63d0\u9ad8\u6a21\u578b\u7cbe\u5ea6\uff01\u4e0b\u56fe\u5c55\u793a\u4e86 QwQ \u6a21\u578b\u6fc0\u6d3b\u503c\u548c\u6743\u91cd\u5728\u91cf\u5316\u8fc7\u7a0b\u4e2d\u7684\u8bef\u5dee\u5206\u6790\uff1a<\/p>\n<pre><code>![alt text](https:\/\/docs.unsloth.ai\/~gitbook\/image?url=https%3A%2F%2F3215535692-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FxhOjnexMCB3dmuQFQ2Zq%252Fuploads%252F32wjrIWeUEQTMq9PhmbS%252FQwQ%2520quantization%2520errors.png%3Falt%3Dmedia%26token%3D0733fd33-9fe9-4aad-812c-75dbad00373f&amp;width=768&amp;dpr=4&amp;quality=100&amp;sign=aafe447c&amp;sv=2)\r\n<\/code><\/pre>\n<p>Unsloth \u56e2\u961f\u5df2\u5c06\u52a8\u6001 4-bit \u91cf\u5316\u6a21\u578b\u4e0a\u4f20\u81f3\uff1a\u00a0https:\/\/huggingface.co\/unsloth\/QwQ-32B-unsloth-bnb-4bit\u3002<\/p>\n<p>\u81ea <a href=\"https:\/\/www.kdjingpai.com\/ja\/vllm\/\">vLLM<\/a> 0.7.3 \u7248\u672c\uff082024 \u5e74 2 \u6708 20 \u65e5\uff09\u8d77\u00a0https:\/\/github.com\/vllm-project\/vllm\/releases\/tag\/v0.7.3\uff0cvLLM \u5df2\u7ecf\u5f00\u59cb\u652f\u6301\u52a0\u8f7d Unsloth \u52a8\u6001 4-bit \u91cf\u5316\u6a21\u578b\uff01<\/p>\n<p>\u6240\u6709 GGUF \u683c\u5f0f\u6a21\u578b\u5747\u53ef\u5728\u00a0https:\/\/huggingface.co\/unsloth\/QwQ-32B-GGUF\u00a0\u627e\u5230\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6700\u8fd1\uff0cQwen \u56e2\u961f\u53d1\u5e03\u4e86 QwQ-32B \u6a21\u578b\uff0c\u8fd9\u6b3e\u63a8\u7406\u6a21\u578b\u5728\u8bf8\u591a\u00a0\u8bc4\u6d4b\u57fa\u51c6\u00a0\u4e0a\u5c55\u73b0\u51fa\u5ab2\u7f8e DeepSeek-R1 \u7684\u5353\u8d8a\u6027\u80fd\u3002\u7136\u800c\uff0c\u4e0d\u5c11\u7528\u6237\u5728\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u9047\u5230\u4e86 \u65e0\u9650\u751f\u6210 \u3001 \u91cd\u590d\u5185\u5bb9\u8fc7\u591a \u3001token \u95ee\u9898\u4ee5\u53ca\u5fae\u8c03\u96be\u9898\u3002\u672c\u6587\u65e8\u5728\u63d0\u4f9b\u4e00\u4efd&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[182],"tags":[],"class_list":["post-27962","post","type-post","status-publish","format-standard","hentry","category-shicao"],"_links":{"self":[{"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/posts\/27962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/comments?post=27962"}],"version-history":[{"count":0,"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/posts\/27962\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/media?parent=27962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/categories?post=27962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kdjingpai.com\/de\/wp-json\/wp\/v2\/tags?post=27962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}