magicoder

用开源代码自动合成指令数据,低成本训练出更强代码模型

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 170 🐛 待处理 4 👀 关注 24
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 2097
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源模型,MIT许可证,完全免费,可自行部署使用。

项目预览

magicoder 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队ise-uiuc
定价模式🏷️完全免费
价格说明开源模型,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型ai4code,large-language-models,llm,llm4code
GitHub 星标★ 2097
上线时间2023-11-10 00:00:00
代码更新2024-11-01
仓库体积2.5 MB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数5

项目介绍

Magicoder 是一个面向代码生成任务的开源大语言模型系列,核心创新在于提出 OSS-Instruct 数据合成方法。它通过从开源代码片段中提取灵感,自动生成高质量的指令-代码对,从而以较低成本构建大规模训练数据,显著提升模型在代码生成、补全、解释等任务上的表现。项目解决了高质量代码指令数据稀缺、人工标注昂贵的问题,使模型能够学习到多样化的编程风格和逻辑。其基础模型基于 CodeLlama 等开源底座进行微调,支持多种编程语言,在 HumanEval、MBPP 等基准上表现出色,甚至能超越部分更大规模的模型。项目提供了完整的训练、推理和评估代码,以及模型权重,便于研究者和开发者复现和二次开发。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2097

技术标签

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 15 分钟 部署方式:模型权重 4 步

环境要求

  • Python 环境(README 示例为 Python 代码)
  • 已安装 transformers 与 torch(示例中 import pipeline、torch)
  • 具备 CUDA 的 NVIDIA GPU,示例使用 device_map="auto" 与 bfloat16
  • 可访问 Hugging Face 以下载 ise-uiuc/Magicoder-S-DS-6.7B 权重

安装与启动步骤

  1. 1准备运行环境

    确保 Python 环境可用,并已安装 transformers 和 torch;建议使用带 CUDA 的 GPU 环境,避免 CPU 推理过慢。

  2. 2编写推理脚本

    参照 README Quick Start 编写脚本:定义 MAGICODER_PROMPT 模板,把 instruction 换成你的需求。

  3. 3加载模型并推理

    运行脚本,首次执行会自动从 Hugging Face 下载 ise-uiuc/Magicoder-S-DS-6.7B 权重。

    python magicoder_demo.py
  4. 4查看生成结果

    脚本打印 result[0]["generated_text"],即模型按 @@ Response 格式返回的代码与说明。

关键配置

配置项必填说明示例
model是Hugging Face 上的模型 IDise-uiuc/Magicoder-S-DS-6.7B
task是pipeline 任务类型text-generation
torch_dtype否推理权重数据类型,降低显存占用torch.bfloat16
device_map否自动把模型分配到可用设备auto
max_length否生成文本的最大长度2048
temperature否采样温度,0.0 表示确定性输出0.0

如何确认成功

终端输出 generated_text,内容为针对 instruction 生成的 Python 代码实现与解释文字。

常见问题

Q:需要多大显存?

A:README 未给出具体显存要求。示例加载 6.7B 模型并使用 bfloat16,显存需能容纳该规模权重,device_map="auto" 会自动分配。

Q:首次运行卡住很久是为什么?

A:需要从 Hugging Face 下载模型权重,文件较大。网络受限时可配置 Hugging Face 镜像或提前手动下载缓存。

Q:可以换成别的 Magicoder 模型吗?

A:可以,把 model 参数改成 Hugging Face 上 ise-uiuc 组织下的其他 Magicoder 模型 ID 即可。

Q:输出每次都不一样怎么办?

A:示例中 temperature=0.0,已尽量降低随机性;如需多样性可调高 temperature 或增加 num_return_sequences。

注意事项

  • README 只提供了推理 Quick Start,训练与评估的安装命令未在节选中给出。
  • 首次运行需联网下载模型权重,请预留磁盘空间与下载时间。
  • bfloat16 需要较新的 GPU 架构支持,老显卡可改用其他精度。
  • instruction 过长时要留意 max_length 限制,避免响应被截断。

核心亮点

  • OSS-Instruct 方法新颖,能自动从开源代码生成高质量指令数据,降低数据构建成本
  • 在 HumanEval 等代码生成基准上达到当时领先水平,超越同规模模型
  • 提供完整训练、推理代码和模型权重,复现门槛低

不足之处

  • 模型规模相对较小,复杂任务能力不如超大模型
  • 文档/社区待观察

适用场景

  • 研究代码生成模型的数据合成方法
  • 构建定制化代码助手或自动编程工具
  • 在资源受限环境下训练代码大模型

替代项目

CodeLlama、DeepSeek-Coder、StarCoder

上一篇:MoBA

下一篇:Awesome-Efficient-LLM

同类项目推荐

MeanFlow 开源

一步出图的生成模型 PyTorch 实现

PyTorch implementation of MeanFlow & iMF (one-step generative modeling).

★ 1213 2026-11-03
OpenGraph 开源

训练一次,零样本适配任意新图任务

[EMNLP'2024] "OpenGraph: Towards Open Graph Foundation Models"

★ 340 2026-08-09
ModernBERT 开源

让老牌 BERT 重获新生,长文本更快更准

Bringing BERT into modernity via both architecture changes and scaling

★ 1780 2026-08-09
GPT-Models-Plus 开源

一个脚本搞定 ChatGPT、Claude、Grok 多模型调用

别问我为什么大杂烩放在一块,懒得新建项目

★ 126 2026-08-09
mllm 开源

让手机本地跑起多模态大模型,离线推理更快更省电。

Fast Multimodal LLM on Mobile Devices

★ 1635 2026-08-09
TokenFormer 开源

把参数变成 token,让 Transformer 按需扩展,省钱又灵活

[ICLR2025 Spotlight] Official Implementation of TokenFormer: Rethinking Transformer ···

★ 597 2026-08-09
SwiftDiffusion 开源

在苹果设备上原生运行 Stable Diffusion,打造本地 AI 画图应用

Stable Diffusion implementation using CoreML, PyTorch and SwiftUI

★ 164 2026-08-09