新智元微软亚研院副院长周明:从语言智能到代码智能( 四 )
本文插图
图18:Fine-tuning框架
2. 发布数据集CodeXGLUE
为了支持代码智能的研究 , 研究人员发布了数据集 CodeXGLUE 。 该数据集包括14个子数据集 , 用于10个多样化的代码智能任务 , 包括 Code-Code、Text-Code、Code-Text 和Text-Text 四大类 。
本文插图
图19:CodeXGLUE
本文插图
图20:GitHub链接
3. 新的代码评估机制CodeBLEU
代码的评测需要考虑语法和语义问题 , 周明表示 , CodeBLEU 评估机制融合了 N-Gram AST 和 Semantic Dataflow 及其不同权值组合进行评估 , 相关度测试表明 , CodeBLEU性能更好 。
本文插图
图21:CodeBLEU
本文插图
图22:CodeBLEU实验
周明表示 , 代码智能的研究更需要考虑代码语言上的特点 , 需要具有对全局内容进行建模的能力 , 代码翻译中编码的逻辑特点和代码搜索中复杂、多意图的自然语言理解等目前仍需要进一步改进 。
报告最后 , 周明提出代码智能未来的研究方向:
1. 引入新的训练任务 , 以更好地表示代码的特征并考虑全局上下文 。
2. 通过考虑逻辑、语义、效率、安全性、执行力等提升评估方法(CodeBlue++ , 更好的模拟代码质量) 。
3. 探索类似于 NLP 任务之外的其他代码智能的任务(测试用例生成 , 用于算法设计的 AI , bNg 检测和修复等) 。
4. 呼吁软件工程领域和 NLP 领域之间进行更多的跨学科研究 。
Q&A
Q1: 高校师生如何进行与预训练有关的研究?
周明:应从研究的角度探究其方法论 , 比如知识、领域知识常识、知识图谱等如何融入 , 在领域知识表达方面 , 研究能否用小模型做更好的工作 , 比如模型压缩、知识萃取等 。 在Fine-tuning方面也有很多工作可以去做 。
另外 , 可以进行扩展应用领域的研究 , 包括单语言到多语言 , 甚至到语音、图像、视频、文档等新领域的扩展和跨学科的研究 。
Q2: 自动生成的代码的语法规则是硬约束还是自动学习的?怎么保证这种正确性?
周明:这是做自然语言的人的弱项 , 我们只知道串对串 , 串生成完之后用 BLEU 算N-Gram匹配程度 。 这里存在一个非常重要的问题 , 就是如何衡量代码生成的能力和质量 。
比如 , 逻辑上是否正确 , 语义上是否正确 , 效率是否高 , 安全性和可执行是否可以 , 这些目前还没有一个很好的办法来衡量 , 但在逻辑性、语义、效率等方面 , 可以进行一些模拟工作 。
期待今后有更多的人做自动评价生成的代码的逻辑语义和效率问题的研究工作 。
Q3: 自然语言处理与语音、图像结合的未来工作前景如何?
周明:自然语言从语音、图像领域借鉴了很多方法 , 比如 , 深度学习 。 自然语言处理研究者提出Transformer和更好的预训练模型 , 但我们不应固于自己的思路 , 应该把一切可序列化的问题 , 包括单序列化建模、多序列化的互相映射和比较都看作是一种自然语言任务 , 用自然语言的方法来帮助提高相关领域的技术发展 , 共同推动人工智能的发展 。
Q4: 与语言智能相比 , 代码智能有什么独特的技术挑战?
周明:和自然语言相比 , 代码的书写需要遵循特定的语法规则 。 自然语言通常本身不可执行 , 但代码在编译环境下可以执行并返回结果 。
推荐阅读
- 暴雪|暴雪CEO如果被微软“无理由”解雇 将净赚1500万美元
- 微软|不符合Win11要求设备升级会被打水印 破解方法来了
- Safari浏览器|市场份额即将反超苹果!微软Edge有望成为世界第二大桌面浏览器
- 微软|真正从头开始 消息称微软Windows 12系统与Win10/11大不同
- 微软|新版任务管理器曝光Win11性能新机制:速度提升多达76%
- 微软|新Windows就要来了!曝微软计划开展Win12开发工作
- Windows操作系统|不符合条件Win10设备升Win11:微软这手段着实不爽 在桌面打水印
- 微软|Windows 11的某些功能 可能永远不会成真
- 微软|需要2个TPM认证?消息称微软下月将正式开发Windows 12系统
- 微软|UI设计焕新!Win11全新记事本&播放器体验
