模型越大,AI编程个性化就越难?

分享嘉宾 | 郝逸洋,李钟麒
整理 | 朱珂欣
出品 | CSDN(ID:CSDNnews)
近些年来,随着AI等前沿技术的推陈出新及各场景中的应用,让更多的人触达AI时代的科技前沿 。AI编程作为AI的子领域,如今也离普罗大众越来越近,被大家寄予很高的期望 。
在CSDN 组织的「 开谈:AI编程的前世今生」直播中, 有幸邀到了 华为 CodeArts Snap代码生成工具模型负责人李钟麒、aiXcoder联合创始人郝逸洋两位AI领域的专家,共同探讨在AI编程的技术获得突破性进展时,其背后的原因 。

模型越大,AI编程个性化就越难?

文章插图
搜索『CSDN』视频号可查看本场直播回放,以下为对话精编:
前世:AI编程的历史发展状况
《开谈》: AI 编程近年来的发展情况如何?有哪些关键的节点?
郝逸洋:我认为在深度学习火了后,关于“AI编程”的理念才慢慢出现 。此前,学术界的叫法是——知识工程 。由于它局限性比较强,这个概念并没有走入大家的生产环境中 。在2017年、2018年深度学习火了后,“AI for Code”的概念逐渐在学术圈被人接受,成为一个独立的领域 。
随后,有人把自然语言处理(NLP)的技术应用在代码上,把代码看作一个自然语言去处理 。当时我的导师李戈老师(北京大学的李戈老师)把linux的源代码拿过去做训练,训练后的模型虽然不能编译,但能写出很像Linux源代码的东西 。
2019年时,AI技术还处于早期 。随后的一两年间,国外一些公司对AI开始有了更多尝试,例如以色列的Codota公司和美国的Kite公司,最初都是做代码搜索,随后它们也进行了公司转型,做代码的辅助编写 。再后来,随着大模型逐渐活跃起来,在自然语言处理上面取得了较好的进展,OpenAI就是典型的例子 。如今,大家也都纷纷的走向大模型领域 。
李钟麒:我认为有两个关键的时间节点:一是2020年;二是Codex的出现 。
首先,在2020年AI才逐渐真正被大家关注 。尤其是利用AI编程实现可执行的、能完整理解人类意图的代码 。
其次,是Codex的出现 。Codex作为OpenAI用来支持Github Copilot的大规模预训练模型,Codex可是非常强大的编程语言预训练模型 。Codex引起了大家的广泛关注热烈讨论 。Codex带来了较好的用户反馈,因而国内外许多公司相继开始行动 。
《开谈》: 两位老师都在负责AI智能编程工具,你们两个工具的相似和不同之处在哪?
郝逸洋:相似之处,在核心功能上 。例如用户写代码的时候,我们可以直接在光标后补出来他可能想要的东西 。
不同之处,是AI Xcoder有两种模式:线上模式和离线模式 。线上模式采用大模型,离线模式采用小模型 。我们工具的差异化之处,更多的体现在一些技术细节上 。延伸到用户层面,很多差异之处其实是被抹去的 。
李钟麒:相似的地方是两个AI编程工具均是围绕用户需求展开 。不同之处,主要是体现在服务对象上,体现在模型结构存在差异 。如果工具主要是去服务专业编程人士,他们对编码工具的需求就会更加倾向于专业化、准确性强等 。
因为在AI智能编程工具的水平上,我觉得都趋于一致 。但落到产品里面,可能需要看各自产品的包装能力、产品落地等要素,同时,每个工具服务的用户也不同 。
《开谈》: 目前,主流的AI编程工具是如何实现和工作的?相似点和不同点有哪些?
郝逸洋: 我认为对于用户感知而言,AI编程的形式上或许一样,但内容会有差异 。从技术路线上来看,我觉得可以分为三类:小模型、统计模型、线上大模型 。
例如TabNine,最开始并没有使用深度学习技术,而是用一个统计的方法建立一个统计模型,用统计模型去做预测 。它的技术路线显然侧重于离线 。
Kite是离线的一个深度学习模型,它的离线模式能够把模型下载到用户本地,无法联网也可使用智能补全 。
Copilot是在服务器上去部署一个超大规模(可能百亿参数)的模型,再以网络的方式给用户提供一个服务 。不同于其他代码补全工具只提供最多一行的补全结果,Copilot能通过代码上下文以及语言描述,生成整个代码片段 。
李钟麒:对于超大规模的模型而言,为了保障准确率,多是采用线上部署或云服务的方式对外推出,因为实际上的算力需求是很难满足 。
但是,小模型、统计模型也能结合到产品中 。在目前补全工具比较成熟的情况下,没必要再通过模型去完成 。但在实现长文本的补全的情况下,为了达到较高的准确率,或许仍会采用规模较大的模型 。现阶段大模型面临的问题很多体现在响应时间、部署方式能否支持大量用户访问 。


推荐阅读