CodeGeeX2-Github项目链接(基于ChatGLM2)
目录
pair语言 翻译在观察翻译能力时,发现A到B和B到A之间呈现负相关
CodeGeeX3 2024/1月发布【增加RAG】
这篇论文作为了解代码大模型的入门论文非常适合,介绍了现有的评测流程和训练方法。
HumanEvalX评测
HumanEval是CodeX提出来的的,但是只包含了python的手写问题,这里他们团队对164个问题纯手写的给出了在5种语言【python、C++、Java、Javascirpt、Go、python】上的结果,得到了164x5=820个 question-solution pair,每一个pair都包含以下部分:
以HumanEval - X中的代码生成和翻译任务为例,分别用红色、绿色、蓝色和紫色标记声明、文档、解决方案和测试用例。生成器使用声明和docstring作为输入来生成解。翻译使用两种语言的声明和源语言的解决方案作为输入,生成目标语言( docstring不用于防止模型直接求解问题)的解决方案。
重写代码时的步骤
- 不同的语言有不同的命名风格,CamelCase:java,snake_case:python
- docstring的注释符是不同的
- test case需要细化,而不是强迫程序返回不同的结果,e.g 整数转化成二进制,python会在字符串之前加上"0b",但是java不会
- 对于rounding函数,python的表现会不同
任务
代码生成
输入:declaration和docstrings,输出:函数的实现</