🚀 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/},
}