Codex:在GitHub公开可用代码上微调的GPT模型
论文提出 Codex,一个在 GitHub 公开可用代码上微调的 GPT 语言模型,并研究其 Python 代码编写能力。
核验日期
定义
论文提出 Codex,这是一个在 GitHub 公开可用代码上微调的 GPT 语言模型,并研究其 Python 代码编写能力。论文指出,Codex 有一个独立的生产版本为 GitHub Copilot 提供支持。论文描述了若干早期 Codex 模型,其后代为 GitHub Copilot 以及 OpenAI API 中的 Codex 模型提供支持。
论文称,其对 GPT-3 的早期研究显示,GPT-3 能够根据 Python 文档字符串生成简单程序。论文聚焦于根据文档字符串生成独立 Python 函数这一任务,并通过单元测试自动评估代码样本的正确性。
一图看懂
论文把经过监督微调的模型称为 Codex-S,并称它们在不同模型规模上带来一致的提升。论文报告称,Codex-S 在 pass@1 上平均比对应的 Codex 高 6.5 个百分点,在 pass@100 上平均高出的幅度更大,为 15.1 个百分点,均跨模型规模计算。
工作原理
过滤之后,论文的最终数据集共计 159 GB。论文报告称,从 GPT 微调得到的模型收敛得更快,因此论文在后续实验中采用这一策略。论文指出,代码生成模型主要通过将样本与参考解进行匹配来评测,匹配可以是精确的或模糊的,例如 BLEU 分数。
论文描述了开发沙箱环境,以便针对单元测试安全地运行不受信任的程序。论文选用 gVisor 容器运行时作为主要的主机保护组件。论文从若干编程竞赛和面试准备网站收集了问题陈述、函数签名和解答。
论文以这种方式共整理了 10,000 道问题。
例子
论文在一组 164 道手写编程问题上评估功能正确性,并将其称为 HumanEval 数据集。其中每道问题包含函数签名、文档字符串、函数体和若干单元测试,平均每道问题有 7.7 个测试。论文称,这些问题考查语言理解、算法和简单数学,其中一些可与简单的软件面试题相比。
论文称 HumanEval 是其发布的新评测集,用于衡量根据文档字符串合成程序的功能正确性;在该评测集上,论文的模型解决了 28.8% 的问题,而 GPT-3 为 0%,GPT-J 为 11.4%。论文报告称,在每个问题 100 个样本的条件下,它解决了 70.2% 的问题。论文报告称,在 100 个样本以内,Codex-S 为 77.5% 的问题生成了至少一个正确的函数。
论文称,对其模型的深入考察揭示了局限,包括难以处理描述长操作链的文档字符串以及难以将操作绑定到变量,并且 Codex 难以解析越来越长、更高层级或系统级的规范。
来源
本页内容整理自以下官方来源,点击可核对原文。
核验日期 ·
本页由 AI 依据上述官方来源整理,并经自动核对,未经本站实测。 发现错误?告诉我们。