开源还是封闭?人工智能的两难选择
这篇文章于 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:
-
确定对公众构成风险的模型类型。由于控制信息(聊天机器人)或危险资源(自动驾驶汽车)而具有高风险的模型应该受到监管。
-
应鼓励组织将其模型作为完全开放的模型共享。开源社区需要加紧行动,防止或标记仅部分共享的模型。开源社区还应该将可用于对模型进行评级的测试放在一起。
-
如果封闭模型不会对公众构成风险,则仍应允许使用。大型科技公司应该加紧开发自己的一套控制措施和测试,并为其提供资金和共享。也许这是大型科技公司与开源社区密切合作解决常见问题的机会。
相关文章:
开源还是封闭?人工智能的两难选择
这篇文章于 2024 年 7 月 29 日首次出现在 The New Stack 上。人工智能正处于软件行业的完美风暴中,现在马克扎克伯格 (Mark Zuckerberg) 正在呼吁开源 AI。 关于如何控制 AI 的三个强大观点正在发生碰撞: 1 . 所有 AI 都应该是开…...
Prometheus 服务监控
官网:https://prometheus.io Prometheus 是什么 Prometheus 是一个开源的系统监控和报警工具,专注于记录和存储时间序列数据(time-series data)。它最初由 SoundCloud 开发,并已成为 CNCF(云原生计算基金会…...
建模杂谈系列252 规则的串行改并行
说明 提到规则,还是需要看一眼RETE算法: Rete算法是一种用于高效处理基于规则的系统中的模式匹配问题的算法,广泛应用于专家系统、推理引擎和生产系统。它的设计目的是在大量规则和数据的组合中快速找到满足特定规则条件的模式。 Rete算法…...
0.ffmpeg面向对象oopc
因为查rtsp相关问题,接触了下ffmpeg源码,发现它和linux内核一样,虽然都是c写的,但是都是面向对象的思想,c的面向对象称之为oopc。 这让我想起来一件好玩的事,有些搞linux内核驱动的只会c的开发人员不知道l…...
KDD2024参会笔记-Day1
知乎想法:链接 听的第一场汇报:RAG Meeting LLMs 综述论文:https://arxiv.org/pdf/2405.06211 PPT:https://advanced-recommender-systems.github.io/RAG-Meets-LLMs/2024-KDD-RAG-Meets-LLM-tutorial-Part1.pdf 检索࿱…...
Java操作Elasticsearch的实用指南
Java操作Elasticsearch的实用指南 一、创建索引二、增删改查 一、创建索引 在ElasticSearch中索引相当于mysql中的表,mapping相当于表结构,所以第一步我们要先创建索引。 假设我们有一张文章表的数据需要同步到ElasticSearch,首先需要根据数据库表创建…...
数据库系统 第42节 数据库索引简介
数据库索引是数据库表中一个或多个列的数据结构,用于加快数据检索速度。除了基础的B-Tree索引,其他类型的索引针对特定的数据类型和查询模式提供了优化。以下是几种不同类型的索引及其使用场景的详细说明和示例代码。 1. 位图索引 (Bitmap Index) 位图…...
C++11 --- 智能指针
序言 在使用 C / C 进行编程时,许多场景都需要我们在堆上申请空间,堆内存的申请和释放都需要我们自己进行手动管理。这就存在容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题…...
C#顺序万年历自写的求余函数与周位移算法
static int 返回月的天数(int 年, int 月){return (月 2 ?(((年 % 4 0 && 年 % 100 > 0) || 年 % 400 0) ? 29 : 28) :(((月 < 7 && 月 % 2 > 0) || (月 > 7 && 月 % 2 0)) ? 31 : 30));}static int 返回年总天数(int 年, int 标 …...
【Java并发编程一】八千字详解多线程
目录 多线程基础 1.线程和进程 线程是什么? 为啥要有线程? 进程和线程的区别? Java 的线程 和 操作系统线程 的关系 使用jconsole观察线程 2.创建线程的多种方式 3.Thread类及其常见方法 Thread类的常见构造方法 Thread类的常见属性…...
CentOS 8FTP服务器
FTP(文件传输协议)是一种客户端-服务器网络协议,允许用户在远程计算机之间传输文件。这里有很多可用于Linux的开源FTP服务软件,最流行最常用的FTP服务软件有 PureFTPd, ProFTPD, 和 vsftpd。在本教程中,我们将在CentOS…...
C++ | Leetcode C++题解之第385题迷你语法分析器
题目: 题解: class Solution { public:NestedInteger deserialize(string s) {if (s[0] ! [) {return NestedInteger(stoi(s));}stack<NestedInteger> st;int num 0;bool negative false;for (int i 0; i < s.size(); i) {char c s[i];if …...
【软件设计师真题】第一大题---数据流图设计
解答数据流图的题目关键在于细心。 考试时一定要仔细阅读题目说明和给出的流程图。另外,解题时要懂得将说明和流程图进行对照,将父图和子图进行对照,切忌按照常识来猜测。同时应按照一定顺序考虑问题,以防遗漏,比如可以…...
系统架构的发展历程之模块化与组件化
模块化开发方法 模块化开发方法是指把一个待开发的软件分解成若干个小的而且简单的部分,采用对复杂事物分而治之的经典原则。模块化开发方法涉及的主要问题是模块设计的规则,即系统如何分解成模块。而每一模块都可独立开发与测试,最后再组装…...
基因组学中的深度学习
----/ START /---- 基因组学其实是一门将数据驱动作为主要研究手段的学科,机器学习方法和统计学方法在基因组学中的应用一直都比较广泛。 不过现在多组学数据进一步激增——这个从目前逐渐增多的各类大规模人群基因组项目上可以看出来,这其实带来了新的挑…...
解决老师询问最高分数问题的编程方案
解决老师询问最高分数问题的编程方案 问题分析数据结构选择:线段树线段树的基本操作伪代码伪代码:构建线段树伪代码:更新操作伪代码:查询操作C语言实现代码详细解释在日常教学中,老师经常需要查询某一群学生中的最高分数,并有时会更新某位同学的成绩。为了实现这一功能,…...
com.baomidou.mybatisplus.annotation.DbType 无法引入
com.baomidou.mybatisplus.annotation.DbType 无法引入爆红 解决 解决 ❤️ 3.4.1 是mybatis-plus版本,根据实际的配置→版本一致 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-annotation</artifactId>&…...
从零开始学习JVM(七)- StringTable字符串常量池
1 概述 String应该是Java使用最多的类吧,很少有Java程序没有使用到String的。在Java中创建对象是一件挺耗费性能的事,而且我们又经常使用相同的String对象,那么创建这些相同的对象不是白白浪费性能吗。所以就有了StringTable这一特殊的存在&…...
数据库课程设计mysql
进行 MySQL 数据库课程设计通常包括以下几个步骤,从需求分析到数据库设计和实现。以下是一个常见的流程及要点: 1. 需求分析 首先,明确系统的功能需求。这包括用户需求、业务流程、功能模块等。你需要与相关人员(比如老师、同学…...
AI学习指南深度学习篇-带动量的随机梯度下降法的基本原理
AI学习指南深度学习篇——带动量的随机梯度下降法的基本原理 引言 在深度学习中,优化算法被广泛应用于训练神经网络模型。随机梯度下降法(SGD)是最常用的优化算法之一,但单独使用SGD在收敛速度和稳定性方面存在一些问题。为了应…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
深入理解 React 样式方案
React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...
深度解析云存储:概念、架构与应用实践
在数据爆炸式增长的时代,传统本地存储因容量限制、管理复杂等问题,已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性,成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理,云存储正重塑数据存储与…...
7种分类数据编码技术详解:从原理到实战
在数据分析和机器学习领域,分类数据(Categorical Data)的处理是一个基础但至关重要的环节。分类数据指的是由有限数量的离散值组成的数据类型,如性别(男/女)、颜色(红/绿/蓝)或产品类…...
