OpenCoder: 顶级代码大型语言模型的开放式食谱

OpenCoder 是一个开放的、可重现的代码 LLM 系列,包括 1.5B 和 8B 基本模型和聊天模型,支持中英文两种语言。 从零开始,OpenCoder 在由 90% 的原始代码和 10% 的代码相关网络数据组成的 2.5 万亿个标记上进行预训练,并在超过 450 万个高质量 SFT 示例上进行监督微调,最终达到顶级代码 LLM 的性能。 我们不仅提供模型权重和推理代码,还提供可重现的训练数据、完整的数据处理管道、严格的实验消融结果和详细的训练协议。 OpenCoder 让研究人员能够进行构建和创新,是您推动人工智能代码发展的开放式基础。

  • 完全开源: OpenCoder 不仅发布了模型权重和即将发布的推理代码,还发布了用于训练的完整数据清理代码,从而确保完全透明。 该版本包括高质量的合成数据、广泛的检查点集和超过 450 万个监督微调(SFT)条目的数据集,使 OpenCoder 成为目前开源最全面的模型之一。
  • 全面的实验分析: OpenCoder 通过对各种数据清理策略和训练流程进行广泛的消融研究,包括文件级和存储库级重复数据删除实验,进行了严格的测试,确保对模型性能进行全面的探索和验证。
  • 高质量合成数据: OpenCoder 提供完善的合成数据生成流程和 450 多万条 SFT 数据项,为模型训练和评估奠定了坚实的数据基础。
  • 卓越性能: OpenCoder 在多个语言模型基准测试中都取得了很高的性能,跻身于领先的开源代码模型之列。

基准测试

model OpenCoder-1.5B-Base OpenCoder-8B-Base
HumanEval(+) 54.3 (49.4) 66.5 (63.4)
MBPP(+) 70.6 (58.7) 79.9 (70.4)
BigCodeBench 24.5 40.5
BigCodeBench-Hard 5.4 9.5

推理代码示例

为了演示 OpenCoder-8B-Instruct 模型的功能,这里有一个推理代码示例,展示了如何用 Python 生成快速排序算法:

python 复制代码
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_name = "infly/OpenCoder-8B-Instruct"
model = AutoModelForCausalLM.from_pretrained(model_name,
                                             torch_dtype=torch.bfloat16,
                                             device_map="auto",
                                             trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)

messages=[
    { 'role': 'user', 'content': "write a quick sort algorithm in python."}
]

inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")

outputs = model.generate(inputs, max_new_tokens=512, do_sample=False)

result = tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True)
print(result)

结论

OpenCoder-8B-Instruct 模型对于任何希望生成高质量代码的人来说都是一个强大的工具。凭借其卓越的性能、开源许可和易用性,该模型是各种应用的绝佳选择。无论您是开发人员、研究人员,还是只是在寻找一款可靠的代码生成工具,OpenCoder-8B-Instruct 模型都绝对值得考虑。

感谢大家花时间阅读我的文章,你们的支持是我不断前进的动力。点赞并关注,获取最新科技动态,不落伍!🤗🤗🤗

相关推荐
delishcomcn20 分钟前
AI视觉+烫金箔分切:为精密制造装上“火眼金睛”
人工智能·制造
七牛云行业应用1 小时前
Cursor 如何接入自定义模型:Override Base URL 完整配置与四类踩坑速查
人工智能·agent·ai编程
MartinYeung51 小时前
[论文学习]PoisonBench:评估语言模型对投毒偏好数据的脆弱性
人工智能·学习·语言模型
ting94520007 小时前
Humalike X Hermes 深度技术剖析:单指令注入群聊社交智能的底层架构、算法与跨 IM 平台实现
人工智能·算法·架构
涤生大数据7 小时前
一次“没有运行日志”的DolphinScheduler任务失败排查
大数据·数据库·人工智能·状态模式
东风破_7 小时前
Vibe Coding 上头之后,我开始用 SDD 给 AI 编程加一张“施工图”
人工智能·程序员
weixin_403810138 小时前
AI智能体写安卓自动化脚本教程:Cursor/Trae+CLI 实战,自然语言生成代码
android·人工智能·自动化·跨境电商·安卓自动化脚本·多账户运营
深圳雨林凯AI8 小时前
雨林凯AI四方连图介质适配原理:像素密度、纱线纹理与颜色管理怎么协调
人工智能
ZGIAI8 小时前
ZGI 混合检索:汇集候选并统一重排
人工智能·架构