订阅
纠错
加入自媒体

大模型编程遇到的问题,也是大模型应用的共同问题。

2023-09-29 05:18
银杏科技
关注

从ChatGPT爆火到进入“大模型时代”相隔不到一年,人工智能已经成为了科技圈最重要的风口。不仅仅是实力雄厚的大厂在押注大模型,财力稍逊的中厂小厂也在尝试着从人工智能浪潮中“掘金”。

据研究机构统计,截至9月,国内有超过106个大模型发布,随着备案工作的完成,头部玩家的大模型纷纷向公众开放,文心一言、讯飞星火、百川、通义千问、混元等大模型的上线也标志着这场大模型军备竞赛已经进入白热化阶段。

值得注意的是,在应用场景上,头部玩家们的大模型横跨客服、工业、医疗、汽车、游戏等多个领域,曾被寄予厚望的关键场景——编程,现下反倒提及的越来越少。

使用人工智能进行编程的想法由来已久。2019年,Google Brain发表了一篇论文,尝试以深度学习的方式辅助程序员进行开发。随后的几年中,微软、谷歌等科技巨头纷纷开始尝试利用人工智能编程,推出了GPT-C、PyMT5等针对编程场景开发的模型。

随着ChatGPT证明了智能涌现的存在,人工智能编程再一次成为科技行业的重点关注方向,OpenAI Codex、GitHub Copilot这样更成熟的编程大模型也出现在了市场上。甚至一度有人认为,人工智能将迅速取代程序员的位置,借助人工智能,任何人都可以进行开发工作。

人工智能编程走到了哪个阶段,是否具有商业化潜力?人人都可以零基础借助人工智能进行开发工作的愿景是可实现的吗?

在与业内人士的交谈中,数据工程师陈锋告诉银杏科技,利用人工智能大模型进行编程在理解能力、准确度上还存在不少问题,技术尚不足以支撑这一功能商业化,普及零基础编程这一目标更为遥远。

开发者视角下的AI辅助编程‍

刘航刚刚指导自己8岁的儿子用人工智能开发了一款小游戏。这是一款基于Javascript的平台跳跃游戏,游戏中的小男孩需要不断跳过建筑物的顶端,玩法类似曾经火遍全球的flappy bird。

在刘航的指导下,他的儿子花了整整一周的时间才完成这款看来有点简陋的小游戏。游戏代码由ChatGPT和Claude生成,美术资源则由Stable Diffusion提供。

作为一家互联网公司的中层,刘航虽然拥有技术背景,但从未要求上小学二年级的儿子学习编程。刘航希望能通过开发小游戏的方式让儿子学习一些相关的知识。结果正如他希望的那样,作为全世界最聪明的人工智能之一,ChatGPT给出的代码并不可靠,大多数情况下都需要刘航带着儿子认真修改之后才能正确运行,这给了他教儿子接触编程的机会。

在这个过程当中,刘航一边惊叹于人工智能真的可以让零基础的儿子完成小游戏,一边也对人工智能编程越来越不信任:“代码写的有点‘弱智’,低级错误一大堆,稍微复杂一些就彻底不会了。”

这并不是刘航第一次接触人工智能编程。今年3月,OpenAi发布了最新的GPT4,能力之强让刘航一度产生了将其引入公司开发流程的想法。但在实际使用之后他就放弃了:“AIGC本质上并不是理解了编程语言,而是从现有案例中生成。因此,开发者需要准确描述自己的需求,才能得到相对正确的结果。重复的调试过程花费的时间并不比直接由开发者编写更少。”

另一位开发者黄一也表示,AI生成的代码质量不确定性太高:“让AI写复杂的代码,它写的正确与否还得人重新查一遍,花费的时间可能比直接写还要多。毕竟代码需要运行才能成为有价值的交付物。”

技术到商用为何难以跨越‍

众所周知,编程语言实际上是一种用于人与计算机之间沟通的语言。在大众认知中,人工智能似乎天生就会使用这些语言,因此很难想象大模型编程会遇到何种技术障碍。

刘航认为,程序员“太聪明”,是大模型在编程上显得“笨拙”的主要原因,当前的大模型难以理解他们的需求。

“与人类使用的自然语言不同,计算机语言更加精确。自然语言与生俱来的灵活性让我们可以用各种方式来表达需求,也可以理解不同场景下语言的内涵,人工智能则很难做到这一点。”

刘航用某国内大模型无法很好理解中文成语来举例。

人工智能很好的理解了“青”“梅”“竹”“马”四个字,却无法理解“从小就相好的男女青年”这一引申含义。实际上,大多数大模型作画的都要求用户“完整描述需求”才能获得理想的结果,在编程当中也是如此。尤其是对于复杂的开发流程来说,开发者很难用简洁的语言描述清楚自己究竟需要什么,因此要不断使用不同的Prompt(提示词)来对生成的结果进行调试。

另外,面对条件和要求各不相同的复杂问题时,大模型出错的概率会大大提高,开发者必须将复杂的问题分解为多个步骤,才能得到正确的结果。

另一个问题是大模型缺乏判断能力,无法判断输出的结果是否正确。

数据工程师陈锋告诉银杏科技,“人类有能力判断自己是否能够解决编程问题,但大模型不行。目前训练模型都是通过无监督的因果推断进行训练的,换句话说,无论有没有正确答案,大模型都会给你一个看起来似是而非的结果,验证这个结果还需要花费大量的时间。”

同样欠缺的还有自主学习能力。作为一个需要不断学习新技术的岗位,程序员寻找和学习新知识的能力是必须的。但对于大模型来说,学习新知识意味着要对模型进行大量的调整,需要付出更多的精力和资源。

大语言模型与人类的根本区别在于学习和适应新知识的能力。大模型的“信息更新”并非真正学会这些知识,而是基于搜索引擎的推理。要实现真正的知识学习,还需重新训练,如果迭代频率高的话,训练成本将变得不可接受。

受限于理解能力、判断能力和学习能力的不足,目前市面上的人工智能辅助开发工具都是针对较为轻度的使用场景:如自动填充代码段、快速创建函数、自动注释、优化代码甚至测试代码。

以GitHub的Copilot为例,在开发者提供代码片段示例后,只要单击一下Tab键,GitHubCopilot就会给出更多建议。类似的功能Replit Ghostwrite、TabNine、OpenAI Codex、CodeWP等主流人工智能辅助编程产品中都会提供。

“目前AIGC只能胜任简单的测试和代码补全,实际上测试不用AI也能跑,只有代码补全能够略微提高工作效率”,黄一告诉银杏科技,“要让企业为辅助编程AI付费目前肯定是不现实的。”

不只编程受限

编程曾被公认为大模型应用的“典型场景”,而如今大模型在编程领域遇到的问题,以类似的逻辑存在于其他应用场景中。

比如因大模型理解能力的不足,要求更精确的语言输入,催生了新兴技术“提示词工程(Prompt Engineering)”。这本质上是试图在不改变模型参数的情况下优化大语言模型的输出结果。

提示词工程的门槛不低,不仅需要设计和研发提示词,还包含大模型交互和研发的各种技能和技术。用户可以通过提示词工程更充分的运用大模型,比如提高其安全性、借助专业领域知识和外部工具来增强其能力。

但显而易见的是,对于大多数使用场景来说,专门去学习一门和人工智能交互的技术是性价比极低的。即使出现“提示词工程师”这种职业,在未形成行业规范与应用标准前,他们也很难有所作为。

在编程之外的领域,缺乏判断能力的AI会生成偏离事实的内容,被称为“人工智能幻觉”。这类技术缺陷限制了大模型的商业化潜力,因为市面上基于大模型的产品开发显得相对谨慎,集中于几个常规领域,如美颜相机、语音助手等。

以国内top厂商提供的大模型相关服务来看,目前大模型主要为用户提供增值服务,能够独立成为产品的少之又少。综合2023上半年多家企业财报,商汤科技、三六零、科大讯飞、拓尔思、值得买、中文在线等企业明确表示AIGC相关业务已经产生了收入。

商汤科技生成式AI相关收入在上半年录得670.4%的同比增长,对集团业务的贡献也从2022年的10.4%迅速提升至20.3%;360智脑给中小企业客户提供AI增值服务,取得近2000万元收入;科大讯飞AI学习机GMV在5月和6月分别大增136%、217%;拓尔思AIGC业务实现营业收入782万元;值得买站内“机器贡献”内容发布量同比大增98.09%。

增值服务已经在不同领域为大模型行业带来了一些收入,但这样的体量很难覆盖大模型的训练成本,更不要说支撑行业进一步发展甚至诞生新的业态。

借用丘吉尔的话,“这不是结束,甚至不是结束的开始,可能只是开始的结束”。

技术与应用之间的壁垒仍旧高耸,比起谈概念,行业或许更需要的是发现真实需求、解决具体问题。

       原文标题 : 大模型编程遇到的问题,也是大模型应用的共同问题。

声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

人工智能 猎头职位 更多
扫码关注公众号
OFweek人工智能网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号