今天要和大家分享的是我们团队最新发布的UNA-ThePitbull系列模型。作为Beagle系列的迭代升级版本,这个21.4B参数的模型在70B以下规模中展现了行业领先的性能表现。特别值得一提的是,我们在模型架构和训练方法上做了一些创新性的尝试,使得这个"比特犬"在保持高效计算的同时,展现出惊人的"双商平衡"(EQ与IQ)。
模型目前已经在Hugging Face Hub上开源发布,包括基础版本和由社区伙伴@bartowski提供的量化版本。量化版本采用GGUF格式,完美兼容Ollama、llama.cpp等主流推理框架。对于需要本地部署的研究者和开发者来说,这无疑是个好消息——你可以在消费级硬件上流畅运行这个强大的模型。
这次我们尝试了一个全新的架构方案:在MLP和Attention层之间交替应用均匀性(uniformity)约束。具体来说:
这种交替设计的妙处在于,它既避免了传统模型压缩方法带来的性能骤降,又实现了计算资源的智能分配。在实际测试中,这种架构在保持91.79%的HellaSwag准确率的同时,将推理时的显存占用降低了约20%。
模型的训练分为两个关键阶段:
监督微调(SFT)阶段:
DPO优化阶段:
重要提示:如果进行继续训练,建议将最大学习率设为5e-5并禁用warmup步骤。这种配置在我们的实验中表现出最好的灾难性遗忘抑制效果。
我们在一系列标准基准测试上评估了UNA-ThePitbull的表现,以下是关键指标:
| 测试项目 (设置) | 得分 |
|---|---|
| 平均得分 | 77.82 |
| AI2推理挑战 (25-shot) | 77.73 |
| HellaSwag (10-shot) | 91.79 |
| MMLU (5-shot) | 68.25 |
| TruthfulQA (0-shot) | 78.24 |
| Winogrande (5-shot) | 87.37 |
| GSM8k (5-shot) | 63.53 |
特别值得注意的是模型在TruthfulQA上的表现——78.24%的0-shot准确率表明其在事实性和真实性方面有了显著提升。这对于实际应用场景尤为重要,因为大多数用户期望模型既能提供有帮助的回答,又能保持事实准确性。
基础模型可通过以下方式获取:
python复制from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"fblgit/UNA-ThePitbull-21.4B-v2",
torch_dtype="auto",
device_map="auto"
)
量化版本由社区贡献者@bartowski提供,支持多种推理框架:
bash复制./main -m models/UNA-ThePitbull-21.4B-v2.Q4_K_M.gguf \
-p "你好,比特犬模型"
bash复制ollama pull bartowski/UNA-ThePitbull-21.4B-v2-GGUF
ollama run UNA-ThePitbull
如果需要在特定领域继续训练模型,我们推荐以下配置:
这种配置在我们内部的持续学习实验中表现出色,能够在引入新知识的同时,将原始能力的遗忘率控制在8%以下。
在实际部署中,我们发现以下技巧可以进一步提升效率:
python复制model = AutoModelForCausalLM.from_pretrained(
"...",
use_flash_attention_2=True
)
这可以将长序列推理速度提升2-3倍
问题1:模型在特定语言上表现不佳
问题2:生成结果过于简短
python复制generate(
max_new_tokens=256,
repetition_penalty=1.1,
temperature=0.7
)
问题3:量化版本精度损失明显
基于我们的测试,UNA-ThePitbull特别适合以下场景:
代码生成与补全:
技术文档处理:
多轮对话系统:
研究分析辅助:
在实际部署中,我们发现模型对系统提示词(system prompt)的响应特别敏感。精心设计的提示词可以将模型性能再提升10-15%。例如对于技术问答任务,这样的提示词框架效果很好:
code复制你是一位专业且严谨的{领域}专家。请用清晰有条理的方式回答以下问题。
如果需要处理专业术语或复杂概念,请先给出简明定义。
回答应当:1)准确 2)完整 3)有据可循
最后分享一个我们在内部测试中发现的有趣现象:当遇到特别困难的问题时,在提示词中加入"让我们一步步思考"这样的引导语,可以显著提升模型在复杂推理任务上的表现。这或许反映了模型在分步处理信息方面的强大潜力。