当前位置: 首页 > news >正文

开源还是封闭?人工智能的两难选择

这篇文章于 2024 年 7 月 29 日首次出现在 The New Stack 上。人工智能正处于软件行业的完美风暴中,现在马克·扎克伯格 (Mark Zuckerberg) 正在呼吁开源 AI。

关于如何控制 AI 的三个强大观点正在发生碰撞:

1 . 所有 AI 都应该是开源的,以实现共享和透明。

2 . 保持 AI 闭源,并允许大型科技公司控制它。

3 . 制定 AI 使用法规。

有几个事实使这场辩论变得棘手。首先,如果你有模型的源代码,你对模型的行为方式完全一无所知。AI 的开放性需要的远不止提供源代码。其次,AI 有很多不同的风格,可用于解决广泛的问题。从用于欺诈检测和定向广告的传统 AI 到用于创建聊天机器人的生成式 AI,这些聊天机器人从表面上产生类似人类的结果,使我们越来越接近人工生成智能 (AGI) 的最终(和可怕)目标。最后,上面列出的控制 AI 的想法在改进软件方面都有良好的记录。

在本文中,我将讨论:

  • 开源的真正本质以及为什么该行业必须为 AI 模型重新定义它。

  • 理想主义者的常见论点和逻辑缺陷,他们高度关注单一用例。

  • 创新者的权利和公众的权利。

  • 关于在正确的模型上使用适当控件的想法。

了解不同的观点

在深入研究之前,让我们更详细地讨论上面列出的不同观点。

观点 #1 – 所有 AI 都应该是开源的,以实现共享和透明: 这来自于 AI 对透明度的推动。 开源是共享和改进软件的一种行之有效的方法。当用于传统软件时,它提供完全透明。(在本文中,我将使用术语 conventional software 来指代与 AI 无关的软件。例如,操作系统、服务、可重用库或完整应用程序。开源软件推动了软件行业的突飞猛进。

观点 #2 – 保持 AI 闭源并允许大型科技公司控制它: 闭源或专有软件是指发明可以保密,远离竞争对手,以实现经济利益最大化的想法。对于开源理想主义者来说,这听起来完全是邪恶的;然而,它更像是一种哲学选择,而不是存在于善与恶的光谱上的选择。大多数软件都是专有的,这本身并不是坏事 - 它是竞争和健康生态系统的基础。选择闭源道路是任何创造新事物的创新者的基本权利。问题变成了,如果你在没有透明度的情况下运营,那么负责任的 AI 有什么保证呢?

观点 #3 – 制定 AI 使用法规: 这来自推动监管的立法者和民选官员。基本思想是,如果公共职能或技术如此强大,以至于不良行为者或不负责任的管理可能会伤害公众,那么应该任命一个政府机构来制定控制措施并执行这些控制措施。有一种观点认为,人工智能领域的现任和现任领导者也希望进行监管,但原因不那么纯粹——他们想冻结由他们主导的竞争环境。我们将主要关注公共产品领域。

开源的真正本质

在生成式 AI 出现之前,在数据中心运行的大多数软件都是传统软件。如果您有传统软件的源代码,则可以准确确定它的作用。精通适当编程语言的工程师可以查看代码并确定其逻辑。您甚至可以修改它并更改其行为。开源(或开源代码)是另一种说法 - 我将提供确定行为和改变行为所需的一切。简而言之,开源软件的真正本质是提供了解软件行为并对其进行更改所需的一切。现在,使用 AI 模型,如果你有模型的源代码,你对模型的行为方式完全一无所知。要使模型完全开放,您需要训练数据、模型的源代码、训练期间使用的超参数,当然还需要训练后的模型本身,它由存储模型知识的数十亿(很快是数万亿)参数组成,也称为参数内存。现在,一些组织只提供模型,将其他所有内容留给自己,并声称该模型是“开源的”。这是一种被称为 “公开清洗” 的做法,通常被开放和闭源社区视为不诚实。我希望看到一个新术语用于部分共享的 AI 模型。也许是 “partially open model” 或 “model from an open washing company”。当涉及到完全共享的模型时,还有最后一个问题。假设一个组织想要做正确的事情并分享有关模型的所有内容 - 训练数据、源代码、超参数和训练的模型。好吧,除非您对其进行广泛测试,否则您仍然无法确定它的具体行为。确定行为的参数内存不是人类可读的。同样,该行业需要一个不同的术语来描述完全开放的模型。与“开源”不同的术语,“开源”只应用于非 AI 软件,因为模型的源代码无助于确定模型的行为。也许是“开放模式”。

常见参数

让我们看看你在互联网上找到的一些常见论点,这些论点只支持使用前面描述的其中一种观点。这些人是他们观点的热情捍卫者,但这种热情可能会蒙蔽判断力。

论点: (封闭的 AI 支持者声称,大型科技公司有办法防范潜在的危险和滥用。因此,AI 应该保持私有,远离开源社区。

反驳: 大型科技公司确实有办法防范潜在的滥用行为,但这并不意味着他们会明智地这样做,甚至根本不这样做。此外,这不是他们的主要目标。他们的主要目标是为股东赚钱 - 这永远是优先的。

论点: 那些认为 AI 可能会对人类构成威胁的人喜欢问:“你会开源曼哈顿计划吗?

反驳: 这显然是治理的论点。然而,这是一个不公平和不正确的类比。曼哈顿计划的目的是在战时通过使用放射性材料产生核聚变来制造炸弹。核聚变不是一种可以应用于不同任务的通用技术。你可以制造炸弹,也可以发电——就是这样。成分和结果对公众来说非常危险,因此应监管所有方面。AI 则大不相同。如上所述,它有不同的口味和不同的风险。

论点: 开源 AI 的支持者表示,开源促进了科学的共享,提供了透明度,并且是防止少数人垄断强大技术的一种手段。

反驳: 这在很大程度上是正确的,但并不完全正确。开源确实提供共享。对于 AI 模型,它只会提供一些透明度。最后,“开放模式”是否会阻止少数人垄断他们的权力,还有待商榷。要大规模运行像 ChatGPT 这样的模型,您需要的计算能力只有少数公司能够获得。

多数人的需求超过了少数人的需求

在《星际迷航 II:可汗之怒》中,斯波克死于辐射中毒。斯波克意识到必须修理飞船的主引擎以方便逃生,但机舱被致命的辐射淹没。尽管存在危险,斯波克还是进入了充满辐射的房间进行必要的维修。他成功地恢复了曲速驱动器,使企业号能够到达安全距离。不幸的是,瓦肯人不能免疫辐射。他对柯克船长的临终遗言解释了他行动背后的逻辑,“许多人的需求超过了少数人或一个人的需求。这是完全合理的逻辑,它必须用于控制 AI。有些型号会对公众构成风险。对于这些模式,公众的需求超过了创新者的权利。

所有 AI 都应该开源吗?

我们现在准备将所有内容联系在一起并回答本文标题的问题。首先,让我们回顾一下到目前为止建立的公理:

  • 开源应该仍然是一种选择。

  • 开放模型不如开源的非 AI 软件透明。

  • Close Source 是创新者的权利。

  • 无法保证大型科技公司会正确控制他们的 AI。

  • 公众的需求必须优先于所有其他需求。

上面的 5 个项目符号代表了我试图阐明的有关开源、闭源和法规的所有内容。如果你相信它们是真的,那么“所有 AI 都应该开源吗”这个问题的答案是否定的,因为它不会控制 AI,闭源也不会。此外,在一个公平的世界中,开源和开放模型应该仍然是一种选择,而关闭源代码应该仍然是一种权利。我们可以更进一步,讨论整个行业可以采取哪些行动来有效控制 AI:

  • 确定对公众构成风险的模型类型。由于控制信息(聊天机器人)或危险资源(自动驾驶汽车)而具有高风险的模型应该受到监管。

  • 应鼓励组织将其模型作为完全开放的模型共享。开源社区需要加紧行动,防止或标记仅部分共享的模型。开源社区还应该将可用于对模型进行评级的测试放在一起。

  • 如果封闭模型不会对公众构成风险,则仍应允许使用。大型科技公司应该加紧开发自己的一套控制措施和测试,并为其提供资金和共享。也许这是大型科技公司与开源社区密切合作解决常见问题的机会。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 软件渗透测试流程和方法简析,专业软件测评机构推荐
  • ubuntu20.04 colmap安装
  • 【网络安全】服务基础第一阶段——第七节:Windows系统管理基础---- Web与FTP服务器
  • 网络基础:理解IP地址、默认网关与网段(IP地址是什么,默认网关是什么,网段是什么,IP地址、默认网关与网段)
  • Python测试开发笔/面试题(含答案)
  • 微信公众号《GIS 数据工程:开始您的 ETL 之旅 》 文章删除及原因
  • ORACLE 统计信息的备份与恢复
  • 【Matlab】SSA-BP麻雀搜索算法优化BP神经网络回归预测 可预测未来(附代码)
  • Java并发编程实战 02 | 为什么创建线程只有一种方法?
  • 【运维】Linux 离线升级指定版本的MariaDB
  • 天宇微纳ATE测试系统精准检测的方法
  • 【区块链 + 人才服务】区块链综合实训平台 | FISCO BCOS应用案例 | FISCO BCOS应用案例
  • Redis八种数据结构简介
  • 羲和能源大数据平台——Python数据绘图方法
  • NXP,S32K1XX汽车通用微控制器开发笔记
  • 10个最佳ES6特性 ES7与ES8的特性
  • co.js - 让异步代码同步化
  • fetch 从初识到应用
  • JavaScript 一些 DOM 的知识点
  • Mocha测试初探
  • Odoo domain写法及运用
  • spring-boot List转Page
  • Vue2.0 实现互斥
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 首页查询功能的一次实现过程
  • 译有关态射的一切
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • # Kafka_深入探秘者(2):kafka 生产者
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #LLM入门|Prompt#3.3_存储_Memory
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $jQuery 重写Alert样式方法
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (AngularJS)Angular 控制器之间通信初探
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十)c52学习之旅-定时器实验
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • .axf 转化 .bin文件 的方法
  • .net core 6 redis操作类
  • .net core Redis 使用有序集合实现延迟队列
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .Net Core和.Net Standard直观理解
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .Net(C#)自定义WinForm控件之小结篇
  • @Autowired 与@Resource的区别
  • [2016.7 test.5] T1
  • [android] 看博客学习hashCode()和equals()
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [C++] sqlite3_get_table 的使用
  • [C++数据结构](22)哈希表与unordered_set,unordered_map实现
  • [codevs 2822] 爱在心中 【tarjan 算法】