模型概述
模型特點
模型能力
使用案例
🚀 QwQ-32B-ArliAI-RpR-v4 GGUF模型
QwQ-32B-ArliAI-RpR-v4 GGUF模型是基於特定技術生成的文本生成模型。它採用了先進的量化方法,在低比特量化上有顯著優勢,同時提供多種模型格式以適應不同的硬件和內存需求。該模型適用於角色扮演、創意寫作等場景,在長對話中能保持連貫且有趣的輸出。
🚀 快速開始
你可以通過以下鏈接訪問模型:
- BF16格式:https://huggingface.co/ArliAI/QwQ-32B-ArliAI-RpR-v4
- GGUF格式:https://huggingface.co/ArliAI/QwQ-32B-ArliAI-RpR-v4-GGUF
你還可以在以下平臺與我們交流:
- Discord服務器:https://discord.com/invite/t75KbPgwhk
- Reddit子版塊:https://www.reddit.com/r/ArliAI/
✨ 主要特性
超低比特量化
- 引入了針對超低比特模型(1 - 2比特)的精度自適應量化方法,在Llama - 3 - 8B上經基準測試證明有顯著改進。
- 採用特定層策略,在保持極端內存效率的同時保留準確性。
多模型格式支持
提供多種模型格式,如BF16、F16、量化模型(Q4_K、Q6_K、Q8等)和極低比特量化模型(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0),可根據硬件能力和內存限制選擇合適的格式。
角色扮演和創意寫作能力
基於RpR數據集微調,在角色扮演和創意寫作場景中表現出色,能在長多輪對話中保持連貫且有趣的輸出。
推理能力
具備推理能力,在使用時需正確設置相關參數,以確保模型正常工作。
📦 安裝指南
文檔未提及具體安裝步驟,你可參考模型鏈接中的相關說明進行安裝。
💻 使用示例
推理模型的設置示例
對於推理模型,在ST中使用時需要進行以下設置:
- 前綴:僅設置為
<think>
。 - 後綴:僅設置為
</think>
,且無空格或換行符。 - 回覆起始:以
<think>
開始。 - 始終添加角色名稱:取消勾選。
- 包含名稱:設置為“從不”。
- 聊天模板:應符合所使用的模型。
測試命令示例
你可以使用以下命令進行測試:
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a comprehensive security audit on my server"
"Create a cmd processor to .. (what ever you want)"
推薦採樣器設置
推薦首先使用以下采樣器參數:
- 溫度(Temperature):1.0
- 最小概率(MinP):0.02
- TopK:40
- 響應令牌數(Response Tokens):2048+
📚 詳細文檔
模型生成細節
該模型使用 llama.cpp 在提交版本 f5cd27b7
時生成。
超低比特量化詳情
基準測試背景
所有測試均在 Llama - 3 - 8B - Instruct 上進行,使用標準困惑度評估管道、2048 令牌上下文窗口,且所有量化使用相同的提示集。
方法
- 動態精度分配:
- 前/後 25% 的層使用 IQ4_XS(選定層)。
- 中間 50% 使用 IQ2_XXS/IQ3_S(提高效率)。
- 關鍵組件保護:
- 嵌入層/輸出層使用 Q5_K,與標準 1 - 2 比特量化相比,可減少 38% 的誤差傳播。
量化性能比較(Llama - 3 - 8B)
量化方式 | 標準困惑度(PPL) | DynamicGate 困惑度(PPL) | 困惑度變化(∆ PPL) | 標準大小 | DG 大小 | 大小變化(∆ Size) | 標準速度 | DG 速度 |
---|---|---|---|---|---|---|---|---|
IQ2_XXS | 11.30 | 9.84 | -12.9% | 2.5G | 2.6G | +0.1G | 234s | 246s |
IQ2_XS | 11.72 | 11.63 | -0.8% | 2.7G | 2.8G | +0.1G | 242s | 246s |
IQ2_S | 14.31 | 9.02 | -36.9% | 2.7G | 2.9G | +0.2G | 238s | 244s |
IQ1_M | 27.46 | 15.41 | -43.9% | 2.2G | 2.5G | +0.3G | 206s | 212s |
IQ1_S | 53.07 | 32.00 | -39.7% | 2.1G | 2.4G | +0.3G | 184s | 209s |
選擇合適的模型格式
BF16(Brain Float 16)
- 適用情況:若硬件支持 BF16 加速,推薦使用。它是一種 16 位浮點格式,專為更快計算設計,同時保留良好精度,與 FP32 具有相似動態範圍,但內存使用更低。
- 使用建議:適用於具有原生 BF16 支持的硬件(如較新的 GPU、TPU),希望在節省內存的同時獲得更高精度,或計劃將模型重新量化為其他格式的情況。
- 避免情況:硬件不支持 BF16 時可能會回退到 FP32 並運行較慢,或需要與缺乏 BF16 優化的舊設備兼容時。
F16(Float 16)
- 適用情況:比 BF16 更廣泛支持,是一種 16 位浮點格式,精度較高,但取值範圍小於 BF16。適用於大多數支持 FP16 加速的設備(包括許多 GPU 和一些 CPU)。
- 使用建議:硬件支持 FP16 但不支持 BF16,需要在速度、內存使用和準確性之間取得平衡,或在為 FP16 計算優化的 GPU 或其他設備上運行時使用。
- 避免情況:設備缺乏原生 FP16 支持時可能運行比預期慢,或存在內存限制時。
量化模型(Q4_K、Q6_K、Q8 等)
- 適用情況:量化可減少模型大小和內存使用,同時儘可能保持準確性。低比特模型(Q4_K)最適合最小內存使用,但精度可能較低;高比特模型(Q6_K、Q8_0)準確性更好,但需要更多內存。
- 使用建議:在 CPU 上運行推理且需要優化模型,設備 VRAM 較低無法加載全精度模型,或希望在保持合理準確性的同時減少內存佔用時使用。
- 避免情況:需要最高準確性(全精度模型更適合),或硬件有足夠 VRAM 用於更高精度格式(BF16/F16)時。
極低比特量化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
這些模型針對極端內存效率進行了優化,適用於低功耗設備或內存是關鍵限制因素的大規模部署。
- IQ3_XS:超低比特量化(3 比特),具有極高的內存效率,適用於超低內存設備,即使 Q4_K 也太大的情況,但準確性低於高比特量化。
- IQ3_S:小塊大小,實現最大內存效率,適用於低內存設備,IQ3_XS 過於激進的情況。
- IQ3_M:中等塊大小,準確性優於 IQ3_S,適用於低內存設備,IQ3_S 限制過多的情況。
- Q4_K:4 比特量化,具有逐塊優化,準確性更好,適用於低內存設備,Q6_K 太大的情況。
- Q4_0:純 4 比特量化,針對 ARM 設備優化,適用於基於 ARM 的設備或低內存環境。
模型格式選擇總結表
模型格式 | 精度 | 內存使用 | 設備要求 | 最佳用例 |
---|---|---|---|---|
BF16 | 最高 | 高 | 支持 BF16 的 GPU/CPU | 減少內存的高速推理 |
F16 | 高 | 高 | 支持 FP16 的設備 | BF16 不可用時的 GPU 推理 |
Q4_K | 中低 | 低 | CPU 或低 VRAM 設備 | 內存受限環境 |
Q6_K | 中等 | 適中 | 內存更多的 CPU | 量化模型中準確性更好 |
Q8_0 | 高 | 適中 | 有足夠 VRAM 的 CPU 或 GPU | 量化模型中最佳準確性 |
IQ3_XS | 非常低 | 非常低 | 超低內存設備 | 極端內存效率和低準確性 |
Q4_0 | 低 | 低 | ARM 或低內存設備 | llama.cpp 可針對 ARM 設備優化 |
包含的文件及詳情
QwQ-32B-ArliAI-RpR-v4-bf16.gguf
:模型權重保存為 BF16 格式,適用於希望將模型重新量化為不同格式,且設備支持 BF16 加速的情況。QwQ-32B-ArliAI-RpR-v4-f16.gguf
:模型權重存儲為 F16 格式,適用於設備支持 FP16,特別是 BF16 不可用的情況。QwQ-32B-ArliAI-RpR-v4-bf16-q8_0.gguf
:輸出層和嵌入層保持為 BF16,其他層量化為 Q8_0,適用於設備支持 BF16 且需要量化版本的情況。QwQ-32B-ArliAI-RpR-v4-f16-q8_0.gguf
:輸出層和嵌入層保持為 F16,其他層量化為 Q8_0。QwQ-32B-ArliAI-RpR-v4-q4_k.gguf
:輸出層和嵌入層量化為 Q8_0,其他層量化為 Q4_K,適用於內存有限的 CPU 推理。QwQ-32B-ArliAI-RpR-v4-q4_k_s.gguf
:最小的 Q4_K 變體,以犧牲準確性為代價使用更少內存,適用於極低內存設置。QwQ-32B-ArliAI-RpR-v4-q6_k.gguf
:輸出層和嵌入層量化為 Q8_0,其他層量化為 Q6_K。QwQ-32B-ArliAI-RpR-v4-q8_0.gguf
:完全 Q8 量化模型,準確性更好,但需要更多內存。QwQ-32B-ArliAI-RpR-v4-iq3_xs.gguf
:IQ3_XS 量化,針對極端內存效率優化,適用於超低內存設備。QwQ-32B-ArliAI-RpR-v4-iq3_m.gguf
:IQ3_M 量化,提供中等塊大小,準確性更好,適用於低內存設備。QwQ-32B-ArliAI-RpR-v4-q4_0.gguf
:純 Q4_0 量化,針對 ARM 設備優化,適用於低內存環境,若追求更好準確性可優先選擇 IQ4_NL。
RpR v4 更改
- 減少重複和模仿:採用更高級的過濾方法,去除大語言模型重複相似短語或代用戶發言的示例。若出現重複或模仿情況,是由於基礎 QwQ 模型的訓練方式,而非 RpR 數據集的問題。
- 增加訓練序列長度:將訓練序列長度增加到 16K,有助於在更長的對話中提高意識和記憶能力。
RpR 系列概述
RpR(角色扮演推理)是 ArliAI 的新系列模型,直接基於為 RPMax 系列開發的成功數據集策劃方法和訓練方法構建。RpR 模型使用與 RPMax 相同的策劃、去重的角色扮演和創意寫作數據集,注重多樣性,以確保高創造力並減少跨上下文重複。
模型描述
QwQ - 32B - ArliAI - RpR - v4 是 RpR 系列的第三次發佈。它是一個 320 億參數的模型,基於策劃的 RPMax 數據集使用 RpR 數據集進行微調,並結合了在長多輪對話中保持推理能力的技術。
推薦採樣器
- RpR 模型與重複懲罰類型的採樣器(即使是更高級的如 XTC 或 DRY)配合不佳。
- 最好使用簡單的採樣器設置,並允許模型進行長時間推理(高最大令牌數)。
- 你也可以下載此倉庫文件部分上傳的 ST 主導出文件。
規格
- 基礎模型:QwQ - 32B
- 最大上下文長度:使用 Yarn 時最大 128K(與基礎 QwQ 原生 32K 相同)
- 參數:32B
- 推理模型:是
訓練詳情
- 序列長度:16384
- 訓練輪數:1 輪(繼承自 RPMax 方法)
- 微調方法:RS - QLORA +(秩穩定 LoRA + LoRA 加 8 倍)
- 秩/阿爾法:128 秩 128 阿爾法
- 學習率:0.00001
- 調度器:Rex
- 梯度累積:32
推理模型使用注意事項
推理模型只有在“包含名稱”設置為“從不”時才能正常工作,因為它們總是期望用戶回合的結束符(eos 令牌)後跟 <think>
令牌,以便在輸出響應之前開始推理。如果啟用“包含名稱”,則會在末尾附加角色名稱,如 "Seraphina:<eos_token>",這會使模型對應該先響應還是先推理感到困惑。
🔧 技術細節
數據集策劃
模型訓練使用的數據集成功得益於訓練方法和為微調創建的獨特數據集。它包含儘可能多的開源創意寫作和角色扮演數據集(均來自 Hugging Face),經過篩選去除了純合成生成的數據集,因為它們往往會降低模型性能,使模型學習 GPT 風格而非有所幫助。然後使用 Llama 3.1 8B(或類似能力的模型)創建這些數據集中描繪的角色和情況的數據庫,用於去重,確保任何角色或情況只有一個條目。
微調的黃金法則
與預訓練階段通常數據越多越好不同,微調模型的黃金法則是質量優於數量。因此,這裡使用的數據集實際上比包含重複角色和情況的數據集小几個數量級,但最終結果是模型不會感覺像是另一個創意寫作/角色扮演模型的“近親繁殖”。
訓練參數和非常規方法
RPMax 和 RpR 方法僅使用 一輪訓練、低梯度累積和高於正常的學習率。訓練期間損失曲線實際上不穩定,上下波動很大,但如果進行平滑處理,它會隨時間穩定下降。理論上,這允許模型從數據集中的每個單獨示例中學習更多,並且通過不使用多輪訓練讓模型看到相同的示例兩次,可防止模型依賴和強化單個角色或故事套路。訓練期間損失的上下波動是因為模型在訓練數據集中的新條目時,從未見過類似示例,因此無法預測與示例條目相似的答案。相對較高的最終損失 1.0 或略高實際上是可以接受的,因為目標不是創建一個能夠輸出與用於訓練的數據集完全相同的模型,而是創建一個足夠有創意以形成自己風格響應的模型。
📄 許可證
本項目採用 Apache - 2.0 許可證。



