开源模型 谎言 GenAI时代到底如何定义 开源 ACM最新论文戳破大公司

新智元报道

编辑:乔杨

【新智元导读】 如何判断一个AI模型是否属于开源阵营?开源or闭源,到底哪种系统才更安全?最近,两位荷兰学者发表的一篇ACM FAccT论文给出了富有卓见的回答。

当我们在谈论「开源」时,我们到底在谈论什么?

在软件时代,「开源」的概念并不模糊。我们可以非常清楚自信地说,Linux是开源的,Windows是闭源的。

更具体地说,曾经的「开源」是指能够访问、修改源代码,并对程序的使用或发行不加限制。

但进入AI时代,这个概念变得愈发模糊。关于人工智能模型的「开源」到底如何界定,社区和行业专家仍未达成一致。

成立于1998年的Open Source Initiative(OSI)就始终在主持一个在线论坛,方便对开源AI模型的定义进行公开讨论。

他们在官方网站上表示:「对于开源代码和使用许可的传统观点不再适用于AI组件,已经不足以保证使用、研究、共享和修改系统的自由。」

OSI的开源AI定义草案从2022年发起,已经修改到了版本0.0.8,最新一版中宣称,开源AI系统应该提供以下三个方面的信息:

这相比我们平常认知中的「开放源代码」已经扩展了不少内容。

最近,荷兰的两位学者也注意到了AI行业「开源」这个定义的模糊性,于是发表了一篇论文讨论这个问题。

文章已被ACM下辖的FAccT会议(Fairness, Accountability and Transparency)接收,并得到了Nature的报道。

论文地址:https://dl.acm.org/doi/10.1145/3630106.3659005

本文创建了一个排行榜,用于识别最「开放」和最「不开放」的模型,并谴责了大公司「挂羊头卖狗肉」的行为。

共同一作Dingemanse表示,一些大公司声称自己的模型开源并从中获益,却试图尽可能少地披露模型信息。论文将这种行为幽默地比喻为open-washing(源于「洗白」white-washing一词)。

这篇论文也得到了同行的认可,Mozilla基金会可信AI方面的高级研究员Abeba Birhane称赞这项研究「戳破了当前开源讨论中的大量炒作和废话」。

大公司open-washing,开源≠开放

给模型贴上「开源」的标签,不仅对社区和开发者有不可抗拒的诱惑力,也能在法律和商业层面带来丰厚回报。

将模型开源的行为,似乎让研发团队显得更加严谨、透明,而且看起来不那么钻营于短期利益,而是致力于整个AI行业的长远发展。

此外,欧盟今年通过的人工智能法案也对开源的通用模型有一定的豁免,没有那么高的透明度要求,让它们承担「较少且尚未定义」的义务。

在这样的背景下,许多LLM都是顶着「开源」光环出道的,标志之一就是使用博客文章发布模型。

论文发现,大公司发布模型的博客文章中会包含精心设计的表格,并在MMLU、HumanEval、TruthQA等基准上进行打分测试。

这让发布者保留了科学研究的光环,但又巧妙避免了真正发布科研论文时需要面临的详细审查与同行评审,从而不必被迫披露不想公开的数据。

那么到底应该用什么样的标准定义「开源」?

论文提出,鉴于GenAI系统的复杂性,最有效的方法将是把「开放性」视为一个复合且分级的概念。

「复合」体现在由多个因素组成,其中每个因素都可以单独进行评估;「分级」是因为每个维度都能以不同的程度实现开放,不能赋以「开放/封闭」这样简单的二元划分。

于是,对46个声称「开源」或「开放」的大模型以及众多小型模型,作者进行了多维度的评估与对比,在14个参数上进行了三分类:开放(open)、部分开放(partially open)还是封闭(closed)。

专注于开放技术的非营利公司OpenUK的CEO认为,在分析开放程度时,使用这种滑动尺度取代简单粗暴的分类,是更加实际且有用的方法。

14个参数涵盖了3个方面——

绿色表示开放,黄色表示部分开放,红色表示封闭

评估结果

于是有了下面这种文本生成模型的开放性概览图,几乎囊括了你能叫上来名字的所有模型。

可以看到,前十名中除了BLOOMZ和OLMo,几乎没有我们认识的模型。这是因为较小的团队希望通过高标准的公开和透明,来弥补模型在规模和性能方面的不足。

Allen AI发布的OLMo系列以及BigScience的Bloom可以说是开源的典范,排在前两名,接近完全开放的状态。

这两个模型的研发团队都在竭尽所能地提供训练数据、代码、文档和整个模型的pipeline。值得注意的是,Allen AI与Big Science都是非营利机构。

这种做法实在是少数中的少数。相比之下,三分之一的系统选择只提供模型权重,但其他方面几乎不公开任何细节。

那么科技巨头的表现如何呢?

ChatGPT无疑排名倒数第一,Cohere、谷歌、微软等大型玩家都吊在车尾,包括被Meta包装成开源模型的LLaMA。

在14个维度中,有两项格外让人担忧:一是所有模型几乎都没有发布严谨的、经过同行评审的论文,二是训练数据的整体不透明性。

除了文本模型,论文也对文生图模型进行了评估。

在这个排行榜上,OpenAI的DALL-E倒数第一也在意料之内,但Stable Diffusion的表现尤为突出,也几乎公开了所有信息,相比文本模型榜首的OLMo开放程度更高。

为什么论文只给概览图不给评分?是作者在水工作量吗?

完全不是。对于「评分」这个问题,论文有进一步的考量和阐述。

对同一个概览图结果,用不同的派生方法和权重,你就能得到不同的评分。

换言之,评分是可以被操纵的。

给所有维度分配相同的权重,并分别用1分、0.5分、0分赋给开放、部分开放、封闭三个结果,就能得到图2中基于梯度测量的累积性分数。

想要从分数转换成分类标签,可以设置不同的权重和阈值,用不同的方法划分评分空间就会得到不同的结果,比如图3和图4。

我们目前所面临的现实,更加接近上面图5中的情况,也就是让唯一的指标「一叶障目」,只通过是否有开放许可证或者是否公开了模型权重,判断系统的开放性。

安全AGI,需要不盲目的开放

应不应该开放?对这个颇有争议的问题,作者在论文最后给出了自己的观点。

在完全共享模型每个组件和所有数据的「激进式开放」,和被稀释到极其微弱的「顺势疗法开放」(如只公开模型权重)之间,还存在着许多条道路。

完全开放并不是最完美的解决方案,比如AI的不正当使用、有害数据的泄露,都是不能忽视的问题。

开放性有不同的程度和维度,对生成式AI的监管应该鼓励有意义的开放。比如训练和微调数据,有可能在公众审查和专业审核的目光下变得更加安全。

但是,在大多数情况下,开放依旧要好过封闭,这对于系统的风险分析(公众需要知道)、可审查性(评估人员需要知道)、科学可复现性(科研工作者需要知道)以及法律责任(用户需要知道)都有重要意义。

对评估人员而言,设计更好的评估框架,得出有意义、基于证据、多维度的开放性判断,避免被操纵、偏颇的指标,能够帮助我们做出更好的决定。

参考资料:

https://opensource.org/deepdive/drafts/the-open-source-ai-definition-draft-v-0-0-8

https://www.nature.com/articles/d41586-024-02012-5


数据库技术的应用与发展

数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。 数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处理数据。 随着计算机技术与网络通信技术的发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。 本章主要介绍数据库技术的应用与发展、关系模型的基本概念、关系数据库的设计理论及数据库设计方法等内容,是学习和掌握现代数据库技术的基础。 1.1数据库技术的发展与应用从20世纪60年代末期开始到现在,数据库技术已经发展了30多年。 在这30多年的历程中,人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就,而且已经开始对新一代数据库系统的深入研究。 数据库系统已经成为现代计算机系统的重要组成部分。 1.1.1数据库技术与信息技术信息技术(Information Technology,IT)是当今使用频率最高的名词之一,它随着计算机技术在工业、农业以及日常生活中的广泛应用,已经被越来越多的个人和企业作为自己赶超世界潮流的标志之一。 而数据库技术则是信息技术中一个重要的支撑。 没有数据库技术,人们在浩瀚的信息世界中将显得手足无措。 数据库技术是计算机科学技术的一个重要分支。 从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。 1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。 在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。 现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。 1.1.2数据库技术的应用及特点数据库最初是在大公司或大机构中用作大规模事务处理的基础。 后来随着个人计算机的普及,数据库技术被移植到PC机(Personal Computer,个人计算机)上,供单用户个人数据库应用。 接着,由于PC机在工作组内连成网,数据库技术就移植到工作组级。 现在,数据库正在Internet和内联网中广泛使用。 20世纪60年代中期,数据库技术是用来解决文件处理系统问题的。 当时的数据库处理技术还很脆弱,常常发生应用不能提交的情况。 20世纪70年代关系模型的诞生为数据库专家提供了构造和处理数据库的标准方法,推动了关系数据库的发展和应用。 1979年,Ashton-Tate公司引入了微机产品dBase Ⅱ,并称之为关系数据库管理系统,从此数据库技术移植到了个人计算机上。 20世纪80年代中期到后期,终端用户开始使用局域网技术将独立的计算机连接成网络,终端之间共享数据库,形成了一种新型的多用户数据处理,称为客户机/服务器数据库结构。 现在,数据库技术正在被用来同Internet技术相结合,以便在机构内联网、部门局域网甚至WWW上发布数据库数据。 1.1.3数据库技术发展历史数据模型是数据库技术的核心和基础,因此,对数据库系统发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。 按照数据模型的发展演变过程,数据库技术从开始到现在短短的30年中,主要经历了三个发展阶段:第一代是网状和层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。 数据库技术与网络通信技术、人工智能技术、面向对象程序设计技术、并行计算技术等相互渗透、有机结合,成为当代数据库技术发展的重要特征。 1. 第一代数据库系统第一代数据库系统是20世纪70年代研制的层次和网状数据库系统。 层次数据库系统的典型代表是1969年IBM公司研制出的层次模型的数据库管理系统IMS。 20世纪60年代末70年代初,美国数据库系统语言协会CODASYL(Conference on Data System Language)下属的数据库任务组DBTG(Data Base Task Group)提出了若干报告,被称为DBTG报告。 DBTG报告确定并建立了网状数据库系统的许多概念、方法和技术,是网状数据库的典型代表。 在DBTG思想和方法的指引下数据库系统的实现技术不断成熟,开发了许多商品化的数据库系统,它们都是基于层次模型和网状模型的。 可以说,层次数据库是数据库系统的先驱,而网状数据库则是数据库概念、方法、技术的奠基者。 2. 第二代数据库系统第二代数据库系统是关系数据库系统。 1970年IBM公司的San Jose研究试验室的研究员Edgar F. Codd发表了题为《大型共享数据库数据的关系模型》的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论,为关系数据库技术奠定了理论基础。 Edgar F. Codd于1981年被授予ACM图灵奖,以表彰他在关系数据库研究方面的杰出贡献。 20世纪70年代是关系数据库理论研究和原型开发的时代,其中以IBM公司的San Jose研究试验室开发的System R和Berkeley大学研制的Ingres为典型代表。 大量的理论成果和实践经验终于使关系数据库从实验室走向了社会,因此,人们把20世纪70年代称为数据库时代。 20世纪80年代几乎所有新开发的系统均是关系型的,其中涌现出了许多性能优良的商品化关系数据库管理系统,如DB2、Ingres、Oracle、Informix、Sybase等。 这些商用数据库系统的应用使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等方面,成为实现和优化信息系统的基本技术。 3. 第三代数据库系统从20世纪80年代以来,数据库技术在商业上的巨大成功刺激了其他领域对数据库技术需求的迅速增长。 这些新的领域为数据库应用开辟了新的天地,并在应用中提出了一些新的数据管理的需求,推动了数据库技术的研究与发展。 1990年高级DBMS功能委员会发表了《第三代数据库系统宣言》,提出了第三代数据库管理系统应具有的三个基本特征:l应支持数据管理、对象管理和知识管理。 l必须保持或继承第二代数据库系统的技术。 l必须对其他系统开放。 面向对象数据模型是第三代数据库系统的主要特征之一;数据库技术与多学科技术的有机结合也是第三代数据库技术的一个重要特征。 分布式数据库、并行数据库、工程数据库、演绎数据库、知识库、多媒体库、模糊数据库等都是这方面的实例。 1.1.4数据库系统访问技术目前访问数据库服务器的主流标准接口主要有ODBC、OLE DB和ADO。 下面分别对这三种接口进行概要介绍。 1. 开放数据库连接(ODBC)开放数据库连接(Open Database Connectivity,ODBC)是由Microsoft公司定义的一种数据库访问标准。 使用ODBC应用程序不仅可以访问存储在本地计算机的桌面型数据库中的数据,而且可以访问异构平台上的数据库,例如可以访问SQL Server、Oracle、Informix或DB2构建的数据库等。 ODBC是一种重要的访问数据库的应用程序编程接口(Application Programming Interface,API),基于标准的SQL语句,它的核心就是SQL语句,因此,为了通过ODBC访问数据库服务器,数据库服务器必须支持SQL语句。 ODBC通过一组标准的函数(ODBC API)调用来实现数据库的访问,但是程序员不必理解这些ODBC,API就可以轻松开发基于ODBC的客户机/服务器应用程序。 这是因为在很多流行的程序开发语言中,如Visual Basic、PowerBuilder、Visual C++等,都提供了封装ODBC各种标准函数的代码层,开发人员可以直接使用这些标准函数。 ODBC获得了巨大成功并大大简化了一些数据库开发工作。 但是它也存在严重的不足,因此Microsoft公司又开发了OLE DB。 2. OLE DBOLE DB是Microsoft公司提供的关于数据库系统级程序的接口(System-Level Programming Interface),是Microsoft公司数据库访问的基础。 OLE DB实际上是Microsoft公司OLE对象标准的一个实现。 OLE DB对象本身是COM(组件对象模型)对象并支持这种对象的所有必需的接口。 一般说来,OLE DB提供了两种访问数据库的方法:一种是通过ODBC驱动器访问支持SQL语言的数据库服务器;另一种是直接通过原始的OLE DB提供程序。 因为ODBC只适用于支持SQL语言的数据库,因此ODBC的使用范围过于狭窄,目前Microsoft公司正在逐步用OLE DB来取代ODBC。 因为OLE DB是一个面向对象的接口,特别适合于面向对象语言。 然而,许多数据库应用开发者使用VBScript和JScript等脚本语言开发程序,所以Microsoft公司在OLE DB对象的基础上定义了ADO。 3. 动态数据对象(ADO)动态数据对象(Active Data Objects,ADO)是一种简单的对象模型,可以被开发者用来处理任何OLE DB数据,可以由脚本语言或高级语言调用。 ADO对数据库提供了应用程序水平级的接口(Application-Level Programming Interface),几乎使用任何语言的程序员都能够通过使用ADO来使用OLE DB的功能。 Microsoft公司声称,ADO将替换其他的数据访问方式,所以ADO对于任何使用Microsoft公司产品的数据库应用是至关重要的。 1.1.5网络数据库系统编程技术在当今网络盛行的年代,数据库与Web技术的结合正在深刻改变着网络应用。 有了数据库的支持,扩展网页功能、设计交互式页面、构造功能强大的后台管理系统、更新网站和维护网站都将变得轻而易举。 随着网络应用的深入,Web数据库技术将日益显示出其重要地位。 在这里简单介绍一下Web数据库开发的相关技术。 1. 通用网关接口(CGI)编程通用网关接口(Common Gateway Interface,CGI)是一种通信标准,它的任务是接受客户端的请求,经过辨认和处理,生成HTML文档并重新传回到客户端。 这种交流过程的编程就叫做CGI编程。 CGI可以运行在多种平台上,具有强大的功能,可以使用多种语言编程,如Visual Basic、Visual C++、Tcl、Perl、AppletScript等,比较常见的是用Perl语言编写的CGI程序。 但是CGI也有其致命的弱点,即速度慢和安全性差等。 2. 动态服务器页面(ASP)动态服务器页面(Active Server Pages,ASP)是Microsoft公司推出的一种用以取代CGI的技术,是一种真正简便易学、功能强大的服务器编程技术。 ASP实际上是Microsoft公司开发的一套服务器端脚本运行环境,通过ASP可以建立动态的、交互的、高效的Web服务器应用程序。 用ASP编写的程序都在服务器端执行,程序执行完毕后,再将执行的结果返回给客户端浏览器,这样不仅减轻了客户端浏览器的负担,大大提高了交互速度,而且避免了ASP程序源代码的外泄,提高了程序的安全性。 3. Java 服务器页面(JSP)Java服务器页面(Java Server Pages,JSP)是Sun公司发布的Web应用程序开发技术,一经推出,就受到了人们的广泛关注。 JSP技术为创建高度动态的Web应用程序提供了一个独特的开发环境,它能够适用于市场上大多数的服务器产品。 JSP使用Java语言编写服务器端程序,当客户端向服务器发出请求时,JSP源程序被编译成Servlet并由Java虚拟机执行。 这种编译操作仅在对JSP页面的第一次请求时发生。 因此,JSP程序能够提供更快的交互速度,其安全性和跨平台性也很优秀。

如何学好计算机文章

1.首先要在课上认真学好理论课程。 包括操作系统、计算机网络、计算机组成原理、计算机网络、数据库概论、离散数学、高等数学等专业核心课。 这些课程往往平时看不出来有什么大的作用,但它对你考研(初试要求考查数据结构、计算机网络、操作系统、计算机组成原理和体系结构)、找工作(越好的公司,它的面试官对学生在校期间理论基础课的学习非常看重)、以后的深造(计算机越学到最后,越会发现数学和专业理论课的重要)。 1.你需要在课下多实践,多编程。 如果有时间,你可能需要学习:l学习一门脚本语言,例如Python/Ruby他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。 l用熟一种程序员的编辑器(不是IDE) 和一些基本工具Vim/ Emacs / Notepad++,学会如何配置代码补全,外观,外部命令等。 使用这些东西不是为了酷,而是这些编辑器在查看、修改代码/配置文章/日志会更快更有效率。 l熟悉Unix/Linux Shell和常见的命令行你至少学会用虚拟机里的linux、了解正则表达式,使用正则表达式来查找文件。 学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了,相当地相当地降低工作效率。 推荐书籍:《Linux鸟哥的私房菜》l学习Web基础(HTML/CSS/JS)+ 服务器端技术 (LAMP)自己试着做做个小网站(例如:一个小的留言板,支持用户登录,Cookie/Session,增、删、改、查,上传图片附件,分页显示),我以前在学习的时候就做过一个网上商城、小论坛系统等,对我的帮助很大。 l学好C语言,你要知道在课堂上学的那些远远不够。 如果你还在用谭浩强的那本书,我劝你赶快扔了吧。 重点理解指针和内存模型,用C语言实现一下各种经典的算法和数据结构。 如果学有余力,可以试着去参加acm,大部分学校好像都有acm集训队。 如果不参加,也可以再课余时间刷一刷题目,比较有名的有北大的poj,杭电的等。 推荐书籍:《C和指针》、《C陷阱与缺陷》1.积极参加开源项目,实践才能检验真理。 如果时间充裕,你可以找一些开源项目参与进去,参与Debug、测试、维护,这些对你以后的工作实习都有很大帮助。 总之,学习不是一蹴而就的事,需要有足够的耐心和毅力,希望每一个对计算机充满兴趣的人都能从中获取快乐和满足。

体验营销的外文文献 最好同时翻译成汉语的!

童鞋你好!这个估计需要自己搜索了!网上基本很难找到免费给你服务的!我在这里给你点搜索国际上常用的外文数据库:---------------------------------------------------------- ⑴ISI web of knowledge Engineering Village2 ⑵Elsevier SDOL数据库IEEE/IEE(IEL) ⑶EBSCOhostRSC英国皇家化学学会 ⑷ACM美国计算机学会ASCE美国土木工程师学会 ⑸Springer电子期刊 WorldSciNet电子期刊全文库 ⑹Nature周刊 NetLibrary电子图书 ⑺ProQuest学位论文全文数据库 ⑻国道外文专题数据库 CALIS西文期刊目次数据库 ⑼推荐使用ISI web of knowledge Engineering Village2-----------------------------------------------------------中文翻译得自己做了,实在不成就谷歌翻译。弄完之后,自己阅读几遍弄顺了就成啦!学校以及老师都不会看这个东西的!外文翻译不是论文的主要内容!所以,很容易过去的!祝你好运!

  • 声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
  • 本文地址:https://120.77.238.70/keji312/36765.html
华为纯血鸿蒙没忘老机型 明年适配更多机型
暂无