写点什么

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

评论

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

架构师训练营第四周

Melo

极客大学架构师训练营 框架开发 模式与重构 JUnit、Spring、Hive核心源码解析 第6课

John(易筋)

spring 极客时间 极客大学 极客大学架构师训练营 JUnit

产品失败了,产品经理要不要承担责任?

涛哥 数字产品和业务架构

产品经理

一个汉字占几个字节你真的记住了吗?

Java旅途

组合设计模式编码&手写单例模式

吴建中

极客大学架构师训练营

第三周-设计模式-学习总结

吴建中

极客大学架构师训练营

手写单例模式

yupi

让你眼前一亮的 10 大 TS 项目

阿宝哥

Java typescript 开源 大前端 Web

极客大学架构师训练营 框架开发 第三次作业

John(易筋)

极客时间 设计模式 极客大学 极客大学架构师训练营 框架开发

rodert单排学习redis进阶【白银一】

JavaPub

Java nosql redis

架构师是怎样炼成的-3-2-设计模式

闷骚程序员

Zookeeper通信协议详解

tunsuy

zookeeper TCP/IP 通信协议

windows使用docker运行mysql等工具(一)windows安装docker

Java旅途

MySQL Docker

windows使用docker运行mysql等工具(二)安装运行mysql

Java旅途

MySQL Docker

良心推荐 | LeetCode(力扣),算法、数据结构的学习良伴

YoungZY

算法

[架构师训练营] Week01 -学习总结

谭方敏

组合模式应用

yupi

架构师训练营第三周作业和小记

tuuezzy

架构师 极客大学架构师训练营

太赞了!一份适合程序员的精选面试题清单。

JackTian

GitHub 开源 编程 程序员 面试

第三周总结

晨光

Zookeeper集群模式启动

tunsuy

zookeeper 源码分析 socket 分布式集群

Zookeeper的数据剖析

tunsuy

zookeeper 日志分析 事务 快照 数据恢复

第三周手写单例模式(饿汉模式)

吴建中

极客大学架构师训练营

区块链改变数字营销与广告市场

CECBC

区块链技术 广告业 精准投放 去中介 公开透明

面向对象设计模式课程小结

梅子黄时雨

极客大学架构师训练营

架构师训练营 第三周 命题作业

RZC

架构师训练营 第三周 学习总结

RZC

【非原创】微服务设计

Axe

极客大学架构师训练营 系统架构 第7课 听课总结

John(易筋)

极客时间 系统架构 高并发 极客大学 极客大学架构师训练营

第三周作业

晨光

Oracle SQL调优系列之看懂执行计划explain

Nicky.Ma

sql

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