作者:来自 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