Qwen2.5-Coder 系列發布說明
Qwen 已開源 Qwen2.5-Coder 系列,這是一系列專門針對程式碼的大型語言模型,旨在提供廣泛模型規模下的最先進(SOTA)開源程式碼能力。旗艦模型 Qwen2.5-Coder-32B-Instruct 的程式碼表現與 GPT-4o 相當,為開源程式碼 LLMs 建立了新的基準。
Qwen2.5-Coder-32B-Instruct 的 SOTA 編碼能力
Qwen2.5-Coder-32B-Instruct 是該系列的旗艦模型,在數個關鍵程式設計維度上展現出與 GPT-4o 競爭力相當的表現:
程式碼生成與修復
Qwen2.5-Coder-32B-Instruct 在開源模型中於 EvalPlus、LiveCodeBench 和 BigCodeBench 基準測試中表現最佳。在程式碼修復——即修正現有程式碼錯誤的能力——該模型在 Aider 基準測試中獲得 73.7 分,表現與 GPT-4o 相當。
程式碼推理與多語言支援
該模型在程式碼推理方面表現卓越,程式碼推理涉及透過學習程式執行過程來預測輸入和輸出。它支援超過 40 種程式語言,在 McEval 基準測試中獲得 65.9 分。這種能力也延伸至多語言程式碼修復,在開源模型中排名第一,在 MdEval 基準測試中獲得 75.2 分。
人類偏好對齊
使用內部的「Code Arena」基準測試(類似 Arena Hard)並以 GPT-4o 作為評估模型,Qwen2.5-Coder-32B-Instruct 與其他開源模型相比,展現出更優越的人類偏好對齊。
多樣化模型規模與擴展
Qwen2.5-Coder 提供六種不同的規模,以適應各種硬體限制與開發者需求。每種規模同時提供 Base 模型(用於微調)和 Instruct 模型(用於直接聊天互動)。
| 模型 | 參數量 | 非 Embedding 參數 | 層數 | 注意力頭 (KV) | Embedding 是否共用 | 上下文長度 | 授權 |
|---|---|---|---|---|---|---|---|
| Qwen2.5-Coder-0.5B | 0.49B | 0.36B | 24 | 14 / 2 | 是 | 32K | Apache 2.0 |
| Qwen2.5-Coder-1.5B | 1.54B | 1.31B | 28 | 12 / 2 | 是 | 32K | Apache 2.0 |
| Qwen2.5-Coder-3B | 3.09B | 2.77B | 36 | 16 / 2 | 是 | 32K | Qwen Research |
| Qwen2.5-Coder-7B | 7.61B | 6.53B | 28 | 28 / 4 | 否 | 128K | Apache 2.0 |
| Qwen2.5-Coder-14B | 14.7B | 13.1B | 48 | 40 / 8 | 否 | 128K | Apache 2.0 |
| Qwen2.5-Coder-32B | 32.5B | 31.0B | 64 | 40 / 8 | 否 | 128K | Apache 2.0 |
在 MBPP-3shot(適用於 Base 模型)以及最近四個月的 LiveCodeBench(適用於 Instruct 模型)上的評估顯示,模型規模與性能呈正相關,Qwen2.5-Coder 在所有可用規模上均達到 SOTA 性能。
實際應用與整合
Qwen 透過兩種主要的整合場景,專注於該系列的實際實用性:
AI 程式碼助理 (Cursor)
Qwen2.5-Coder 設計為像 Cursor 這樣的程式碼助理的強大開源替代方案。32B 模型具體展示了在五個基準測試上的 SOTA 程式碼完成能力(Fill-in-the-Middle 模式):Humaneval-Infilling、CrossCodeEval、CrossCodeLongEval、RepoEval 和 SAFIM。
視覺工件 (Open WebUI)
透過與 Open WebUI 的整合,Qwen2.5-Coder 可用於創建「Artifacts」——例如網站、小型遊戲和資料圖表的視覺作品。Qwen 也計畫在 Tongyi 官方網站上推出專門的程式碼模式,以支援這些視覺應用的一鍵生成。