机器之心报道
编辑:泽南、小舟
该来的终于来了。
本周,人工智能领域迎来了对于「开源」的官方定义。开放源代码促进会(Open Source Initiative,OSI)发布了「开源 AI 定义」的 1.0 正式版。此举旨在澄清 Open Source 这一术语在快速发展的科技领域中,经常出现的模糊用法。
值得关注的是在此机制下,一直以来开源大模型的标杆 Llama 3 也不符合本规则。
长期以来,OSI 一直为开源软件的构成设定行业标准,但人工智能系统包含传统许可未涵盖的元素,例如模型训练数据。现在,要使 AI 系统被视为真正的开源系统,它必须提供:
这一定义直接直击 Meta 推动的 Llama 大模型。虽然在生成式 AI 领域里,Llama 一直被广泛宣传为最大的开源 AI 模型,Llama 的使用条款中支持公众下载和使用,但其商业用途受到一定限制(对于拥有超过 7 亿用户的应用程序),且不提供对训练数据的访问,这导致其不符合 OSI 的无限制使用、修改和共享自由标准。
对此,Meta 发言人 Faith Eischen 对此表示,虽然「在很多事情上都同意合作伙伴 OSI 的观点」,但 Meta 不同意这一定义。不应该设置单一的开源 AI 定义,人们此前对于开源的定义没有涵盖当今快速发展的 AI 模型的复杂性。
不过,无论技术的定义如何,Meta 表示仍将继续与 OSI 和其他行业组织合作,以负责任的方式推动 AI 朝着可访问和免费的方向发展。
在「开源」这件事上,非营利组织 OSI 一直扮演着重要的角色。OSI 维护了一个被业内认可的许可证列表,其定义的开源包括十余个关键条款,如自由再分发、源代码可获得、允许修改和衍生作品等。自 1998 年定义「开源」标签并成立以来,OSI 对开源软件的定义已被开发人员广泛接受。
如今,随着人工智能重塑格局,科技巨头们面临着一个关键选择:是接受这些既定原则,还是拒绝它们。Linux 基金会最近也试图定义「开源人工智能」,这表明关于传统开源价值观如何适应人工智能时代的争论已日益激烈。
独立研究员和开放源代码创建者 Simon Willison 说:「既然我们已经有了一个强有力的定义,也许我们可以更积极地抵制那些『开源洗白(open washing)』并宣称自己的工作是开源的公司。」
Hugging Face 首席执行官 Clément Delangue 称:「 OSI 的定义对于围绕人工智能开放性展开讨论有巨大帮助,特别是在涉及训练数据的关键作用时。」
OSI 执行董事 Stefano Maffulli 表示,该公司花了两年时间咨询全球专家,通过与机器学习和自然语言处理的学界专家、哲学家、Creative Commons 的内容创作者等合作完善了这一定义。
OSI 对于开源 AI 的定义
OSI 表示,「开源」的人工智能系统需要满足以下几点:
这些自由既适用于功能齐全的系统,也适用于系统的离散元素。行使这些自由的先决条件是能够对系统进行修改。
再进一步,对于机器学习系统可修改的形式,OSI 也进行了定义。必须包含以下所有元素:
对于机器学习系统,模型权重也是一个重要因素。OSI 在开源定义中表述道:
对机器学习系统进行修改的范围也包括权重。「开源模型」和「开源权重」必须包括用于导出这些参数的数据信息和代码。
最后,OSI 表示,开源 AI 定义不需要特定的法律机制来确保模型参数可供所有人免费使用。它们可能本质上是免费的,或者可能需要许可证或其他法律文书来确保它们的可用。预计随着时间的推移,法规对于 AI 开放的定义也将变得更加清晰。
参考内容:
https://opensource.org/ai/open-source-ai-definition
https://lfaidata.foundation/blog/2024/10/25/embracing-the-future-of-ai-with-open-source-and-open-science-models/
https://www.theverge.com/2024/10/28/24281820/open-source-initiative-definition-artificial-intelligence-meta-llama
Meta发布开源AI模型Llama 3.1,训练期间大约使用1.6万个英伟达H100 GPU
Meta在7月23日宣布开源其最新AI模型Llama 3.1,这一举措标志着开源AI领域的一个重大突破。 这款模型的规模和性能媲美顶级的闭源模型,展现了开源AI领域的强大实力。 Llama 3.1家族包含三个版本,旗舰版本拥有4050亿参数,是目前最大的开源AI模型,与OpenAI的GPT-4o和Anthropic的Claude 3.5 Sonnet相比,405B版本在多项基准测试中展现出了优势。 Meta表示,Llama 3.1的下载量已经突破3亿次,预示着开源模型的影响力正在迅速扩大。 Meta对其进行全面评估,通过150多个数据集和多语言任务测试,证明Llama 3.1在推理、数学等领域性能优越,特别是在长文本和多语言处理上超越了竞争对手。 尽管在代码基准上稍逊一筹,但8B和70B版本的小型模型表现出色,与同类模型相比具有竞争力。 Llama 3.1的128K上下文窗口使其能处理大量文本和多语言,还能集成搜索引擎API,执行复杂查询和任务。 Meta正研发多模态版本,以支持图像、视频和语音理解。 该模型已经应用于Meta的产品,如WhatsApp和Meta AI虚拟助手,并逐步扩展到Instagram和Facebook。 尽管Llama 3.1 405B模型训练规模惊人,使用了超过1.6万个Nvidia H100 GPU,成本高昂,但Meta仍选择开源,并与微软、亚马逊等公司合作推广。 Llama 3.1的开源策略旨在推动AI发展,降低生产成本,并鼓励社区创新烂御。 然而,关于数据来源和安全性的讨论并未停止,Meta承诺饥吵岩将通过“红队测试”和新的安全组件来确保模型的安全性碰羡和道德性。 尽管如此,Llama 3.1的发布无疑标志着开源AI模型的新纪元,预示着行业格局的深远影响和更多可能性的涌现。
使用 llamafiles 简化 LLM 执行
运行大型语言模型(Large Language Models, LLM)一直是一个繁琐过程。 必须下载第三方软件、Python以及大量AI依赖项,甚至必须编写代码来下载和运行模型。 本指南将介绍一个更简单的方法,使用Llamafiles简化LLM执行。 大型语言模型彻底改变了我们与计算机交互的方式,能够生成文本、翻译语言、创作不同类型的创意内容,甚至以信息丰富的方式回答问题。 然而,要在计算机上运行这闭谨亏些强大的模型具有挑战性。 要运行LLM,我们需要下载Python和大量AI依赖项,编写代码下载和运行模型。 即使在安装了现成的大型语言模型用户界面的情况下,它也涉及许多设置,容易出错。 像可执行文件一样安装和运行它们并不是一个简单的过程。 Llamafiles是为了轻松处理流行的开源大型语言模型而创建的。 它们是单文件可执行文件,就像下载一个LLM并像可执行文件一样运行它一样。 无需初始安装库。 这一切都是可能的,因为 和 cosmopolitan libc,这使得LLM在不同操作系统上运行。 由Georgi Gerganov开发,用于以量化格式运行大型语言模型,因此它们可以在CPU上运行。 是一个C库,它允许我们在消费类硬件上运行量化的LLM。 另一方面,cosmopolitan libc是另一个C库,它构建了一个可以在任何操作系统(Windows、Mac、Ubuntu)上运行的二进制文件,而无需解释器。 因此,Llamafile建立在这些库之上,这使得它可以创建单文件可执行的LLM。 可用模型采用GGUF量化格式。 GGUF是由的创建者Georgi Gerganov开发的大型语言模型文件格式。 GGUF是一种用于在CPU和GPU上有效且高效地存储、共享和加载大型语言模型的格式。 GGUF使用量化技术将模型从原始的16位浮点压缩为4位或8位整数格式。 此量化模型的权重可以以这种GGUF格式存储。 这使得70亿参数模型在具有16GB VRAM的计算机上运行变得更加简单。 我们可以在不需要GPU的情况下运行大型语言模型(尽管Llamafile甚至允许我们在GPU上运行LLM)。 现在,流行的开源大型语言模型(如LlaVa、Mistral和WizardCoder)的Llamafile随时可供下载和运行。 本指南将详细介绍如何下载和运行多模态LlaVa Llamafile。 在这里,我们不会使用GPU,而是在CPU上运行模型。 首先,将下载并尝试运行多模态LlaVa Llamafile。 单击此处并下载LlaVa 1.5模型,转到官方LlamafileGitHub存储库。 下载模型后,转到下载模型的文件夹,然后打开CMD,导航到下载此模型的文件夹,键入我们下载的文件的名称,然后按Enter。 对于Mac和Linux用户,此文件轿神的执行权限默认关闭,因此,必须提供llamafile的执行权限,运行以下命令实现。 这将激活文件,同时在文件名前添加“./”以在Mac和Linux上运行该文件。 按Enter键后,模型将被推送到系统RAM,并显示以下输出。 然后浏览器将弹出,模型将在URL上运行127.0.0.1:8080/。 上图显示了默认的提示、用户名、LLM名称、提示模板和聊天记录模板。 这些可以配置,但我们将使用默认值进行。 现在,我们可以输入一些东西并单击发送。 在上图中,我们可以看到我们已经输入了一条消息,甚至收到了回复。 我们可以检查我们每秒获得大约6个标记,考虑到我们完全在CPU上运行它,这是一个很好的标记/秒数。 这一次,让我们用图像来尝试一下。 虽然不是100%正确,但该模型几乎可以从图像中获取大部分内容。 现在,让我们与LlaVa进行多轮对话,以测试它是否记得聊天记录。 在上图中,我们可以看到LlaVaLLM能够很好地进行对话。 它可以输入历史对话,然后生成回复。 虽然生成的最后一个答案并不完全正确,但它收集了之前的对话来生成这个答案。 因此,通过这种方式,我们可以下载一个Llamafile,然后像软件一样运行它,并处理那些下载的模型。 我们已经看到了官方GitHub上已经存在的Llamafile展示。 通常,我们不想使用这些模型。 相反,我们希望创建大型语言模型的单文件可执行文件。 在晌明本节中,我们将介绍创建单文件可执行文件的过程,即从量化的LLM的创建Llama文件的过程。 我们将首先选择一个大型语言模型。 在这里,我们将选择TinyLlama的量化版本。 我们将下载TinyLlama的8位量化GGUF模型(您可以在HuggingFace点击这里前往并下载模型)。 从官方GitHub链接下载最新的Llamafile压缩包。 此外,下载并解压缩这个压缩包。 根据文章的最新更新,本文的当前版本是Llamafile-0.6。 在解压Llamafile之后,bin文件夹将包含如下图所示的文件。 现在将下载的TinyLlama8位量化模型移动到此bin文件夹。 要创建单文件可执行文件,我们需要在Llamafile的bin文件夹中创建一个文件。 在这个文件中,我们需要添加以下内容:在Windows用户中,现在,下一步是针对Windows用户。 如果在Windows上工作,我们需要通过WSL安装Linux。 如果没有,请点击此处完成通过WSL安装Linux的步骤。 在Mac和Linux中,不需要其他步骤。 现在在终端中打开Llamafile文件夹的bin文件夹(如果在Windows上工作,请在WSL中打开此目录)并键入以下命令。 在这里,我们将创建一个名为tinyllama-1.1b-chat-v0.3.Q3_的新文件;也就是说,我们正在创建一个扩展名为的文件,并将文件Llamafile移动到这个新文件中。 现在,在此之后,我们将输入下一个命令。 在这里,我们使用从GitHub下载Llamafilezip时附带的zipalign文件。 我们使用此命令为量化的TinyLlama创建Llamafile。 对于这个zipalign命令,我们传入了我们在上一步中创建的tinyllama-1.1b-chat-v0.3.Q8_文件,然后我们传入了bin文件夹中的tinyllama-1.1b-chat-v0.3.Q8_模型,最后传入了我们之前创建的文件。 这将最终生成我们的单个文件可执行文件tinyllama-1.1b-chat-v0.3.Q8_文件。 现在,我们可以像以前一样运行tinyllama-1.1b-chat-v0.3.Q8_文件。 在Windows中,您甚至可以将重命名为并通过双击它来运行它。 本节将研究如何通过Llamafile服务器运行大型语言模型。 当运行Llamafile时,浏览器会打开,我们可以通过WebUI与LLM进行交互。 这基本上就是我们所说的托管大型语言模型。 运行Llamafile后,我们可以与相应的LLM作为端点进行交互,因为该模型是在PORT 8080的本地主机上提供的。 服务器遵循OpenAI API协议,即类似于OpenAI GPT Endpoint,因此可以轻松地在OpenAI GPT模型和使用Llamafile运行的LLM之间切换。 在这里,我们将运行之前创建的TinyLlamaLlamafile。 现在,这必须在localhost 8080上运行。 我们现在将在Python中通过OpenAI API本身对其进行测试。 通过Llamafile,我们可以利用并轻松地将OpenAI API替换为我们选择运行的Llamafile。 Llamafiles的局限性包括:虽然它是革命性的,但Llamafiles仍在开发中。 一些限制包括:在Llamafiles之前,有不同的方法可以运行大型语言模型。 一个是通过llama_cpp_python。 这是的Python版本,它允许我们在笔记本电脑和台式电脑等消费类硬件上运行量化的大型语言模型。 但要运行它,我们必须下载并安装Python,甚至深度学习库,如torch、huggingface、transformers等。 之后,它涉及编写许多行代码来运行模型。 即便如此,有时我们也可能会遇到由于依赖问题而出现的问题(即,某些库的版本低于或高于必要的版本)。 还有CTransformers库,它允许我们运行量化的LLM。 即使这需要我们讨论过的相同过程llama_cpp_python。 然后,还有Ollama。 Ollama在AI社区中取得了巨大的成功,因为它易于使用,可以轻松加载和运行大型语言模型,尤其是量化模型。 Ollama是一种用于LLM的TUI(终端用户界面)。 Ollama和Llamafile之间的唯一区别是可共享性。 也就是说,如果需要,我可以与任何人共享我的文件,他们可以在不下载任何其他软件的情况下运行它。 但是在Ollama的情况下,我需要共享文件,其他人只有在安装Ollama软件或通过上述Python库时才能运行该文件。 关于资源,它们都需要相同数量的资源,因为所有这些方法都使用下面的来运行量化模型。 这只是关于它们之间存在差异的易用性。 虽然存在局限性,但Llamafiles使LLM访问民主化的潜力是显而易见的。 无论是专业开发人员还是好奇的新手,Llamafiles为探索LLM的世界提供了令人兴奋的可能性。 在本指南中,我们了解了如何下载Llamafiles,甚至如何使用我们的量化模型创建我们自己的Llamafiles。 我们甚至看了一下运行Llamafiles时创建的OpenAI兼容服务器。 以下是关键要点:如何开始使用Llamafiles?要开始使用Llamafiles,您可以访问官方LlamafileGitHub存储库。 在那里,您可以下载要使用的LLM模型的Llamafile。 下载文件后,您可以像执行文件一样直接运行它。 我可以使用我自己的LLM模型吗?目前,Llamafiles仅支持特定的预构建模型。 计划在未来的版本中创建我们自己的Llamafile。 Llamafiles的前景如何?Llamafiles的开发人员正在努力扩大可用LLM模型的选择范围,更有效地运行它们,并实施安全措施。 这些进步旨在使Llamafiles对更多技术背景不足的人来说更加可用和安全。 使用Llamafiles有什么好处?与传统的LLM配置方法相比,Llamafiles具有几个优点。 它们使LLM的设置和执行更容易、更快捷,因为您不需要安装Python或拥有GPU。 这使得LLM更容易被更广泛的受众使用。 此外,Llamafiles可以在不同操作系统上运行。 Llamafiles的局限性是什么?一个。 虽然Llamafiles提供了许多好处,但它们也有一些局限性。 与传统方法相比,Llamafiles可用的LLM选择有限。 此外,通过Llamafiles运行LLM仍然需要大量的硬件资源,较旧或功能较弱的计算机可能不支持它。 最后,安全问题与从不受信任的来源下载和运行可执行文件有关。
LMSYS新测试基准,最强开源Llama 3分数骤降,实时更新竞技场数据,差距拉开了
在AI模型竞技场中,LMSYS推出了一款名为Arena-Hard的新测试基准,旨在为大模型间的性能评估提供更具区分度的挑战。 之前,像Llama 3这样的模型分数普遍较高,但新基准的引入使得分数差距更加明显。 相比于之前的MT Bench,Arena-Hard的区分度从22.6%提升到了87.4%,清晰地展现了模型间的实力对比。 这个新基准利用实时的人类数据构建,与人类偏好一致性高达89.1%,这意味着其测试内容更贴近真实场景。 更重要的是,它通过包含人类未曾见过的提示词,减少了潜在的数据泄露风险,并且新模型发布后,用户只需支付25美元,无需等待,即可快速获取测试结果。 有人认为, Arena-Hard使用真实用户生成的提示词而非传统的考试模式进行评估,这一点至关重要。 测试过程包括从大模型竞技场20万用户查询中筛选出高质量的500个提示词,经过BERTopic等工具的多步骤处理,确保了测试的多样性和质量。 然而, Arena-Hard在使用GPT-4作为裁判时存在一定的偏见,但研究已证实这是前沿模型的普遍现象。 实验显示,Claude 3系列的打分结果虽然有所提升,但在与人类投票结果的比较中,GPT-4的得分更接近真实情况。 因此,有人建议采用多模型综合评分以提高准确性。 团队通磨亏过更多消融实验验证了新基准的有效性,例如,提示词中涉及详细解答时,得分会增加;而关于闲聊的提示,虽然提高平均输出长度,但分数提升不大。 此外,测试还揭示了模型间的评分差异,如GPT-4对错误的敏感性瞎则神和Claude 3的宽容度,以及它们在编程盯唤指导方面的不同侧重。 总的来说, Arena-Hard是一个正在发展中、旨在提供更公正和准确模型评估的新工具,用户可以在其GitHub和HuggingFace平台上查看更多详情。 大模型竞技场的用户群体提问质量和多样性也得到了高度评价。