模型简介
模型特点
模型能力
使用案例
🚀 NextCoder-7B GGUF模型
NextCoder-7B GGUF模型基于Qwen2.5-Coder-7B-Instruct基础模型生成,可用于代码生成、对话等场景。本项目详细介绍了模型的生成细节、量化方法,还提供了使用示例、评估结果等内容。
🚀 快速开始
环境要求
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-7B"
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]
✨ 主要特性
- 代码编辑能力强:在复杂基准测试(如Aider-Polyglot)中,NextCoder-32B的表现与GPT-4o相当,相较于基础模型性能提升了44%。
- 泛化能力无损失:采用新的微调方法SeleKT,保证了模型的泛化能力。
- 长上下文支持:支持长达32K token的上下文。
📦 安装指南
文档未提及安装步骤,可参考Hugging Face transformers
库的官方文档进行安装。
💻 使用示例
基础用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "microsoft/NextCoder-7B"
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]
📚 详细文档
模型生成细节
本模型使用llama.cpp在提交版本5dd942de
下生成。
量化方法
尝试了一种新的量化方法,可选择性地提高关键层的精度,超越了默认IMatrix配置。在测试中,标准IMatrix量化在低比特深度下表现不佳,特别是对于混合专家(MoE)模型。为解决此问题,使用llama.cpp
中的--tensor-type
选项手动将重要层的精度提高。具体实现可参考👉 Layer bumping with llama.cpp。虽然这会增加模型文件的大小,但显著提高了给定量化级别的精度。
模型选择指南
点击👉 选择合适的GGUF模型格式 获取相关信息。
模型信息
属性 | 详情 |
---|---|
模型类型 | 因果语言模型 |
训练阶段 | 使用SeleKT进行后训练 |
架构 | 具有RoPE、SwiGLU、RMSNorm和注意力QKV偏置的transformers架构 |
参数数量 | 76.1亿 |
非嵌入参数数量 | 65.3亿 |
层数 | 28 |
注意力头数量(GQA) | Q为28,KV为4 |
评估与性能
模型 | 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系列)容易受到恶意提示的影响,可能会生成或执行有害代码。微调不会增强或阻碍此类行为。用户应负责任且谨慎地使用模型及其输出。在执行模型输出之前,应进行额外的分析,包括手动检查和沙箱测试。
引用信息
@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/},
}
🔧 技术细节
文档未提及技术实现细节。
📄 许可证
本项目采用MIT许可证。
🚀 模型测试邀请
测试内容
正在测试小型开源模型在AI网络监控方面的极限,具体包括:
- 针对实时网络服务的函数调用。
- 模型在处理以下任务时的最小规模:
- 自动化Nmap安全扫描。
- 量子就绪性检查。
- 网络监控任务。
测试模型
- TestLLM:当前的实验模型(在Hugging Face Docker空间的2个CPU线程上运行llama.cpp):
- 零配置设置。
- 加载时间30秒(推理速度慢,但无API成本),由于成本低,无token限制。
- 寻求帮助:如果您对边缘设备AI感兴趣,欢迎合作!
- TurboLLM:使用gpt-4.1-mini:
- 性能出色,但OpenAI按token收费,因此token使用受限。
- 可创建自定义cmd处理器,在量子网络监控代理上运行.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的推理费用均由个人承担。模型创建和量子网络监控项目的所有代码均为开源。如果您觉得这些工作有帮助,请考虑请我喝杯咖啡 ☕,您的支持将有助于支付服务成本并提高token限制。同时,也欢迎工作机会或赞助。
感谢您的支持!😊



