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 模型都绝对值得考虑。

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

相关推荐
财迅通Ai7 分钟前
天立国际控股:AI赋能再造新增长 中期净利大增21%
大数据·人工智能·天立国际控股
砍材农夫8 分钟前
Hermes 搭建可视化web-dashboard界面
前端·人工智能
2301_780789669 分钟前
什么是端口?端口攻击如何检测和防御
服务器·人工智能·游戏·架构·零信任
hqyjzsb10 分钟前
传统教师升级AI教育产品设计师后收入增长路径
人工智能·职场和发展·aigc·文心一言·学习方法·业界资讯·ai写作
QQ6765800810 分钟前
智慧AI甲骨文检测 目标检测图像数据集 甲骨文识别第10341期
人工智能·yolo·目标检测·目标跟踪·甲骨文检测·甲骨文识别
米小虾11 分钟前
从"金鱼脑"到"长期记忆":AI Agent 记忆机制的设计与实现
人工智能·agent
AI视觉网奇15 分钟前
探索 InternVL3.5:从权重解析到多模态推理的全栈实践笔记
人工智能·大模型
xixixi7777716 分钟前
智算中心建设新范式:GPT-6/Rubin架构+1.6T光模块+量子安全网关+AI安全沙箱,算力·效率·安全·成本的最优平衡
人工智能·gpt·安全·机器学习·架构·大模型·通信
云烟成雨TD16 分钟前
Spring AI Alibaba 1.x 系列【14】ReactAgent 工具执行异常处理
java·人工智能·spring
耿雨飞16 分钟前
第五章:工具系统与函数调用 —— 从定义到执行的完整链路
人工智能·langchain