选择大语言模型:2024 年开源 LLM 入门指南

作者:来自 Elastic Aditya Tripathi

如果说人工智能在 2023 年起飞,这绝对是轻描淡写的说法。数千种新的人工智能工具被推出,人工智能功能被添加到现有的应用程序中,好莱坞因对这项技术的担忧而戛然而止。 甚至还有一个人工智能工具可以评估你像弗雷迪·墨丘利 (Freddie Mercury) 一样唱歌的水平,因为当然有!

但在每个人工智能工具或功能的背后,都有一个大型语言模型 (LLM) 承担着所有繁重的工作,其中许多都是开源的。 LLM 是一种深度学习算法,能够消耗大量数据来理解和生成语言。 它们建立在神经网络架构之上,可以训练它们执行各种自然语言处理 (NLP) 任务,例如内容生成、翻译、分类和许多其他用例。 再加上开源 LLMs 的可用性,使得关键业务任务的自动化变得更加容易 —— 例如开发客户支持聊天机器人、检测欺诈或协助疫苗开发等研发 —— 以及跨多个行业的各种其他用例。 LLMs 还可以通过扩展我们处理和分析数据的方式,在提高云安全性、搜索和可观察性方面发挥至关重要的作用。

与任何新技术一样,LLMs 的使用也带来了需要考虑和解决的挑战。 输出的质量完全取决于所提供数据的质量。 许多 LLMs 接受过大型公共数据存储库的培训,在没有接受过特定领域数据的培训时,他们倾向于 “产生幻觉” 或给出不准确的答案。 个人信息和用户生成内容的收集、存储和保留还存在隐私和版权问题。

查看我们的页面:什么是大语言模型? 了解有 LLMs 的更多信息。

什么是开源 LLM?

开源 LLM 是免费提供的 LLM,任何人都可以修改和定制。

有了开源 LLM,任何个人或企业都可以将其用于自己的目的,而无需支付许可费。 这包括将 LLM 部署到他们自己的基础设施中,并对其进行微调以满足他们自己的需求。

这与闭源 LLM 相反,闭源 LLM 是个人或组织拥有的专有模型,不对公众开放。 最著名的例子就是 OpenAI 的 GPT 系列模型。

LLM 的最佳用例是什么?

LLMs 有无穷无尽的潜在用例,但以下是一些关键功能,可以展示他们可以做的各种事情:

  • 情感分析 (Sentiment analysis):LLMs 可用于识别和分类从反馈、社交媒体等收集的主观意见。
  • 内容创建 (Content creation):一些 LLMs 可以生成与上下文相关的内容,例如文章、营销文案和产品描述。
  • 聊天机器人 (Chatbot):你可以微调 LLMs 以用作聊天机器人帮助或与客户互动。
  • 翻译 (Translations):使用多语言文本数据,LLMs 可用于翻译人类语言以帮助交流。
  • 研究 (Research):LLMs 可以轻松完成研究工作,能够消费和处理大量数据并返回最相关的信息。

2024 年热门开源 LLMs

为了让你更轻松地为你的公司或项目选择开源 LLMs,我们总结了八个最有趣的开源 LLMs。 我们根据活跃的人工智能社区和机器学习存储库 Hugging Face 的流行度度制定了此列表。

1. GPT-NeoX-20B

GPT-NeoX-20B 由 EleutherAI 开发,是一种自回归语言模型,其架构设计类似于 GPT-3。 它使用 GPT-NeoX 库和来自 The Pile 的数据进行训练,The Pile 是由 The Eye 托管的 800GB 开源数据集。

GPT-NeoX-20B 主要是为了研究目的而开发的,拥有 200 亿个可供你使用和自定义的参数。

它是给谁用的?

GPT-NeoX-20B 非常适合需要高级内容生成的中型/大型企业,例如营销机构和媒体公司。 这些公司需要拥有运行更大的 LLMs 所需的熟练人员和计算能力。

它不适合谁?

该 LLMs 不适合没有财务和技术资源来管理计算要求的小型企业或个人。

使用复杂性

由于它不适合按原样部署,因此你需要技术专业知识来部署和微调 GPT-NeoX-20B,以满足你的特定任务和需求。

2. GPT-J-6b

GPT-J-6b 也是由 EleutherAI 开发的,是一种生成式预训练 Transformer 模型,旨在根据提示生成类似人类的文本。 它使用 GPT-J 模型构建,拥有 60 亿个可训练参数(因此得名)。

它是在纯英语数据集上进行训练的,这使得它不适合翻译或生成非英语语言的文本。

它是给谁用的?

GPT-J-6b 易于使用且尺寸相对较小,非常适合寻求性能和资源消耗之间平衡的初创公司和中型企业。

它不适合谁?

对于需要更高级模型性能和定制的企业来说,该 LLM 可能不是最佳选择。 它也不适合需要多语言支持的公司。

使用复杂性

GPT-J-6b 是一个适度用户友好的 LLM,受益于拥有支持性社区,使具有中等技术知识的企业可以使用它。

3. Llama 2

Meta 对 Google 和 OpenAI 流行的 LLMs 回应,Llama 2。 它是在公开可用的在线数据源上进行培训,旨在创建人工智能驱动的体验。 它可以针对特定任务进行微调,并且完全免费用于研究和商业用途。

Llama 2 以 Meta 在 LLaMA 上的工作为基础,提供三种模型大小 —— 70 亿、130 亿和 700 亿个参数——使其成为一个动态且可扩展的选项。

它是给谁用的?

由于模型大小的选择,Llama 2 对于想要利用广泛语言模型的研究人员和教育开发人员来说是一个不错的选择。 它甚至可以在消费级计算机上运行,这使其成为爱好者的一个不错的选择。

它不适合谁?

Llama 2 不太适合高风险或更利基的应用,因为它不适用于高度专业化的任务,并且对其输出的可靠性存在一些担忧。

使用复杂性

这是一个相对易于使用的 LLM,专注于教育应用,但可能需要定制才能获得最佳结果。

4. BLOOM

BLOOM 是一种仅解码器的 Transformer 语言模型,拥有 1760 亿个海量参数。 它旨在根据提示生成文本,并且可以进行微调以执行特定任务,例如文本生成、摘要、嵌入、分类和语义搜索。

它是在包含 46 种不同语言的数百个来源的数据集上进行训练的,这也使其成为语言翻译和多语言输出的绝佳选择。

它是给谁用的?

BLOOM 非常适合面向需要多语言支持的全球受众的大型企业。 由于该模型的规模较大,企业还需要有充足的可用资源来运行它。

它不适合谁?

仅在英语市场运营的公司可能会发现其多语言功能是多余的,特别是需要大量资源来定制和训练如此大的模型。

使用复杂性

由于需要理解语言的细微差别以及在不同语言环境中的部署,BLOOM 具有中等到高的复杂性。

5. Falcon

Falcon 是一个 LLM,他看着 BLOOM 说:“噗,只有 1760 亿个参数?”

好吧,他们实际上并没有这么说,但他们的开源语言模型确实有三种令人印象深刻的规模:70 亿、400 亿和 1800 亿。

Falcon 已获得 Apache License 2.0 许可,是一种自回归 LLM,旨在根据提示生成文本,并基于其高质量的 RefinedWeb 数据集。

它是给谁用的?

由于其卓越的性能和可扩展性,Falcon 非常适合对多语言解决方案(如网站和营销创建、投资分析和网络安全)感兴趣的大型公司。

它不适合谁?

尽管有 70 亿个选项,但这仍然不是寻找简单的即插即用内容生成解决方案的企业的最佳选择。 对于这些类型的任务来说,定制和训练模型的成本仍然太高。

使用复杂性

尽管最大的模型尺寸巨大,但与其他一些 LLMs 相比,Falcon 相对容易使用。 但你仍然需要了解特定任务的细微差别,才能充分利用它们。

6. CodeGen

这个来自 Salesforce 的 LLM 与此列表中的任何其他 LLM 不同,因为它不输出文本答案或内容,而是输出计算机代码。 CodeGen 是 “代码生成” 的缩写,这正是它的作用。 它经过训练可以根据现有代码或自然语言提示输出代码。

CodeGen 提供 70 亿、130 亿和 340 亿个参数,旨在创建一种简化的软件开发方法。

它是给谁用的?

CodeGen 适用于希望自动化编码任务并提高开发人员工作效率的科技公司和软件开发团队。

它不适合谁?

如果你的公司不编写或使用计算机代码,那么该 LLM 不适合你!

使用复杂性

CodeGen 集成到现有的开发工作流程中可能很复杂,并且需要扎实的软件工程背景。

7. BERT

BERT 是最早的现代 LLMs 之一,是 Google 于 2018 年创建的纯编码器转换器架构。它旨在理解、生成和操作人类语言。

Google 本身已使用 BERT 来提高搜索中的查询理解,并且在文本生成、问答和情感分析等其他任务中也很有效。

它是给谁用的?

考虑到它是 Google 自身搜索的关键部分,对于想要为搜索引擎优化网站和内容并提高内容相关性的 SEO 专家和内容创建者来说,BERT 是最佳选择。

它不适合谁?

除了 SEO 之外,BERT 在许多情况下可能不会是最好的选择,因为它的年龄较大,这使得它与更大、更新的替代方案相比显得多余。

使用复杂性

对于熟悉 SEO 和内容优化的人来说,BERT 相当简单,但它可能需要微调才能跟上 Google 最新 SEO 建议的变化。

8. T5

T5(朗朗上口的文本到文本传输转换器的缩写)是一种基于转换器的架构,使用文本到文本的方法。 它将 NLP 问题转换为输入和输出始终为文本字符串的格式,这使得 T5 可用于翻译、问答和分类等各种任务。 它有五种不同的尺寸可供选择,参数范围从 6000 万个参数到 110 亿个参数不等。

它是给谁用的?

T5 非常适合需要多功能工具来执行各种文本到文本处理任务(例如摘要、翻译和分类)的公司。

它不适合谁?

尽管 T5 相对灵活,但它不适合需要任何类型的非文本输出的任务。

使用复杂性

与其他 LLM 相比,T5 通常被认为易于使用,并提供一系列预训练模型。 但它可能仍然需要一些专业知识来适应更利基或特定的任务。

免责声明:所有参数和模型尺寸在发布时都是正确的,但此后可能已发生变化。

为你的企业选择合适的 LLM

在决定使用哪个开源 LLM 时,你需要考虑几个关键标准:

  • 成本:由于这些 LLMs 是开源的,因此你无需为模型本身付费。 但你确实需要考虑托管、培训、资源等的成本。LMM 规模越大、越复杂,你的成本可能就越高。 这是因为更大的 LLM 将需要更多的数据存储成本、处理能力、更大的基础设施和维护成本。
  • 准确性:评估你的选择的准确性至关重要。 你需要比较不同的 LLMs 执行你所需的任务类型的准确程度。 例如,某些模型将是特定于领域的,而某些模型可以通过微调或检索增强生成(RAG)进行改进。
  • 性能:LLM 的表现是通过语言流畅性、连贯性和上下文理解等指标来衡量的。 LLM 在这些方面做得越好,它的表现就越好。 这将改善用户体验和任务效率,并为你带来竞争优势。
  • 数据安全:数据的安全性是另一个关键考虑因素。 如果你正在处理敏感数据或 PII 数据,这一点尤其重要。 这是 RAG 可能有用的另一个领域,因为你可以使用文档级安全性来控制对数据的访问并限制对特定数据的安全权限。
  • 特定任务与通用目的:考虑你是否需要解决更具体用例的 LLM,还是涵盖更广泛任务的 LLM。 由于某些模型是特定于领域的,因此你需要小心选择你所在领域内的模型或寻找范围更广泛的模型。
  • 训练数据的质量:如果数据质量不好,结果也不会好。 评估每个 LLM 使用的数据并选择一个你有信心的数据。RAG 也将帮助你完成此任务,因为你可以使用自定义数据,可以准备和微调这些数据以直接提高输出的质量。
  • 技能组合:另一个需要考虑的重要因素是项目团队中现有的技能组合。 数据科学、MLOps 和 NLP 等领域的经验是必须的。 LLM 越复杂,你的团队需要具备的技能就越深。 如果你在这方面受到更多限制,那么值得关注更简单的 LLM,甚至寻求引入更多专业知识。

使用这些标准,你应该能够决定我们涵盖的哪些 LLM 最适合你的独特情况。

最好的方法是慢慢来,查看列出的选项,并根据它们如何最好地帮助你解决问题来评估它们。 所有这些开源 LLMs 都非常强大,如果有效利用,可以带来变革。

原文:Choosing an LLM: The 2024 getting started guide to open-source LLMs | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/375400.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【网站项目】038汽车养护管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

sql实现将某一列下移一行

问题 实现如下图所示的 max_salary 下移一行 方法:使用开窗函数 select max_salary, max(max_salary) over(order by max_salary asc rows between 1 PRECEDING and 1 PRECEDING) max_salary_plus from jobs

电商小程序02数据源设计

上一篇我们讲解了电商小程序的需求分析,分析了需要具备的功能并且绘制了系统原型。有了原型之后下一步的事情就是根据原型来设计数据源。 数据源就像盖房子打地基一样,地基打不好,楼可能就盖不高,盖起来要再想调整就比较困难。 …

使用Qt创建项目 Qt中输出内容到控制台 设置窗口大小和窗口标题 Qt查看说明文档

按windows键,找到Qt Creator ,打开 一.创建带模板的项目 新建项目 设置项目路径QMainWindow是带工具栏的窗口。 QWidget是无工具栏的窗口。 QDuakig是对话框窗口。创建好的项目如下: #include "widget.h"// 构造函数&#xff…

Windows系统安装Flink及实现MySQL之间数据同步

Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink的设计目标是在所有常见的集群环境中运行,并以内存执行速度和任意规模来执行计算。它支持高吞吐、低延迟、高性能的流处理,并且是一个面向流处理和批处理…

03 动力云客项目之登录功能后端实现

创建项目 使用Spring initializr初始化项目 老师讲的是3.2.0, 但小版本之间问题应该不大.

14.0 Zookeeper环球锁实现原理

全局锁是控制全局系统之间同步访问共享资源的一种方式。 下面介绍zookeeper如何实现全民锁,讲解他锁和共享锁两类全民锁。 排他锁 排他锁(Exclusive Locks),又被称为写锁或独占锁,如果事务T1对数据对象O1加上排他锁…

2023年09月CCF-GESP编程能力等级认证C++编程一级真题解析

一、单选题(共15题,共30分) 第1题 我们通常说的“内存”属于计算机中的( )。 A:输出设备 B:输入设备 C:存储设备 D:打印设备 答案:C 第2题 以下C++不可以作为变量的名称的是( )。 A:redStar B:RedStar C:red_star D:red star 答案:D 第3题 C++表达式…

Linux C/C++ 原始套接字:打造链路层ping实现

在C/C中,我们可以使用socket函数来创建套接字。我们需要指定地址族为AF_PACKET,协议为htons(ETH_P_ALL)来捕获所有传入和传出的数据包。 可以使用sendto和recvfrom函数来发送和接收数据包。我们需要构建一个合法的链路层数据包,在数据包的头…

C++ //练习 4.23 因为运算符的优先级问题,下面这条表达式无法通过编译。根据4.12节中的表(第147页)指出它的问题在哪里?应该如何修改?

C Primer(第5版) 练习 4.23 练习 4.23 因为运算符的优先级问题,下面这条表达式无法通过编译。根据4.12节中的表(第147页)指出它的问题在哪里?应该如何修改? string s "word"; stri…

树莓派4b连接WQ9201外置无线网卡命令行配置详解

树莓派4B连接WQ9201无线网卡 接线方式 蓝色的线来连接树莓派和WQ9201demo板,USB接树莓派的USB接口,microUSB一端接demo板靠近天线部分的microUSB口。 驱动和固件准备 驱动直接放在树莓派系统的任意目录,目前配置则是将驱动放在树莓派的主目…

【漏洞复现】电信网关配置管理系统SQL注入漏洞

Nx01 产品简介 电信网关配置管理系统是一个用于管理和配置电信网络中网关设备的软件系统。它可以帮助网络管理员实现对网关设备的远程监控、配置、升级和故障排除等功能,从而确保网络的正常运行和高效性能。 Nx02 漏洞描述 电信网关配置管理系统存在SQL注入漏洞,攻…

【华为云】云上两地三中心实践实操

写在前面 应用上云之后,如何进行数据可靠性以及业务连续性的保障是非常关键的,通过华为云云上两地三中心方案了解相关方案认证地址:https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiXCBUCNXI057Self-paced/about当前内容为华…

《动手学深度学习(PyTorch版)》笔记7.4

注:书中对代码的讲解并不详细,本文对很多细节做了详细注释。另外,书上的源代码是在Jupyter Notebook上运行的,较为分散,本文将代码集中起来,并加以完善,全部用vscode在python 3.9.18下测试通过&…

苹果macbook电脑删除数据恢复该怎么做?Mac电脑误删文件的恢复方法

苹果电脑删除数据恢复该怎么做?Mac电脑误删文件的恢复方法 如何在Mac上恢复误删除的文件?在日常使用Mac电脑时,无论是工作还是娱乐,我们都会创建和处理大量的文件。然而,有时候可能会不小心删除一些重要的文件&#x…

Stata学习(1)

一、五大窗口 Command窗口:实现人机交互 来导入一个自带数据: sysuse是导入系统自带的数据,auto导入该数据的名称,后面的clear是清除之前的数据 结果窗口:展示计算结果、查找功能 在Edit的find可以实现查找功能&#…

企业飞书应用机器人,使用python发送图文信息到群

企业飞书应用的自动化,需要创建企业应用,应用开通机器人能力,并获取机器人所需的app_id与app_secret(这一部分大家可以在飞书的控制台获取:https://open.feishu.cn/api-explorer/) 文章目录 步骤1&#xff…

第 383 场 LeetCode 周赛题解

A 边界上的蚂蚁 模拟 class Solution { public:int returnToBoundaryCount(vector<int> &nums) {int s 0;int res 0;for (auto x: nums) {s x;if (s 0)res;}return res;} };B 将单词恢复初始状态所需的最短时间 I 枚举&#xff1a;若经过 i i i 秒后 w o r d w…

c语言--指针运算

目录 一、指针-整数二、指针-指针2.1条件2.2两个指针指向同一块空间代码2.2.1运行结果 2.3两个指针指向不同块空间代码2.3.1运行结果 2.4总结 三、指针的关系运算3.1代码3.1.1运行结果3.1.2分析 一、指针整数 用数组举例&#xff1a; 因为数组在内存中是连续存放的&#xff0c…

证券公司vip快速交易通道是什么?是免费的吗?

券商VIP快速交易通道&#xff0c;又称为“快速通道”&#xff0c;是券商向交易所申请后提供给客户的一种特别服务。这是一种独立的交易单元&#xff0c;具有更快的传输速度和更高的优先级。在快速交易通道中&#xff0c;客户的订单数据会通过极速交易柜台发起&#xff0c;走的是…
最新文章