某中心赞助的研讨会推动代码深度学习发展
ICLR研讨会由某中心代码生成服务赞助,重点展示了两篇论文:基于因果语言模型的新型对比学习框架,以及评估代码生成模型鲁棒性的方法。
会议背景
在国际学习表征会议(ICLR)上,某中心代码生成服务赞助举办了第二届代码深度学习研讨会(DL4C),这是代码深度学习研究的主要平台。今年研讨会的重点领域包括人机交互、评估、推理、负责任AI和代码开源AI。
全天研讨会将于2023年5月5日举行,包含特邀演讲、小组讨论和论文口头报告。特邀演讲者包括:
- 某研究机构人机语言交互项目的研究科学家
- 某科技公司的首席研究科学家
- 加州大学圣地亚哥分校计算机科学与工程系助理教授
- 麻省理工学院电气工程与计算机科学系教授
- 某科技公司大脑部门的研究科学家
- 某开源团队的机器学习工程师
除了赞助研讨会外,某中心AI实验室的应用科学家、代码生成服务团队成员也是研讨会的五位组织者之一,同时还是该中心两篇研讨会论文的合著者。
多级对比学习
首篇论文题为"ContraCLM:因果语言模型的对比学习"。因果语言模型(如GPT系列)是经过训练的语言模型,用于在给定前文的情况下预测序列中的下一个标记(短语、单词或子词单元)。虽然CLM在包括代码生成在内的语言生成任务中表现出色,但其判别能力较差:例如,它们无法判断两个词序列是否具有相同含义,或两个代码块是否执行相同功能。
这部分是因为CLM往往具有各向异性:即它们的输入表示被限制在表示空间的子区域内。为了扩展CLM对表示空间的使用,研究人员采用对比学习,让模型在输入对上进行训练,其中一些相似,一些不相似。在训练过程中,模型学会将不相似输入的表示推开,将相似输入的表示拉近。
具体而言,研究人员提出了多级对比学习目标。在序列级别,模型学习将具有相同含义的文本序列分组,同时将具有不同含义的文本序列分开。然而在标记级别,模型学习将来自同一输入序列的不同标记分开。这两个目标的结合使模型能够使用更多的表示空间。
新型模型ContraCLM可以增强各向同性和判别能力,无论原始模型是否存在表示退化问题。
研究人员在自然语言和编程语言任务上测量了模型的准确性。在自然语言方面,研究人员的模型在WikiText-103测试集上获得了更好的MAUVE分数,表明其生成的文本在语义上更加连贯。在编程语言方面,在CodeNet上的代码搜索任务性能提升高达34%,在HumanEval基准测试的代码补全任务上性能提升9-11%。
评估鲁棒性
第二篇论文题为"ReCode:代码生成模型的鲁棒性评估"。与大多数大语言模型应用一样,基于大语言模型的代码生成涉及基于给定提示的补全。例如,用户可能输入提示"使用正则表达式编写一个函数,查找字符串中所有至少4个字符长的单词"。
然而,大语言模型对提示的微小扰动非常敏感:一个拼写错误或单词更改就可能改变输出。例如,研究人员报告称,将函数名"remove_lowercase"从"蛇形命名法"改为"驼峰命名法"将完全改变生成的代码,导致某些模型出现逻辑错误。这种脆弱性引发了严重的鲁棒性担忧。
在论文中,研究人员提出了ReCode,这是第一个全面的代码生成模型鲁棒性评估基准。ReCode通过应用30种自动转换来扰动大语言模型提示,这些转换基于现实世界文档字符串、函数、代码语法等中的常见错误类型。这些转换包括字符对顺序反转、同义词替换、虚拟代码插入(零迭代循环或始终为假的条件语句)、变量重命名和驼峰命名法转换。
ReCode论文还提出了评估模型在不同提示扰动下鲁棒性的指标。最后,研究人员在ReCode上对各种流行的大语言模型进行了基准测试并报告了结果。
研讨会展望
尽管该中心在研讨会上的论文只是23篇论文中的两篇,组织者表示期待研讨会并了解更多其他参与者的工作。“研讨会汇集了该领域的一些顶尖专家,“他表示,“在这个迷人且日益重要的话题上工作是一个激动人心的时刻。”