GPT-4助力打造Genie:新一代顶尖AI工程师诞生

Genie是一款由Anthropic公司开发的人工智能聊天机器人。它能够进行自然语言对话,回答问题,提供建议,并协助完成各种任务,如写作、编程和分析等。Genie拥有广泛的知识储备,可以在多个领域为用户提供帮助。

以下是翻译成简体中文的内容:

01 Genie是什么?它能做什么?

和Devin类似,Genie也可以在人类工程师的指导下自主完成各种编码任务,包括bug修复、功能构建、代码重构,以及通过全面测试进行代码验证。

除了自主运行,Genie也可以与用户协作。

目前Genie还处在内测阶段,可以在官网注册信息后申请试用。

Cosine声称Genie可以模拟人类工程师的认知过程。

Pullen在博文中解释说,"我的构想很简单:让它观察人类工程师如何完成工作,并模仿这一过程。"

Genie生成的代码存储在用户的GitHub repo中,这意味着Cosine不会保留副本,也不会有任何随之而来的安全风险。

此外,Cosine的软件平台已经与Slack和系统通知集成,它可以像人类同事那样,利用系统通知来提醒用户、提出问题或标记问题。

"Genie还可以向用户提出澄清性问题,并对其生成的Pull Request(拉取请求)的评论/意见做出回应"。

Pullen表示,"我们正试图让Genie表现得像同事一样,因此让该模型使用同事的渠道是最合理的。"

与OpenAI合作,用上最新GPT-4o

与许多依赖基础模型并辅以少量工具的模型不同,Genie是通过一个专有流程开发出来的,其中包括训练和微调来自OpenAI的模型。

Genie刚开始研发时,只能基于上下文窗口相对较小的模型进行微调,其范围在16-32k token。

团队在早期探索中发现,即使用超过1亿token的大型数据集,加上设计架构的优点和各种压缩/分块方法,也依旧受限于模型在特定时刻能表达的信息容量。唯一的方法是使用上下文窗口更大的模型。

幸运的是,不久之后他们就获得了OpenAI长上下文模型的访问权限,这成为了Genie能力的突破口。

Pullen向VentureBeat透露,"Genie(目前)是一个非通用的GPT-4o变体,OpenAI允许我们访问并使用他们的模型进行训练,作为实验计划的一部分。"

"该模型表现良好,我们也因此与OpenAI的微调团队和工程领导层分享了我们的心得。这对我们来说是一个真正的转折点,因为它说服了他们为我们的新技术投入资源和关注。"

虽然Cosine没有说明具体型号,但OpenAI最近刚刚宣布了GPT-4o长输出上下文模型的有限可用性,输出长度可达64k token,相比最初的4k足足增加了16倍。

训练数据是关键

Pullen在技术报告中写道,在最近的训练运行中,Genie接受了数十亿token数据的训练,选择这些数据的组合是为了让模型尽可能胜任当前用户最关心的语言。

Genie的技术报告中列出了训练数据包含的15种语言,Java、JS、C、C++、C#、Rust、Python等热门语言,以及常用的Scala、Kotlin、Swift、PHP等也都全部涵盖。

其中,JavaScript、Python、TypeScript和TSX是数据集中占比最多的语言,其余的占比均为3%。

Cosine的博文表示,团队花了近一年的时间整理数据集,包括来自真实工程师的大量软件开发活动。

获取并有效利用这些数据是极其困难的,因为从本质上讲,这些数据是不存在的。

他们的数据管道从追踪软件工程师的开发轨迹开始,收集pull request、commits、来自OSS存储库的issue(MIT许可)等数据。

之后在管道中运行这些数据,以取证方式导出推理过程,重建出人类是如何得到最终结论的。

这个专有数据集是第一版模型训练的基础,剩下的工作由自我对弈和自我改进完成。

Genie的自主性循环由四个主要过程组成:计划、检索、代码编写和代码运行。这些本身并不新颖,但由于Genie被训练成像人类一样执行任务,因此有了更大程度的改进。

"数据标注的影响不容低估,从有能力的软件工程师那里获得高质量的数据非常困难,但结果是值得的,因为它让我们深入了解了开发人员不易被发现的解决问题的思考方式。"

该数据集不仅体现了完美的信息脉络和渐进式知识发现,还捕捉到了人类工程师逐步决策的过程。

Pullen断言,"通过使用这个数据集实际训练我们的模型,而不是简单地提示基础模型(这是其他人正在做的事情),我们发现我们不再只是随机生成代码,而是像人类一样处理问题。"

基准评估结果

模型开发过程中,团队主要使用了两个基准进行评估——SWE-Bench和HumanEval。

前者涵盖的问题比较全面,包括分解问题、找到相关代码、对代码进行分类并实现可行解决方案;后者更专注于编写代码,没有检索方面的内容,并且对问题理解的强调较少。

然而,官方博客中仅披露了SWE-Bench分数,Genie取得30.08%的成绩,SWE-Lite中为50.67%的分数。

其中,Genie在SWE-Bench的表现非常亮眼:这是迄今为止的最高分数,相比第二名的19.27%有超过10%的增幅。

此外,团队还单独测试了模型的信息检索能力,特别是检索所需代码文件的正确部分的能力。

这是AI工程师的核心组件之一——如果模型不能可靠且熟练地找到正确的代码进行编辑,那么编辑代码的能力也无法得到充分发挥。

假设模型每次都能找到正确代码,可以查看模型为完成任务查找了多少行代码,以及实际找到的代码行数,来简单地衡量检索能力。

测试中,Genie成功检索到了142,338行中所需的91,475行代码,得分为64.27%。这里显然还有很大的改进空间,而且相较于分解问题能力,检索能力是关注较少的一个方面。

02 背靠YC,华人牛津硕士带队

Cosine是通过硅谷著名的Y Combinator创业加速器成立的。

该公司是一个人类推理实验室,专注于研究和整理人类执行任务的方式,旨在教会人工智能模仿、擅长并扩展这些任务。

2022年,Alistair Pullen、Sam Stenner和Yang Li联合创立了Cosine,将其定位为人类推理实验室。

他们希望从软件工程领域开始,研究和整理人类执行任务的方式,从而教会AI模仿、擅长并扩展这些任务,推动智能的发展。

Cosine已