Devstral Small 2505 GGUF
模型简介
模型特点
模型能力
使用案例
🚀 Devstral-Small-2505 GGUF模型
Devstral-Small-2505 GGUF模型是专为软件工程项目打造的高效语言模型。它具备轻量级的优势,能在常见设备上流畅运行,同时拥有128k的大上下文窗口,可处理复杂的编码任务。此外,该模型采用Apache 2.0许可证,方便商业和非商业使用。
🚀 快速开始
环境准备
确保你的设备满足以下要求:
- 若使用BF16格式,设备需支持BF16加速。
- 若使用F16格式,设备需支持FP16加速。
- 若使用量化模型,需根据模型的内存需求合理分配资源。
模型部署
你可以通过以下方式部署模型:
- API方式:按照说明创建Mistral账户并获取API密钥,然后运行相应的Docker命令启动OpenHands容器。
- 本地推理:可使用LMStudio或其他指定的库进行本地推理,具体步骤可参考文档中的相关内容。
✨ 主要特性
模型生成特性
超低比特量化特性
- 引入精度自适应量化方法,用于超低比特(1 - 2比特)模型,在Llama - 3 - 8B上经基准测试证明有显著改进。
- 采用层特定策略,在保持极高内存效率的同时保证准确性。
模型格式特性
- BF16(Brain Float 16):专为快速计算设计,保留良好精度,动态范围与FP32相似,但内存使用更低。
- F16(Float 16):比BF16更广泛支持,适用于大多数支持FP16加速的设备。
- 量化模型(Q4_K、Q6_K、Q8等):减少模型大小和内存使用,同时尽可能保持准确性。
- 极低比特量化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0):针对极端内存效率进行优化,适用于低功耗设备或大规模部署。
编码特性
- 智能编码:擅长智能编码任务,是软件工程代理的理想选择。
- 轻量级:仅240亿参数,可在单张RTX 4090或32GB RAM的Mac上运行,适合本地部署和设备端使用。
- 大上下文窗口:拥有128k的上下文窗口,能处理长文本任务。
- 分词器:使用Tekken分词器,词汇量为131k。
📦 安装指南
下载模型文件
根据你的需求选择合适的模型文件,如Devstral-Small-2505-bf16.gguf
、Devstral-Small-2505-f16.gguf
等。
部署模型
API部署
- 创建Mistral账户并获取API密钥。
- 运行以下命令启动OpenHands容器:
export MISTRAL_API_KEY=<MY_KEY>
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik
mkdir -p ~/.openhands-state && echo '{"language":"en","agent":"CodeActAgent","max_iterations":null,"security_analyzer":null,"confirmation_mode":false,"llm_model":"mistral/devstral-small-2505","llm_api_key":"'$MISTRAL_API_KEY'","remote_runtime_resource_factor":null,"github_token":null,"enable_default_condenser":true}' > ~/.openhands-state/settings.json
docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.39-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.39
本地推理部署
以LMStudio为例:
- 下载并安装LMStudio。
- 导入
Devstral-Small-2505
模型。 - 启动Openhands:
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.38-nikolaik
docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.38-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.38
💻 使用示例
基础用法
以下是使用OpenHands与Devstral-Small-2505
交互的示例:
# 启动vLLM服务器
vllm serve mistralai/Devstral-Small-2505 --tokenizer_mode mistral --config_format mistral --load_format mistral --tool-call-parser mistral --enable-auto-tool-choice --tensor-parallel-size 2
# 启动OpenHands
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.38-nikolaik
docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.38-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.38
高级用法
构建待办事项应用
Build a To-Do list app with the following requirements:
- Built using FastAPI and React.
- Make it a one page app that:
- Allows to add a task.
- Allows to delete a task.
- Allows to mark a task as done.
- Displays the list of tasks.
- Store the tasks in a SQLite database.
📚 详细文档
模型生成细节
本模型使用llama.cpp在提交版本f5cd27b7
下生成。
超低比特量化(1 - 2比特)
基准测试背景
所有测试均在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 |
使用场景
- 将模型装入GPU显存
- 内存受限的部署
- 可容忍1 - 2比特误差的CPU和边缘设备
- 超低比特量化研究
选择合适的模型格式
BF16(Brain Float 16)
适用于支持BF16加速的设备,提供更快的计算速度和较低的内存使用。
- 使用场景:设备支持BF16、需要更高精度并节省内存、计划将模型重新量化为其他格式。
- 避免场景:设备不支持BF16、需要与缺乏BF16优化的旧设备兼容。
F16(Float 16)
比BF16更广泛支持,适用于大多数支持FP16加速的设备。
- 使用场景:设备支持FP16但不支持BF16、需要在速度、内存使用和准确性之间取得平衡、在为FP16计算优化的GPU或其他设备上运行。
- 避免场景:设备缺乏原生FP16支持、有内存限制。
量化模型(Q4_K、Q6_K、Q8等)
适用于CPU和低显存推理,减少模型大小和内存使用,同时保持一定的准确性。
- 使用场景:在CPU上运行推理、设备显存低、希望在保持合理准确性的同时减少内存占用。
- 避免场景:需要最高准确性、硬件有足够的显存支持更高精度的格式(BF16/F16)。
极低比特量化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
针对极端内存效率进行优化,适用于低功耗设备或大规模部署。
模型格式 | 精度 | 内存使用 | 设备要求 | 最佳使用场景 |
---|---|---|---|---|
BF16 | 最高 | 高 | 支持BF16的GPU/CPU | 减少内存的高速推理 |
F16 | 高 | 高 | 支持FP16的设备 | BF16不可用时的GPU推理 |
Q4_K | 中低 | 低 | CPU或低显存设备 | 内存受限的环境 |
Q6_K | 中 | 中等 | 内存更多的CPU | 量化模型中准确性较好的选择 |
Q8_0 | 高 | 中等 | 有足够显存的CPU或GPU | 量化模型中准确性最高的选择 |
IQ3_XS | 非常低 | 非常低 | 超低内存设备 | 极端内存效率和低准确性 |
Q4_0 | 低 | 低 | ARM或低内存设备 | llama.cpp可针对ARM设备进行优化 |
包含的文件及详情
文件名 | 说明 |
---|---|
Devstral-Small-2505-bf16.gguf |
模型权重保存为BF16格式,适用于需要重新量化模型的场景,设备需支持BF16加速。 |
Devstral-Small-2505-f16.gguf |
模型权重保存为F16格式,适用于支持FP16的设备,尤其是BF16不可用时。 |
Devstral-Small-2505-bf16-q8_0.gguf |
输出和嵌入层保持BF16格式,其他层量化为Q8_0,适用于支持BF16并需要量化版本的设备。 |
Devstral-Small-2505-f16-q8_0.gguf |
输出和嵌入层保持F16格式,其他层量化为Q8_0。 |
Devstral-Small-2505-q4_k.gguf |
输出和嵌入层量化为Q8_0,其他层量化为Q4_K,适用于内存有限的CPU推理。 |
Devstral-Small-2505-q4_k_s.gguf |
最小的Q4_K变体,以牺牲准确性为代价减少内存使用,适用于极低内存设置。 |
Devstral-Small-2505-q6_k.gguf |
输出和嵌入层量化为Q8_0,其他层量化为Q6_K。 |
Devstral-Small-2505-q8_0.gguf |
完全Q8量化的模型,准确性更高,但需要更多内存。 |
Devstral-Small-2505-iq3_xs.gguf |
IQ3_XS量化,针对极端内存效率进行优化,适用于超低内存设备。 |
Devstral-Small-2505-iq3_m.gguf |
IQ3_M量化,提供中等块大小以提高准确性,适用于低内存设备。 |
Devstral-Small-2505-q4_0.gguf |
纯Q4_0量化,针对ARM设备进行优化,适用于低内存环境,若需要更高准确性,建议使用IQ4_NL。 |
测试模型
测试说明
如果你觉得这些模型有用,请点击“点赞”!同时,你可以帮助测试AI驱动的网络监控助手,进行量子就绪的安全检查。
测试步骤
- 选择AI助手类型:
TurboLLM
(GPT - 4o - mini)HugLLM
(Hugginface开源)
- 示例命令:
"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代码,此功能强大且灵活,使用时需谨慎!)
最终说明
模型创建和免费网络监控项目背后的所有代码均为开源。如果你欣赏这些工作,请考虑请作者喝咖啡。作者也欢迎工作机会或赞助。
🔧 技术细节
基准测试
在SWE - Bench Verified上,Devstral取得了46.8%的分数,比之前的开源最优模型高出6%。
模型 | 脚手架 | SWE - Bench Verified (%) |
---|---|---|
Devstral | OpenHands Scaffold | 46.8 |
GPT - 4.1 - mini | OpenAI Scaffold | 23.6 |
Claude 3.5 Haiku | Anthropic Scaffold | 40.6 |
SWE - smith - LM 32B | SWE - agent Scaffold | 40.2 |
在相同的测试脚手架(OpenHands)下,Devstral超越了Deepseek - V3 - 0324和Qwen3 232B - A22B等更大的模型。
模型使用
推荐使用[OpenHands](https://github.com/All - Hands - AI/OpenHands/tree/main)脚手架与Devstral交互。可以通过API或本地推理的方式使用模型。
📄 许可证
本项目采用Apache 2.0许可证,允许商业和非商业使用及修改。



