写点什么

代码生成:基于 AI 大模型的挑战与前景

  • 2023-10-16
    北京
  • 本文字数:1458 字

    阅读完需:约 5 分钟

大小:777.07K时长:04:25
代码生成:基于AI大模型的挑战与前景

使用 AI 通用模型来完成代码生成这类非常具体的任务可能会带来问题。人工智能生成的代码就像是陌生人的代码,它们可能并不符合你的代码质量标准。这种情况下,创建专业或专用的模型不失为一条出路。

 

Luise Freese 和 Iona Varga 在2023 年的 NDC Oslo 大会上探讨了 AI 模型的实践困境和伦理相关问题。

 

Varga 提到,“人工智能”这个词给人一种智慧的感觉,虽然这个名字实际只是代表了这些模型的构建方式。以节点相连的形式模仿人脑中神经元与突触连接而成的网络,这类模型因此而得名“人工网络”或“人工智能”。

 

Freese 补充道,抽象来说,计算机是完全依赖于或开或关的晶体管,通过这些开关的组合,我们得以操纵比特。由于晶体管之间没有相互的纠缠,这些开关最终会带来这样的结果:


因此,计算机并不会思考,不过是我们的人工智能算法赋予了它们个性和特征,比如“让我考虑一下”这类礼貌说辞。AI 仅仅是利用统计数据对事物进行预测、分类或组合。

 

Varga 提到,AI 的问题在与使用极其通用的模型或是基础模型完成非常具体的任务。大语言模型(LLM)的工作原理是先分析问题、创建一两个词语,再根据统计数据预测下一个标记的最佳匹配。此外,LLM 本身是无法对事实进行核查的,因为这类模型的设计目的是生成而非验证。

 

如果我们试图建立一个能解决所有 AI 问题的 AI 模型,那么我们将会创造出一种自我放大的螺旋式下降,Freese 补充道。若想实现螺旋式上升,那就应该少用基础模型,多用更为具体的模型,后者中有一部分实际就是搭建在基础模型之上的。

 

AI 或许能生成代码,但这些代码是否能安全地使用,是否能满足我们对质量的标准要求?Varga 认为这些问题只能由真正的人类来回答,这一过程并不容小觑。归根结底,就像是代码的编写一样,调试陌生人的代码远比自己从头到尾参与其中的代码更为困难。

 

一般模型的理解能力也更为通用,这在代码生成问题上可能会带来问题,正如 Varga 所解释的:

举例来说,React v17 或 v16 这些可能没有直接反应在模型的上下文中,但模型也能了解这些代码库。或许你会发现自己生成的一个函数中会混杂有两个版本的代码。

Varga 认为,多数情况下 AI 都是解决问题的好帮手。但使用 AI 就意味着你要去检查、验证、修改、编辑或重写部分内容,而这一部分可能才是我们低估 AI 工具带来工作量的地方。

 

InfoQ 针对人工智能所带来的挑战问题采访了 Luise Freese 和 Iona Varga

 

InfoQ:什么因素会造成 AI 的失败?


Iona Varga:一般来说,AI 并不是命中注定要失败的。我是医学物理出身的,我也见过很多优秀的 AI 工具,它们能出色地完成波弹性成像的实时剪切,早期阶段的婴儿检测,甚至能检测出肿瘤专家都无法发现的肺癌细小结节。

 

但由于虚假数据和扭曲事实问题的存在,这些结果并不完全可信。举例来说,川普就职典礼上,实际的到场人数是要少于最初公布的数据。试着问模型就职典礼的公园有多热闹,你大概会得到一个出乎意料的答案。但同样,数据的来源时至今日也有颇具争议的历史背景,它们可能会出于政治剧本或标准等原因而被修改。


InfoQ:伦理道德如何才能帮助我们解决 AI 所带来的问题?


Luise Freese:伦理道德作为工具本身是帮不上太多忙的。伦理只是一种工作的方式,就像是 DevOps 一样。一旦你有了规划,知道该做什么了,“伦理道德”就是你对“完成”的定义。我所用的数据是否覆盖了所有产品使用相关的人或事?通过这些道德的检测,我们的工作方式将会在可访问性、包容性和避免偏见方面得到改善。

 

原文链接:

The Challenges of Producing Quality Code When Using AI-Based Generalistic Models

2023-10-16 08:005098

评论

发布
暂无评论
发现更多内容

《深入理解JVM虚拟机》读书笔记:第一章

Joseph295

“2021ISIG中国产业智能大会低代码峰会”即将开幕,钉钉宜搭叶周全受邀出席

一只大光圈

阿里巴巴 互联网 钉钉 低代码 钉钉宜搭

一起来写 VS Code 插件:实现一个翻译插件

狂奔滴小马

JavaScript vscode 大前端 vs

StarRocks Hacker Meetup 小记 Part 2|实时更新场

StarRocks

大数据 Meetup StarRocks

Linux学习有用吗?《Linux一学就会》

侠盗安全

Linux linux运维 云计算架构师 linux电子书

我们如何实现“业务 100% 云原生化,让阿里中间件全面升级到公共云架构”?

阿里巴巴中间件

阿里云 云原生 中间件 三位一体

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起探索一下DefaultMQPullConsumer的实现原理及源码分析

洛神灬殇

阿里巴巴 RocketMQ 消息队列 11月日更 Apache RocketMQ

使用 ABAP 代码提交 SAP CRM Survey 调查问卷

汪子熙

CRM SAP abap 11月日更 问卷模型

图论算法:稳定婚姻问题,如何找到最适合自己的另一半

博文视点Broadview

首发!OceanBase社区版入门教程开课啦!

OceanBase 数据库

数据库 开源 新闻 课程 oceanbase

Python代码阅读(第62篇):列表是否包含相同元素判断

Felix

Python 编程 列表 阅读代码 Python初学者

一起来写 VS Code 插件:为你的团队提供常用代码片段

狂奔滴小马

vscode 大前端

java语言前景怎么样,到底需不需要参加培训

@零度

Java JAVA开发

Vue都使用那么久了,还不了解它的生命周期吗

CRMEB

入驻快讯|欢迎ShowMeBug正式入驻 InfoQ 写作平台!

InfoQ写作社区官方

百亿级存储+毫秒级写入!TDengine如何轻松玩转“潮鞋”APP?

TDengine

tdengine 时序数据库

正确学习大数据开发技术的方法有哪些

@零度

大数据

用 NodeJS 开发一版在线流程图网站

狂奔滴小马

JavaScript 大前端 Node

使用 NextJS 和 TailwindCSS 重构我的个人博客

狂奔滴小马

大前端 Blog nextjs

一文讲透如何用明道云构建物料需求计划系统

明道云

人脸检测实战:使用opencv加载深度学习模型实现人脸检测

AI浩

一起来写 VS Code 插件:VS Code 版 CNode 已上线

狂奔滴小马

JavaScript vscode 大前端

智能运维中的指标预测

云智慧AIOps社区

算法 智能运维 预测 指标

今日谈:BoltDB数据库,一款纯Go实现的KV数据库

恒生LIGHT云社区

数据库 Go 语言 BoltDB

Android C++系列:Linux进程间通信(一)

轻口味

c++ android 11月日更

管理纪要

KoLee

Flutter设置App的应用名字和应用logo图标的方法

坚果

flutter 11月日更

SAP CRM Survey调查问卷的模型设计原理解析

汪子熙

中间件 CRM SAP C4C 11月日更

netty系列之:在http2中使用framecodec

程序那些事

Java java 并发 程序那些事 11月日更

使用 Omnibus 安装极狐GitLab

极狐GitLab

极狐GitLab 安装使用

零基础学习前端开发技术的方法分享

@零度

大前端

代码生成:基于AI大模型的挑战与前景_生成式 AI_Ben Linders_InfoQ精选文章