模型简介
模型特点
模型能力
使用案例
🚀 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 许可证。



