模型简介
模型特点
模型能力
使用案例
🚀 DeepCoder-14B-Preview GGUF模型
DeepCoder-14B-Preview GGUF模型是基于深度强化学习和量化技术的代码推理大语言模型。它在长上下文处理和代码生成任务上表现出色,通过创新的量化方法和训练策略,实现了高精度与低内存占用的平衡,适用于多种硬件环境和应用场景。
✨ 主要特性
- 超低位量化技术:引入了精度自适应量化方法,在超低比特(1 - 2比特)模型上实现了精度与内存效率的平衡。
- 多硬件支持:提供多种模型格式,支持BF16、F16等不同精度,适用于GPU、CPU等多种硬件设备。
- 长上下文推理:通过迭代上下文延长训练,能够在64K上下文长度下进行有效推理。
- 高性能评估:在多个编码基准测试中表现优异,如LiveCodeBench、Codeforces和HumanEval+等。
📦 安装指南
文档未提及具体安装步骤,可参考相关模型推理系统(如vLLM、Hugging Face TGI等)的官方文档进行安装。
💻 使用示例
基础用法
文档未提供具体代码示例,可根据模型支持的OpenAI Chat Completions API格式进行调用。以下是一个简单的Python示例,展示如何使用OpenAI API调用模型:
import openai
# 设置API密钥
openai.api_key = "your_api_key"
# 定义用户提示
prompt = "Give me info on my websites SSL certificate"
# 调用模型
response = openai.ChatCompletion.create(
model="your_model_name",
messages=[
{"role": "user", "content": prompt}
]
)
# 输出结果
print(response.choices[0].message.content)
高级用法
在实际应用中,可以根据具体需求调整模型的参数,如temperature
、top_p
和max_tokens
等,以获得更好的生成效果。
import openai
# 设置API密钥
openai.api_key = "your_api_key"
# 定义用户提示
prompt = "Check if my server is using quantum safe encyption for communication"
# 调用模型,设置参数
response = openai.ChatCompletion.create(
model="your_model_name",
messages=[
{"role": "user", "content": prompt}
],
temperature=0.6,
top_p=0.95,
max_tokens=64000
)
# 输出结果
print(response.choices[0].message.content)
📚 详细文档
超低位量化方法
我们的最新量化方法为超低比特模型(1 - 2比特)引入了精度自适应量化,并在Llama - 3 - 8B上进行了基准测试验证。该方法采用特定层策略,在保持极高内存效率的同时保留了模型的准确性。
基准测试环境
所有测试均在Llama - 3 - 8B - Instruct上进行,使用标准困惑度评估管道、2048令牌上下文窗口,并在所有量化中使用相同的提示集。
量化方法
- 动态精度分配:前/后25%的层采用IQ4_XS(选定层),中间50%采用IQ2_XXS/IQ3_S(提高效率)。
- 关键组件保护:嵌入层/输出层使用Q5_K,与标准1 - 2比特量化相比,可将误差传播降低38%。
量化性能比较(Llama - 3 - 8B)
量化方式 | 标准困惑度 | DynamicGate困惑度 | 困惑度变化 | 标准大小 | DG大小 | 大小变化 | 标准速度 | 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支持、需要更高精度并节省内存、计划将模型重新量化为其他格式。
- 避免场景:硬件不支持BF16、需要与缺乏BF16优化的旧设备兼容。
F16(Float 16)
比BF16更广泛支持,是一种16位浮点格式,具有较高的精度,但取值范围小于BF16。适用于大多数支持FP16加速的设备。
- 使用场景:硬件支持FP16但不支持BF16、需要在速度、内存使用和准确性之间取得平衡、在GPU或其他针对FP16计算优化的设备上运行。
- 避免场景:设备缺乏原生FP16支持、有内存限制。
量化模型(Q4_K, Q6_K, Q8等)
用于CPU和低VRAM推理,量化可在尽可能保持准确性的同时减小模型大小和内存使用。
- 低比特模型(Q4_K):最适合最小化内存使用,但精度可能较低。
- 高比特模型(Q6_K, Q8_0):准确性更好,但需要更多内存。
- 使用场景:在CPU上运行推理、设备VRAM较低、希望在保持合理准确性的同时减少内存占用。
- 避免场景:需要最高准确性、硬件有足够的VRAM支持更高精度的格式(BF16/F16)。
极低比特量化(IQ3_XS, IQ3_S, IQ3_M, Q4_K, Q4_0)
这些模型针对极端内存效率进行了优化,适用于低功耗设备或大规模部署,其中内存是关键限制因素。
模型格式 | 精度 | 内存使用 | 设备要求 | 最佳使用场景 |
---|---|---|---|---|
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设备优化 |
包含文件及详情
文件名 | 描述 |
---|---|
DeepCoder-14B-Preview-bf16.gguf |
模型权重保存为BF16格式,适用于支持BF16加速的设备,可用于将模型重新量化为其他格式。 |
DeepCoder-14B-Preview-f16.gguf |
模型权重保存为F16格式,适用于支持FP16的设备,特别是BF16不可用时。 |
DeepCoder-14B-Preview-bf16-q8_0.gguf |
输出和嵌入层保持为BF16,其他层量化为Q8_0,适用于支持BF16且需要量化版本的设备。 |
DeepCoder-14B-Preview-f16-q8_0.gguf |
输出和嵌入层保持为F16,其他层量化为Q8_0。 |
DeepCoder-14B-Preview-q4_k.gguf |
输出和嵌入层量化为Q8_0,其他层量化为Q4_K,适用于内存有限的CPU推理。 |
DeepCoder-14B-Preview-q4_k_s.gguf |
最小的Q4_K变体,以牺牲准确性为代价减少内存使用,适用于极低内存设置。 |
DeepCoder-14B-Preview-q6_k.gguf |
输出和嵌入层量化为Q8_0,其他层量化为Q6_K。 |
DeepCoder-14B-Preview-q8_0.gguf |
完全Q8量化模型,准确性更好,但需要更多内存。 |
DeepCoder-14B-Preview-iq3_xs.gguf |
IQ3_XS量化,针对极端内存效率进行优化,适用于超低内存设备。 |
DeepCoder-14B-Preview-iq3_m.gguf |
IQ3_M量化,提供中等块大小以提高准确性,适用于低内存设备。 |
DeepCoder-14B-Preview-q4_0.gguf |
纯Q4_0量化,针对ARM设备进行优化,适用于低内存环境,建议使用IQ4_NL以获得更好的准确性。 |
模型测试
如果您发现这些模型有用,请点击“点赞”!同时,帮助我们测试AI驱动的网络监控助手,进行量子就绪安全检查。
测试方法
- 点击任何页面右下角的聊天图标。
- 选择AI助手类型:
TurboLLM
(GPT - 4 - mini)、FreeLLM
(开源)、TestLLM
(仅实验性CPU)。
测试内容
我们正在推动小型开源模型在AI网络监控中的极限,具体包括:
- 针对实时网络服务的函数调用。
- 模型在处理自动化Nmap扫描、量子就绪检查、Metasploit集成等任务时的最小规模。
不同助手特点
- TestLLM:当前实验模型(llama.cpp在6个CPU线程上),零配置设置,加载时间30秒(推理速度慢,但无API成本),寻求边缘设备AI相关的合作。
- TurboLLM:使用gpt - 4 - mini进行实时网络诊断和自动化渗透测试,可通过下载免费网络监控代理获得更多令牌。
- HugLLM:开源模型(约8B参数),比TurboLLM多2倍令牌,支持AI驱动的日志分析,在Hugging Face推理API上运行。
示例AI命令
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a quick Nmap vulnerability test"
🔧 技术细节
模型概述
DeepCoder - 14B - Preview是一个代码推理大语言模型,基于DeepSeek - R1 - Distilled - Qwen - 14B进行微调,使用分布式强化学习(RL)扩展到长上下文长度。该模型在LiveCodeBench v5(8/1/24 - 2/1/25)上实现了60.6%的Pass@1准确率,比基础模型(53%)提高了8%,并在仅14B参数的情况下实现了与OpenAI的o3 - mini相似的性能。
训练数据
训练数据集由大约24K个独特的问题 - 测试对组成,编译自PrimeIntellect/verifiable - coding - problems、likaixin/TACO - verified和livecodebench/code_generation_lite。
训练方法
GRPO+
我们通过结合DAPO的见解改进了原始的GRPO算法,以实现更稳定的训练:
- 离线难度过滤:DAPO采用在线动态采样,实时丢弃完全正确和完全错误的样本。为避免拒绝采样带来的显著运行时开销,我们对一部分编码问题进行离线难度过滤,确保训练数据集保持在合适的难度范围内。
- 无熵损失:观察到包含熵损失项通常会导致训练不稳定,因此我们完全消除了熵损失。
- 无KL损失:消除KL损失可防止LLM停留在原始SFT模型的信任区域内,同时避免计算参考策略的对数概率,从而加速训练。
- 超长过滤(来自DAPO):为保留长上下文推理能力,我们对截断序列的损失进行掩码处理,使DeepCoder能够在64K上下文推理中进行泛化,尽管训练时使用的是32K上下文。
- Clip High(来自DAPO):通过增加GRPO/PPO替代损失的上限,鼓励更多的探索和更稳定的熵。
迭代上下文延长
我们的原始Deepscaler - 1.5B - Preview
将长上下文训练从8K扩展到16K→24K,在AIME上分别实现了33→38→43%的准确率。同样,Deepcoder - 14B - Preview
在16K→32K上进行训练,在LiveCodeBench(v5)上实现了54→58%的准确率。在64K上下文评估时,DeepCoder - 14B - Preview
成功泛化到更长的上下文,达到60.6%的准确率。
评估结果
我们在多个编码基准测试中评估了Deepcoder - 14B - Preview
,包括LiveCodeBench(LCBv5)、Codeforces和HumanEval+。
模型 | LCB (v5)(8/1/24 - 2/1/25) | Codeforces Rating | Codeforces Percentile | HumanEval+ |
---|---|---|---|---|
DeepCoder - 14B - Preview (ours) | 60.6 | 1936 | 95.3 | 92.6 |
DeepSeek - R1 - Distill - Qwen - 14B | 53.0 | 1791 | 92.7 | 92.0 |
O1 - 2024 - 12 - 17 (Low) | 59.5 | 1991 | 96.1 | 90.8 |
O3 - Mini - 2025 - 1 - 31 (Low) | 60.9 | 1918 | 94.9 | 92.6 |
O1 - Preview | 42.7 | 1658 | 88.5 | 89 |
Deepseek - R1 | 62.8 | 1948 | 95.4 | 92.6 |
Llama - 4 - Behemoth | 49.4 | - | - | - |
模型服务
模型可以使用流行的高性能推理系统进行服务,包括vLLM、Hugging Face Text Generation Inference(TGI)、SGLang和TensorRT - LLM,所有这些系统都支持OpenAI Chat Completions API格式。
使用建议
- 避免添加系统提示,所有指令应包含在用户提示中。
temperature = 0.6
top_p = 0.95
- 建议将
max_tokens
设置为至少64000
以获得最佳性能。
📄 许可证
本项目根据MIT许可证发布,体现了我们对开放和可访问AI开发的承诺。我们相信通过免费提供我们的工作,让任何人都可以使用、修改和扩展,能够促进AI社区的创新和合作。
致谢
- 我们的训练实验由Verl的深度修改分支提供支持,这是一个开源的训练后库。
- 我们的模型基于[
DeepSeek - R1 - Distill - Qwen - 14B
](https://huggingface.co/deepseek - ai/DeepSeek - R1 - Distill - Qwen - 14B)进行训练。 - 我们的工作是Berkeley Sky Computing Lab和Berkeley AI Research的一部分。
引用
@misc{deepcoder2025,
title={DeepCoder: A Fully Open-Source 14B Coder at O3-mini Level},
author={Michael Luo, Sijun Tan, Roy Huang, Ameen Patel, Alpay Ariyak, Qingyang Wu, Xiaoxiang Shi, Rachel Xin, Colin Cai, Maurice Weber, Ce Zhang, Li Erran Li, Raluca Ada Popa, Ion Stoica},
howpublished={\url{https://pretty-radio-b75.notion.site/DeepCoder-A-Fully-Open-Source-14B-Coder-at-O3-mini-Level-1cf81902c14680b3bee5eb349a512a51}},
note={Notion Blog},
year={2025}
}



