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許可證,允許商業和非商業使用及修改。



