小而强大,零一万物编程小能手Yi-Coder系列模型开源!

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 9 月 5 日,零一万物开源了 Yi-Coder 系列模型,它作为 Yi 系列模型家族中的“编程小能手”,展现了卓越的代码生成能力。这是继今年 5 月 13 日开源 Yi-1.5 系列模型之后,零一万物在开源方向上的又一重要成果。

在 AI 领域中,代码生成和编辑工具一直是开发者们关注的焦点。

9 月 5 日,零一万物开源了 Yi-Coder 系列模型,它作为 Yi 系列模型家族中的“编程小能手”,展现了卓越的代码生成能力。这是继今年 5 月 13 日开源 Yi-1.5 系列模型之后,零一万物在开源方向上的又一重要成果。

模型简介

Yi-Coder 系列模型专为编码任务而生,提供 1.5B 和 9B 两种参数。其中,Yi-Coder-9B 的表现优于其他 10B 参数以下的模型,如 CodeQwen1.5 7B 和 CodeGeex4 9B,甚至能够与 DeepSeek-Coder 33B 相媲美。

模型特点

-小参数,强性能:尽管 Yi-Coder 的参数量相对较小,但它在各种任务,包括代码生成、代码理解、代码调试和代码补全中的表现十分出色。10B 以下的大小也让它易于使用,方便端侧部署。

-128K 长序列建模:Yi-Coder 能够处理长达 128K tokens 的上下文内容,有效捕捉长期依赖关系,适用于复杂项目级代码的理解和生成。

-强大的代码生成能力:支持 52 种主要编程语言,Yi-Coder 在代码生成和跨文件代码补全方面表现优异

模型成绩

  • Yi-Coder 在代码生成基准测试中名列前茅

LiveCodeBench 是一个旨在为大语言模型提供全面公平的评测平台。它实时收集来自 LeetCode、AtCoder、CodeForces 等竞赛平台的新问题,构成了一个动态而全面的基准测试库。

为确保没有数据污染,由于Yi-Coder的训练数据截止时间是 2023 年底,选取了 2024 年 1 月到 9 月的题目进行测试。在下图榜单中,Yi-Coder-9B-Chat 的通过率达到了 23.4%,在 10B 以下参数量的模型中是唯一一个通过率超过 20% 的模型。

  • 代码编辑和补全能力强劲

CodeEditorBench 涵盖了四个关键领域:代码调试、代码翻译、代码优化和代码需求转换。结果表明,在开源代码大语言模型中,Yi-Coder-9B-Chat 取得了优异的成绩,在 Primary 和 Plus 两个子集中始终优于 DeepSeek-Coder-33B-Instruct 和 CodeQwen1.5-7B-Chat。

代码补全方面,Yi-Coder 也表现出色。与代码生成不同,跨文件代码补全要求模型访问并理解跨多个文件的资源库,这些文件之间存在大量的跨文件依赖关系。本次评估采用了 CrossCodeEval 基准,在两种不同的情况下进行:检索相关上下文和不检索相关上下文。

下图结果表明,Yi-Coder 在有检索和无检索的情况下都优于其他同等规模的模型。这一成功验证了在具有较长上下文长度的软件仓库级代码语料库上进行训练能够使 Yi-Coder 有效捕捉长期依赖关系,从而提高其性能。

  • 长序列建模表现优秀

我们效仿文本领域流行的长序列评测,合成了一个 128K 长序列的“Needle in the code” 评估任务,长度双倍于 CodeQwen1.5 所构建的 64K 长序列评测。它通过在长代码库中随机插入一个简单的自定义函数,测试模型能否在代码库最后重复这个函数。该测试旨在检测模型LLM是否能从长文本中提取出这些关键信息,从而反映 LLM 其对长文本的理解基础能力。

下图全绿结果表示,Yi-Coder-9B 在 128K 长度范围内完美完成了这一任务。

  • 数学推理能力毫不逊色

DeepSeek Coder 先前的研究表明,模型强大的编码能力可以增强其数学推理能力。Yi-Coder 在七个数学题数据集上评估了代码辅助(PAL: Program-aided Language Models)解题能力,在每个数据集中,模型都要通过生成Python代码然后执行代码得出最后的答案。这七个任务的平均准确率得分如下图所示,Yi-Coder 9B的准确率达到 70.3%,超过了 DeepSeek-Coder 33B 的 65.8%。

模型使用

Transformers推理:

from modelscope import AutoTokenizer, AutoModelForCausalLM
import torch
device = "cuda" # the device to load the model onto
model_path = "01ai/Yi-Coder-9B-Chat"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto",torch_dtype=torch.bfloat16,).eval()
prompt = "Write a quick sort algorithm."
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(
    model_inputs.input_ids,
    max_new_tokens=1024,
    eos_token_id=tokenizer.eos_token_id  
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)

模型部署

魔搭的SwingDeploy也在第一时间支持了Yi-Coder-9B模型的部署,一键将模型部署为OpenAI API兼容的专属服务。可从魔搭首页进入“模型服务->部署服务”,或直接访问

https://www.modelscope.cn/my/modelService/deploy

资源选择“函数计算(FC)”进行Serverless服务部署,如果第一次使用,按照页面提示账号绑定和授权即可:

点击“新建部署”后,可调出部署页面:

选择GGUF格式的Yi模型 “Yi-Coder-9B-Chat-GGUF”部署即可。Yi-Coder-9B模型量化后可在CPU上直接部署,也可以选择GPU资源部署(响应速度会更快)。

添加图片注释,不超过 140 字(可选)

等待部署成功后,点击“立即使用”,就可以看到成功部署后使用OpenAI API以及SDK调用Yi-Coder模型的方法。

拷贝代码即可使用。

Note:因为是serverless部署,不使用的时候不计费,第一次调用首包可能要稍作等待

现在就可以将Yi-Coder-9B代码模型,通过OpenAI API兼容的方式,迅速接入你的各种应用开发,让它真正成为你的编程小助手啦!

Yi 开源系列模型家族现已包含 Yi、Yi-1.5、Yi-VL、Yi-Coder 等多款模型,我们鼓励大家探索大语言模型的更多可能,将 Yi 系列模型集成到他们的项目中,亲身体验其强大的性能。


🙌共勉!


点击链接即可跳转模型详情~

https://modelscope.cn/models/01ai/Yi-Coder-9B-Chat?from=alizishequ__text

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
数据可视化 PyTorch 算法框架/工具
“零一万物”Yi系列魔搭最佳实践教程来了!
11 月 6 日,李开复博士带队创办的AI2.0公司零一万物正式开源发布首款预训练大模型 Yi-34B,模型开放商用申请,已在阿里云魔搭社区ModelScope首发。魔搭第一时间推出了模型部署相关教程,供开发者参考并快速上手。
|
2月前
|
机器学习/深度学习 自然语言处理 测试技术
CoT神话破灭,并非LLM标配!三大学府机构联手证实,CoT仅在数学符号推理有用
【10月更文挑战第17天】链式思维(CoT)曾被认为是大型语言模型(LLM)激发推理能力的关键方法,但最新研究显示,CoT仅在数学和符号推理任务中有效,其他任务中效果不明显。加州大学伯克利分校、斯坦福大学和卡内基梅隆大学的联合研究打破了CoT作为LLM标配的神话,为重新评估LLM的推理能力提供了新视角。
49 1
|
1天前
|
数据采集 人工智能 缓存
腾讯混元又来开源,一出手就是最大MoE大模型
腾讯混元团队近日发布了开源Transformer-based MoE模型Hunyuan-Large,参数量达3890亿,激活参数520亿,处理tokens高达256K。该模型在多个基准测试中超越LLama3.1-70B,在某些方面媲美更大规模的LLama3.1-405B。其成功源于合成数据集、混合专家路由策略、键值缓存压缩及专家特定学习率等创新技术。尽管面临训练成本高和数据质量等挑战,Hunyuan-Large仍为AI行业注入新活力,并推动技术进步与应用创新。
32 13
|
13天前
|
人工智能 数据挖掘
AI长脑子了?LLM惊现人类脑叶结构并有数学代码分区,MIT大牛新作震惊学界!
麻省理工学院的一项新研究揭示了大型语言模型(LLM)内部概念空间的几何结构,与人脑类似。研究通过分析稀疏自编码器生成的高维向量,发现了概念空间在原子、大脑和星系三个层次上的独特结构,为理解LLM的内部机制提供了新视角。论文地址:https://arxiv.org/abs/2410.19750
57 12
|
4月前
|
人工智能 自然语言处理 小程序
【AI】Gemini:听说GPT-4你小子挺厉害
谷歌推出新AI模型Gemini Pro,支持中文并具备多模态处理能力,涵盖文本、图像、音频、视频和代码。本文通过五个问题对比Gemini Pro与ChatGPT-4的表现,包括绘画、数学题解答、成语解释、天气查询及奥运冠军名单。结果显示两者各有优势,Gemini Pro在成语解释和天气查询方面略胜一筹,而ChatGPT-4在绘画方面表现更好
56 0
【AI】Gemini:听说GPT-4你小子挺厉害
|
4月前
|
人工智能 API 异构计算
震惊AI界!DeepSeek挑战GPT-4o霸主地位,发布超低价开源大模型
震惊AI界!DeepSeek挑战GPT-4o霸主地位,发布超低价开源大模型
146 2
|
5月前
|
人工智能
语言≠思维,大模型学不了推理:一篇Nature让AI社区炸锅了
【7月更文挑战第3天】新研究表明语言和思维是分离的,引发AI社区激烈讨论。论文通过fMRI实验显示语言处理与思维在大脑中独立,即使无语言人们仍能推理。这质疑了AI仅通过语言学习高级智能的可能性,暗示应更关注模拟人类思维。[[1](https://www.nature.com/articles/s41586-024-07522-w)]
92 1
|
7月前
|
人工智能 开发者
零一万物发布并开源 Yi-9B
【2月更文挑战第16天】零一万物发布并开源 Yi-9B
177 1
零一万物发布并开源 Yi-9B
|
7月前
|
UED 开发者 异构计算
本地运行“李开复”的零一万物 34B 大模型
本地运行“李开复”的零一万物 34B 大模型
79 4
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT时代的开源解法,「白泽」一作亲自解读
hatGPT时代的开源解法,「白泽」一作亲自解读
290 0

热门文章

最新文章