重磅:最先进的开源免费代码助理StarCoder诞生


-------------------摘要-------------------
Hugging Face 发布开源免费的人人可以使用,对抗付费的github copilot的编程助理,更重要的虽然免费但是能力不输商业的甚至超越‍‍‍‍‍‍‍‍‍
--------------------//---------------------

StarCoder和StarCoderBase是利用GitHub上的数据训练出来的大型代码语言模型(Code LLMs),覆盖了80多种编程语言,以及Git提交、GitHub问题和Jupyter笔记等内容,模型参数达到了约150亿个。StarCoderBase模型在350亿个Python tokens上进行了进一步的微调,形成了一个新的模型,名为StarCoder。
想要马上尝鲜StarCoder同学 请前往huggingchat 界面:
https://huggingface.co/spaces/bigcode/bigcode-playground

你也可以使用 vscode 扩展来体验。

评估:StarCoder编程能力行不行?‍‍
对StarCoder和其他几个类似的模型,在各种基准测试中进行了全面的评估。其中一个流行的Python基准测试是HumanEval1,它测试模型能否根据函数的签名和文档字符串完成函数。我们发现,StarCoder和StarCoderBase在这个测试中都表现得比最大的模型,如PaLM、LaMDA和LLaMA等更好,而且它们的模型规模更小。它们也优于CodeGen-16B-Mono和OpenAI的code-cushman-001(12B)模型。‍
Model HumanEval MBPP
LLaMA-7B 10.5 17.7
LaMDA-137B 14.0 14.8
LLaMA-13B 15.8 22.0
CodeGen-16B-Multi 18.3 20.9
LLaMA-33B 21.7 30.2
CodeGeeX 22.9 24.4
LLaMA-65B 23.7 37.7
PaLM-540B 26.2 36.8
CodeGen-16B-Mono 29.3 35.3
StarCoderBase 30.4 49.0
code-cushman-001 33.5 45.9
StarCoder 33.6 52.7
StarCoder-Prompted 40.8 49.5

StarCoder的一个有趣特点是它具有多语言能力,因此我们使用MultiPL-E1对它进行了评估,这是一个将HumanEval2扩展到多种其他语言的基准测试。我们发现,StarCoder在多种语言上都能与code-cushman-0013相匹配或超越它。在一个名为DS-10004的数据科学基准测试中,它也明显优于它以及所有其他开放获取的模型。
技术助手 :能不能成为码农的助手?‍‍
通过详尽的评估,我们发现StarCoder在编写代码方面非常能力强。但我们也想测试它是否可以用作技术助手,毕竟它是在大量文档和GitHub问题上进行训练的。受Anthropic的HHH提示启发,我们构建了一个技术助手提示。令人惊讶的是,仅凭提示,模型就能够充当技术助手并回答与编程相关的请求!

到顶部