模型概述
模型特點
模型能力
使用案例
🚀 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}
}



