🚀 NextCoder-14B GGUF模型
NextCoder-14B GGUF模型是基於特定技術生成的代碼編輯大語言模型,在代碼編輯方面有顯著提升,能滿足不同開發者的需求。
🚀 快速開始
環境要求
NextCoder的代碼基於Qwen2.5基礎模型,該模型已集成在最新的Hugging face transformers
庫中,建議使用最新版本的 transformers
。若使用 transformers<4.37.0
,會遇到如下錯誤:
KeyError: 'qwen2'
代碼示例
以下提供了一個使用 apply_chat_template
的代碼片段,展示瞭如何加載分詞器和模型,以及如何生成內容。
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "microsoft/NextCoder-14B"
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
prompt = """
Fix the following function that divides two numbers to handle all the edge cases:
def divide(a, b)
returm a/b
"""
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
**model_inputs,
max_new_tokens=1024
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
✨ 主要特性
- 顯著的代碼編輯提升:在複雜基準測試中表現出色,如NextCoder-32B在Aider-Polyglot等基準測試中與GPT-4o表現相當,較基礎模型性能提升44%。
- 無泛化損失:採用新的微調方法 SeleKT,在提升性能的同時不損失泛化能力。
- 長上下文支持:支持長達32K個標記的長上下文。
📚 詳細文檔
模型生成細節
該模型使用 llama.cpp 在提交版本 e743cddb
時生成。
量化超越IMatrix
實驗了一種新的量化方法,可選擇性地提高關鍵層的精度,超越默認IMatrix配置。在測試中,標準IMatrix量化在低比特深度下表現不佳,尤其是對於專家混合(MoE)模型。為此,使用 llama.cpp
中的 --tensor-type
選項手動將重要層的精度提高。實現細節可參考:使用llama.cpp進行層提升。雖然這會增加模型文件大小,但能顯著提高給定量化級別的精度。
模型信息
屬性 |
詳情 |
模型類型 |
因果語言模型 |
訓練階段 |
使用SeleKT進行後訓練 |
架構 |
具有RoPE、SwiGLU、RMSNorm和注意力QKV偏差的transformers |
參數數量 |
147億 |
非嵌入參數數量 |
131億 |
層數 |
48 |
注意力頭數量(GQA) |
Q為40,KV為8 |
評估與性能
模型 |
HUMANEVALFIX |
CANITEDIT |
AIDER |
POLYGLOT |
QwenCoder-2.5-3B |
73.2 |
37.1 |
36.8 |
- |
QwenCoder-2.5-3B-LoRA |
64.6 |
36.2 |
35.8 |
- |
QwenCoder-2.5-3B-SFT |
76.2 |
32.4 |
30.1 |
- |
NextCoder-3B |
75.6 |
42.4 |
37.6 |
- |
QwenCoder-2.5-7B |
73.8 |
48.1 |
59.4 |
- |
QwenCoder-2.5-7B-LoRA |
70.7 |
44.3 |
40.6 |
- |
QwenCoder-2.5-7B-SFT |
70.1 |
36.7 |
48.9 |
- |
NextCoder-7B |
81.1 |
50.5 |
65.7 |
- |
QwenCoder-2.5-14B |
87.8 |
58.1 |
66.9 |
9.3 |
QwenCoder-2.5-14B-LoRA |
78.0 |
50.9 |
66.2 |
5.3 |
QwenCoder-2.5-14B-SFT |
79.9 |
42.4 |
36.8 |
3.1 |
NextCoder-14B |
89.8 |
60.2 |
72.2 |
12.2 |
QwenCoder-2.5-32B |
90.2 |
61.0 |
72.9 |
16.4 |
QwenCoder-2.5-32B-LoRA |
82.3 |
52.4 |
60.2 |
6.7 |
QwenCoder-2.5-32B-SFT |
81.7 |
49.5 |
66.9 |
8.4 |
NextCoder-32B |
88.9 |
62.4 |
74.7 |
23.6 |
不同大小的基礎QwenCoder-2.5模型及其SELEKT增強版本在三個代碼編輯基準測試中的比較。
詳細評估結果見此 📑 論文。
負責任的AI使用
基礎模型(來自QwenCoder-2.5系列)易受惡意提示影響,可能生成或執行有害代碼。微調過程不會增強或阻礙此類行為。用戶應負責任且謹慎地使用模型及其輸出。模型輸出在執行前應進行額外分析,包括手動檢查和沙箱測試。
🔧 技術細節
數據集
- microsoft/NextCoderDataset
- microsoft/NextCoderDataset-Conversational
- bigcode/commitpackft
- bigcode/starcoderdata
📄 許可證
本項目採用MIT許可證。
測試AI網絡監控模型
測試邀請
如果您覺得這些模型有用,歡迎幫助測試 AI驅動的量子網絡監控助手,進行 量子就緒安全檢查:
👉 量子網絡監控
量子網絡監控服務的完整開源代碼可在GitHub倉庫(名稱中包含NetworkMonitor的倉庫)找到:量子網絡監控源代碼。如果您想自行量化模型,也能找到相應代碼 GGUFModelBuilder。
測試方法
選擇一種 AI助手類型:
TurboLLM
(GPT-4.1-mini)
HugLLM
(Huggingface開源模型)
TestLLM
(僅支持CPU的實驗性模型)
測試內容
正在測試小型開源模型在AI網絡監控方面的極限,具體包括:
- 針對即時網絡服務的 函數調用。
- 模型規模的下限,同時確保能夠處理以下任務:
- 自動化 Nmap安全掃描。
- 量子就緒檢查。
- 網絡監控任務。
各助手特點
TestLLM(當前實驗模型,在Hugging Face Docker空間的2個CPU線程上運行llama.cpp)
- ✅ 零配置設置。
- ⏳ 加載時間30秒(推理速度慢,但 無API成本)。由於成本低,無標記限制。
- 🔧 尋求幫助! 如果您對邊緣設備AI感興趣,歡迎合作!
TurboLLM(使用 gpt-4.1-mini)
- 性能出色,但不幸的是OpenAI按標記收費,因此標記使用受限。
- 創建自定義命令處理器,在量子網絡監控代理上運行.NET代碼。
- 即時網絡診斷和監控。
- 安全審計。
- 滲透測試 (Nmap/Metasploit)。
HugLLM(最新開源模型)
- 🌐 在Hugging Face推理API上運行。使用Novita託管的最新模型,表現出色。
測試命令示例
"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)"
注意,需要安裝 量子網絡監控代理 才能運行.NET代碼。這是一個非常靈活強大的功能,請謹慎使用!
結束語
創建這些模型文件、運行量子網絡監控服務以及從Novita和OpenAI進行推理的服務器費用均由個人承擔。模型創建和量子網絡監控項目背後的所有代碼均為 開源。歡迎使用任何有用的代碼。
如果您認可這些工作,請考慮 請我喝咖啡 ☕。您的支持有助於支付服務成本,並提高所有人的標記限制。
同時,也歡迎工作機會或贊助。
感謝您的支持!😊
引用
@inproceedings{aggarwal2025nextcoder,
author = {Aggarwal, Tushar and Singh, Swayam and Awasthi, Abhijeet and Kanade, Aditya and Natarajan, Nagarajan},
title = {NextCoder: Robust Adaptation of Code LMs to Diverse Code Edits},
booktitle = {International Conference on Machine Learning},
year = {2025},
url = {https://www.microsoft.com/en-us/research/publication/nextcoder-robust-adaptation-of-code-lms-to-diverse-code-edits/},
}