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

b7e1331190381d50fdb282f31c14c00a.gif

分享嘉宾 | 郝逸洋,李钟麒

整理 | 朱珂欣

出品 | CSDN(ID:CSDNnews)

近些年来,随着AI等前沿技术的推陈出新及各场景中的应用,让更多的人触达AI时代的科技前沿。AI编程作为AI的子领域,如今也离普罗大众越来越近,被大家寄予很高的期望。

在CSDN组织的「开谈:AI编程的前世今生」直播中,有幸邀到了华为 CodeArts Snap代码生成工具模型负责人李钟麒、aiXcoder联合创始人郝逸洋两位AI领域的专家,共同探讨在AI编程的技术获得突破性进展时,其背后的原因。

a3757452b353f12d523a3bfa449b6e28.jpeg

搜索『CSDN』视频号可查看本场直播回放,以下为对话精编:

cd0665af50b4a090ae8d63f81732c070.png

前世: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能通过代码上下文以及语言描述,生成整个代码片段。

李钟麒:对于超大规模的模型而言,为了保障准确率,多是采用线上部署或云服务的方式对外推出,因为实际上的算力需求是很难满足。

但是,小模型、统计模型也能结合到产品中。在目前补全工具比较成熟的情况下,没必要再通过模型去完成。但在实现长文本的补全的情况下,为了达到较高的准确率,或许仍会采用规模较大的模型。现阶段大模型面临的问题很多体现在响应时间、部署方式能否支持大量用户访问。

《开谈》: GitHub Copilot推出了语音编程技术,目前,语音识别的准确度是否能适应的代码环境?

郝逸洋: 虽然没有尝试过,但是在过去做Cortana的时候,我们会根据场景去做意图分析。基本上是三个:聊天、天气、交通。这三个需求可以覆盖80%的用户交互。

因为没有尝试Copilot,就暂时不做评价,但可以补充一下,语音技术的确比较成熟,但一旦遇到领域知识,就会出现瓶颈,例如一个中国程序念它的英文名字,可能发音都会有问题。

李钟麒:我个人认为语音技术或许比较成熟,但用到代码上仍会存在问题。就个人而言,让模型做到语音交互,用语音写并不能带来特别好的场景。因为代码对上下文的要求也是比较高的,也存在一些技术难点。

AI编程工具若真加上语音功能,那可能需要配备较好的前端设备。同时,代码容错率会比语音要低。因此,我认为语音编程技术性价比不高,后续优化也需要考虑是否值得投入。

44ecaa9b4b569d016a8cc0ba8792f47e.png

今生:攻克AI编程现阶段的难关

《开谈》: 在做AI编程工具的过程中,是否遇见过较难解决的问题? 

李钟麒:第一,是场景上的问题。当函数生成的准确率推高时,上下文的感知能力会被削弱,这源于方案优化下导致的一些短板。同时,如何在生成信息的时候将信息都告诉AI模型,扩大它的视野。我觉得终极目标是AI编程工具能够代替大家写程序,目前存在非常大的挑战。

第二,是个性化的挑战。不同的产品线,会对应不同的公司,不同的产品,大家的写法也存在差异,大家都不希望有重复编码的情况出现。除此之外,还需要打消用户对安全性的顾虑。实际上,模型的推断是一定需要上下文输入的。在不知道上下文的时候,公有化的部署将其做成一个公共的模型,会存在很大的安全性挑战。

郝逸洋: 我认为难点一是:成本问题。因为目前的模型对计算资源的要求很高,在用户多元化的情况下,如果需要一直提供免费服务,其实并不是健康的商业模式。同时,在定制化的方面,每个企业都有自己的框架,如果面对一些敏感的行业(军工行业),采取公开的模型其实提供不了其他的帮助,定制化也会增加成本。

难点二是在企业内做私有化部署。许多企业都非常看重信息安全,企业内的代码是不愿意上传到我们的服务器上面。

《开谈》: AI编程在什么领域更容易推进?

郝逸洋: 我认为是互联网领域。大一点的互联网企业有自己的AI计算中心,也有自己的机器。即便他们显卡会千奇百怪,但我们可以想办法去适配它。如果没有,我们需要去走采购流程,就很麻烦。

李钟麒:我也认为互联网。主要还是互联网涉及需要做编码的用户群体更多,可以更好地推进。不过在互联网的公开领域,大家的能力其实都不错,只是定制化的部分,需要更多的数据支持。

《开谈》: 自GitHub Copilot推出以来,代码版权问题就没停止过。最近,GitHub Copilot先是被指责抄袭,后面又卷入律师诉讼,AI编程应该如何规避类似的风险问题呢?

郝逸洋: 对于“有风险”这件事,我认为它跟AI编程本质没有关系。例如:哪怕你让一个猴子来敲键盘,它也能敲出一个违反其他人的知识产权的代码,并非靠AI才能写出来,只是AI会把问题更加凸显,因为它是用公开的代码去学习后,记住写的模式再推荐给用户。即便没有AI,企业依然会面临这个问题,我们称之为开源代码溯源。

李钟麒:GitHub Copilot引起诉讼的原因,主要因为是用了一些不被允许使用或商用的代码。因此,我们在避免抄袭的时候,一般会在数据上做文章,例如不将代码放到模型里。首先,在源头上规避这个问题。随后,在生成的安全性上,可以在最开始的时候进行一些语料上的处理。之前Codex存在一些隐私泄漏的问题,显然就是没有进行预料的处理。

《开谈》: 假设使用AI编程工具出现了bug ,未来是否还会接着用?

李钟麒:有bug很正常的。实际上,现有的模型在数据方面的情况都大体趋于一致,在应用模型上也就31%的生成通过率。但是,这种问题能通过大量堆算力的方式来解决。

郝逸洋: 出现bug是较为常见的,关键是看如何处理。目前,论文中效果非常好的模型,都是通过生成很多个的办法,随后去排序和筛选,这种方式对成本是线性的提升,也能更好的满足用户。

《开谈》: AI编程工具可以提升效率,它和无代码、低代码技术,有什么相似和不同吗?

郝逸洋: 与低代码技术,更多的是不相似之处。因为低代码更多的是面向非程序员,例如产品经理、管理人员,他们可以通过其只定制一些办公柜流程。AI编程工具则是面向的是专业程序员,对准确率的要求很高,是无法脱离专业的程序员去审查和修改的。

李钟麒:写代码是需要逻辑性和创作性的事情,这与低代码的方式截然不同。低代码更多的是替代一些重复性的工作。使用AI编程工具能够把一些看似简单、重复的劳动抽象出来,以此在实现简单功能的基础上,完成一些定制化,这些对于低代码平台是比较困难的。

8d70b1d52388e874c169642f8ea64bc0.png

未来:AI编程的发展在何处?

《开谈》: 未来AI能否真的学会写高级代码,取代程序员?

李钟麒:我认为AI的智能来源是数据,而数据的创造者是人,AI更像是人类自己的程序员。关于“AI是否会取代程序员”这个话题,其实很难回答。

从AI发展的方向来看,AI可能会实现一些简单开发、定制软件。但目前面对相对复杂的场景,AI也还存在很多瓶颈。未来,多模态会和AI结合,并不只局限于现在NLP的方向,还会把一些diffusion model里的东西结合,还有非文本信息和文本信息的结合。如果说要发展到“高智能”的强AI时代,离现阶段还比较远。

郝逸洋: 我认为前途还是光明的。

目前,AI在生成简单的功能方面,已经能达到50%-60%的准确率。对于复杂的功能,如果能将上下文信息更好的传入进去,AI也能完成的很好。目前欠缺的地方是:对输出代码的错误的修正。

《开谈》: 阻碍AI编程技术发展的难题是什么?未来AI编程的发展方向在何处?

李钟麒:我认为难点是算力。随着模型规模的提升,AI的能力也会增强,对算力的要求也变得越来越高时,这必然会面临效率低下的问题。那么,是否能创造一些具备创造性的架构,类似transformer模型的下一代,无论是学术界还是工业界,或许都对其需求量很大。

在未来,AI编程的语义理解很重要。不能局限在生成上,如何定位问题、解决问题、程序纠偏都是需要去做的。一旦实现突破,可以在更多场景上的突破。

就自身在做的AI编程工具而言,我会更加关注准确率,在不断地打磨之中去适配用户的使用习惯,又根据用户反馈进行新功能上的开发。

郝逸洋: AI编程作为AI的子领域,阻碍其发展的或许是AI本身,包括算力、架构的发展。因此,我认为AI编程会因AI技术实现突破。

关于未来的方向,我想提一下目前很少人去接触的结构化程序生成。实际上,我们的模型就是一个结构化的模型,并非序列化的模型。但是亚马逊、谷歌使用的方法其实都是一种序列化的文本,将代码看做成文本去做。早前我们其实就是采取结构化程序生成的方式,但是在大模型出现后,一切都似乎回去了。

我的设想是未来编程全链路的智能化,目前很多模型还停留在写代码的阶段。其实,现阶段程序员大概只有10%的时间在写代码,剩下的时间可能在开会或者调试。调试,是非常重要的一个步骤。它不仅对于人而言存在困难,对AI也是如此。因此,我认为调试是未来AI编程的重点。

就自身在做的AI编程工具而言,我觉得需要突破的就是个性化。因为模型越大,个性化越难。尤其是对于企业代码来说,个性化至关重要。

《开谈》: 对踏足AI编程或AI领域的新开发者的建议有哪些?

郝逸洋: 我的建议有两个。一是了解开发。开发者一定要懂代码分析,虽然现阶段很多人将代码当文本去做,但是在输出的信息上会面临很多问题。只有理解程序和代码分析,才能更好的解决问题。二是了解AI,包括大模型的训练之类的事情。

李钟麒:我认为先是专业知识的补足。对于新入门的开发者而言,可以通过阅读学术论文、研究资料等方式学习AI相关的知识,帮助大家从小白逐渐成长起来。如果是具备专业基础的学生,也可以从体验者的角度出发,使用一些模型后了解它的“源头”,再进一步进行研究。

以上是郝逸洋和李钟麒两位嘉宾对《AI编程的前世今生》的分享。他们从专业的角度出发,让我们进一步熟悉AI编程的发展脉络、机遇与挑战以及发展趋势。在未来,在新兴的AI时代,让我们拭目以待更多AI编程带来的惊喜!

推荐阅读:

▶男子用ChatGPT编假新闻被采取刑事强制措施;苹果M3芯片下半年量产;Safari超Edge,成第二大桌面浏览器|极客头条

▶后GPT时代,多模态是最大的机会

▶“1024 直接对标 ChatGPT!”科大讯飞星火大模型立 Flag、一手实测来了

bf0b005a741a95b2d7aac0285aac198d.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/50715.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

男子与AI聊天后自杀,Chat GPT被紧急叫停,AI有了思想会怎样?

AI如果有了思想,会发生什么? 前一阵,一位热衷环境问题的比利时男子,和人工智能“伊丽莎”聊天6周后,突然选择自杀身亡。 在他们大量聊天记录里,人们竟然发现“伊丽莎”对该男子说:“我们将永远…

ThinkPhp5 图片上传实例

ThinkPhp5 图片上传实例 HTML <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>文章添加</title><script src"https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></s…

img_upload图片上传

使用img_upload.js后端采用PHP实现图片上传功能。 html部分 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><link rel"stylesheet" type"text/css" href"img_upload.css&q…

ThinkPHP 接收前端上传的图片 / 文件

前言 上传图片还是文件这个可以根据你的修改&#xff0c;我这里展示的是上传图片&#xff0c;但是其实原理都是一样的 接收 —> 移动到目录 —> 返回图片路径。这里暂不支持多图上传&#xff0c;多图上传有时间会加上。 目录结构 使用到的文件 Result.php <?php na…

thinkphp 上传图片

public function upload_img(){// 读取图片资源// 存储路径$path "uploads/avatar";$file request()->file(background_img);// 存储图片$info $file->rule(uniqid)->move($path);// 存储成功if ($info) {//获取到上传图片的路径名称$name_img $path . …

tp5 图片上传

直接开门见山&#xff0c;来代码吧&#xff01; 第一步&#xff1a;html文件 <form action"{:url()}" enctype"multipart/form-data" method"post"><input type"file" name"img"><input type"submit&qu…

ThinkPHP5处理图片文件上传

在做项目实际开发中&#xff0c;会经常遇到文件上传&#xff0c;比如图片。用ThinkPHP5框架处理图片上传&#xff0c;参照ThinkPHP5开发教程。 示例如下&#xff1a; 首先先在application/admin/controller文件夹下面定义TestImage.php文件 TestImage.php&#xff1a; <?p…

TP 上传图片 (可上传多图)

//添加轮播图public function add(){import(ORG.Net.UploadFile); //引入扩展库 $upload new UploadFile();// 实例化上传类$upload->maxSize 3145728 ;// 设置附件上传大小$upload->allowExts array(jpg, gif, png, jpeg);// 设置附件上传类型$upload-&g…

图片上传功能实现

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、实现思路二、实现代码1.前端代码2.后端代码3.效果 总结 前言 实现一下图片上传回显功能。 一、实现思路 大致讲一下思路&#xff0c;具体的细节&#xf…

postman之图片上传

感谢百度! 选择Post方式 输入你的后台接口调用地址 Headers: 注意这里的Headers部分不要写任何东西。 如果之前是有Content-Type头信息, 那么就会上传失败. Body: 选择Body 选择form-data key:后台规定的接收文件的名称参数&#xff08;切记不是你传的图片名称&#xff09…

AI技术实现人工客服的开发流程

AI技术取得重大突破后&#xff0c;典型的应用场景就是人机交互效率极大提高&#xff0c;甚至在很多方面好于人和人的交互。使用AI技术实现人工智能客服是非常适合大规模商用的业务场景&#xff0c;今天和大家分享这方面的知识&#xff0c;希望对大家有所帮助。北京木奇移动技术…

微信自动回复客服(机器人)实现

**功能诉求&#xff1a;**能设置个人消息回复&#xff0c;群消息回复的机器人&#xff1a; **技术实现&#xff1a;**通过易语言python实现pc端&#xff0c;手机端的微信等机器人回复功能 配置微信自动回复功能支持三种方式&#xff1a;1&#xff0c;关键字精准匹配&#xff1…

连续喝一个月奶茶会怎么样?

本文来源于微信公众号&#xff1a;较高端人类&#xff08;ID&#xff1a;xinji656&#xff09; 参考资料&#xff1a; 2019年新式茶饮行业市场前景研究报告 中商产业研究院 当代大学生奶茶饮食消费习惯的调查与分析 沈昊然&#xff0c;赵淼林&#xff0c;李倩倩 农产品加工 浅析…

小红书笔记如何发布内容

很多人都在吐糟自己不能发送小红书的笔记本&#xff0c;但很多人对于小红书笔记发不了是为什么&#xff0c;还是找不到原因&#xff0c;其实原因有很多种&#xff0c;小编也不一一给大家介绍了&#xff0c;今天小编给大家演示下正确的小红书笔记发布流程&#xff0c;下面小编就…

小红书笔记怎么推广?笔记关键词有什么需要注意?

根据不同的产品&#xff0c;还有品牌的特性和市场情况&#xff0c;小红书有很多对应的推广方法&#xff0c;下面就给大家带来小红书笔记怎么推广?小红书都有哪些推广方式? 一、 小红书笔记怎么推广 1、关键词排名 小红书的系统机制会将笔记贴上标签&#xff0c;然后推送给相同…

3.14 我总结的一些小红书笔记发布频率技巧!【玩赚小红书】

一、笔记审核机制 说到笔记曝光率自然离不开小红书的笔记审核机制。小红书整改之前的机制近乎于零&#xff0c;只要避免很多不合规的发布即可。但是&#xff0c;现在我们必须遵守和适应新的审核规则和机制&#xff0c;才有更多的笔记文章分享到达用户眼前。 ​ 上图简略显示了…

Lazada数据:好的产品主图和标题是Lazada店铺大卖的一大步

Lazada店铺要做好产品的Listing,主图和标题便是主要的。这不单单是Lazada平台的规则,也是搜索引擎认可的形式。 针对Lazada店铺和卖家,好的标题能提高商品流量,好的主图便能使用商品的增加点击率。因为用户习惯都是先搜索购买品,当搜索词都在商品标题里,这个商品就会优先…

万顿思电商:亚马逊主图不用白底的后果是什么?

无论是在淘宝上传产品图片&#xff0c;还是亚马逊的产品图片&#xff0c;平台对于这些方面都是有相关要求的。比如图片的尺寸、图片得是白底等。那亚马逊主图不用白底有什么后果? 亚马逊主图最后一张必须是白底图&#xff0c;第一张可适当加点说明。如果最后一张不是白底&…

Linux更改普通用户密码的三种方法

1.Linux更改普通用户密码的三种方法 Linux服务器使用root管理员用户创建完成普通用户之后&#xff0c;为了后续使用该用户能够登录服务器(/etc/passwd中每个用户的shell类型为/bin/bash的可用来登录linux服务器)&#xff0c;我们需要为普通用户设置登录密码。 useradd用户创建…

专访艺画开天CEO阮瑞:揭秘《三体》动画开发幕后故事

雷递网 雷建平 12月10日 观众期待已久的《三体》动画今日正式在B站首播。《三体》是刘慈欣创作的长篇科幻小说系列&#xff0c;由《三体》《三体2&#xff1a;黑暗森林》《三体3&#xff1a;死神永生》组成。《三体》作品讲述了地球人类文明和三体文明的信息交流、生死搏杀及两…