写点什么

代码生成:基于 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:005429

评论

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

算法入门-选择排序

ES_her0

11月日更

2019中级Android开发面试解答之线程篇

android 程序员 移动开发

2019寒冬之下,作为一个android码农,是如何进入腾讯的?

android 程序员 移动开发

06 K8S之kubectl命令介绍

穿过生命散发芬芳

k8s 11月日更

12月面试ing-本以为学了个好找工作的Android开发,没想到又是坑---

android 程序员 移动开发

15年手持4个大厂offer的我,今天面试今日头条体无完肤

android 程序员 移动开发

2019-金九银十多家BAT大厂Android面试真题锦集干货整理

android 程序员 移动开发

2020-Android-面试重难点(万字篇),字节

android 程序员 移动开发

2020作为一个资深的Android开发者需要掌握哪些技能?

android 程序员 移动开发

固定价格项目能否敏捷?

Bruce Talk

敏捷 随笔 Agile

200行代码打造超越一线互联网公司的换肤架构

android 程序员 移动开发

2018届android校招面试总结:百度,大疆,乐视

android 程序员 移动开发

攻击SSRF漏洞之Redis利用

喀拉峻

redis 网络安全 安全 信息安全 漏洞

2019-必看-Android-高级面试题总结

android 程序员 移动开发

2019年百度Android面试题-公共技术点之-View-绘制流程

android 程序员 移动开发

2020上半年百度Android岗(初级到高级)面试真题全收录+解析

android 程序员 移动开发

2020吊打面试官系列!Android大厂高级面试题 灵魂 100 问,你能答对多少?

android 程序员 移动开发

智+人:在云端重塑一场认知革命

脑极体

dart系列之:dart语言中的变量

程序那些事

flutter dart 程序那些事 11月日更

eBPF: 让云原生运维拥有超能力

俞凡

云原生 网络 ebpf

2019年移动开发,我的改变之旅

android 程序员 移动开发

北鲲云超算平台如何为生命科学研究提供数据归档与存储服务?

北鲲云

前端开发中使用纯函数提纯非纯函数

devpoint

JavaScript 纯函数 11月日更

2019已经很冷,2020年Android工作或更难找——进大厂面试必备基础技能

android 程序员 移动开发

反垄断专家如何看待区块链监管的发展方向

CECBC

设计模式【3.2】-- JDK动态代理源码分析有多香?

秦怀杂货店

源码分析 动态代理

10道阿里Android岗必问题摆这儿了,你爱刷不刷!(附参考回答解析

android 程序员 移动开发

2020字节跳动安卓程序员视频面试,这五点一定有助你顺利拿到offer

android 程序员 移动开发

rabbitmq简介

小鲍侃java

11月日更

如何提升口头表达能力?

石云升

表达 11月日更

2020Android高级开发面试题以及答案整理,持续更新中~

android 程序员 移动开发

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