开源LLMs导览:工作原理、顶级LLM列表对比

2024-02-23 06:28

本文主要是介绍开源LLMs导览:工作原理、顶级LLM列表对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、开源 LLM 是什么意思?
  • 二、开源LLM如何工作?
    • 2.1 预训练
    • 2.2 代币化
    • 2.3 开源LLM的微调
    • 2.4 输入编码
    • 2.5 训练与优化
    • 2.6 推理
  • 三、开源LLM对组织的好处
    • 3.1 增强的数据安全和隐私
    • 3.2 节约成本
    • 3.3 减少供应商依赖性
    • 3.4 代码透明度
  • 四、哪种LLM模式最好?
    • 4.1 BERT
    • 4.2 LLaMA (Large Language Model Meta AI)
    • 4.3 Vicuna
    • 4.5 BLOOM
    • 4.6 FALCON-40B
  • 五、最后的想法
  • 参考

在当今快节奏的全球商业环境中,组织不断寻找创新的解决方案来提高运营效率并获得相对于竞争对手的竞争优势。其中一项在商业界备受关注的技术是开源大语言模型(LLM)。LLM已成为强大的工具,可以轻松改变我们与现代技术交互和处理各种任务的方式。

根据 Cutter Consortium 最近的一项调查,全球大约 34% 的组织计划将LLM纳入其运营中。[1] 这是相当令人印象深刻的,特别是当您考虑到领先科技巨头之外的许多组织几乎没有使用大型语言模型的经验时。人们对LLM(尤其是开源LLM)的浓厚兴趣是因为这些模型可以理解和生成类似人类的文本、回答问题以及执行各种其他语言处理任务。

这篇文章将深入回顾什么是开源大型语言模型、它们如何工作,以及当今可用的顶级LLM列表。

一、开源 LLM 是什么意思?

大型语言模型(LLM)基本上是指一种先进的人工智能(AI)模型,使用大量数据(主要来自互联网)进行训练,以理解和生成类似人类的文本。LLM依靠变压器模型架构等深度学习技术来处理和分析语言模式。这样,大型语言模型就能够使用自注意力机制来理解和识别各种单词和概念之间的关系。[2]

一般来说,大型语言模型(LLM)有两种类型:开源和封闭/专有。[3] 与 ChatGPT、Bard 和 GPT-3 等封闭式 LLM 不同,开源 LLM 公开其训练数据集、源代码、模型架构和权重。

这意味着任何人都可以访问、利用、修改和分发开源LLM。LLM的可访问性、可用性和透明度有助于促进人工智能 (AI) 系统的可重复性和去中心化。

二、开源LLM如何工作?

了解开源大型语言模型的工作原理对于利用其力量至关重要。也就是说,这里是有关它们如何工作的分步指南:

2.1 预训练

如上所述,开源LLM需要大量数据进行培训。事实上,大多数最先进的LLM都是使用不同的数据源进行培训的,例如书籍、网站、文章和互联网上的其他书面内容。

开源LLM通常会接受预训练,他们会接触各种未标记的文本数据。在此期间,这些模型学习预测句子中的屏蔽词,这使它们能够理解语法、语义、上下文表示和句法。这个过程可能需要几天甚至几周的时间。

2.2 代币化

在预训练期间,使用分词器对文本输入进行分词。在此阶段,文本输入被分成称为标记的较小单元。令牌可以小到单个字符,也可以长到整个单词。标记化背后的主要思想是让开源LLM能够有效地处理不常见的单词、字符和短语。通常为每个令牌分配一个唯一的数字 ID 以供后续处理。

2.3 开源LLM的微调

一旦开源LLM接受了大型数据集的培训,它就会针对特定任务进行微调。此过程涉及在较小的特定于任务的数据集上训练开源 LLM,以帮助调整其参数来执行各种任务,例如情感分析、语言翻译和文本摘要。当模型被微调时,其权重和偏差会根据所使用的特定于任务的数据集进行更新。

2.4 输入编码

在微调过程中,会对输入文本进行编码,以帮助保留各种单词和句子之间的上下文和关系。这样,机器将能够理解和识别任何给定文本中的模式以及句子的上下文。

然后,将 SEP(用于单独的文本段)和 CLS(用于分类)等特殊标记添加到编码输入中。值得注意的是,输入序列被切割成固定长度以确保样品处理的一致性。

2.5 训练与优化

在开源LLM经过微调并配备分类头后,它会在标记数据集上接受进一步的训练。该训练过程包括通过 LLM 前向传递编码文本输入、根据输入数据计算输出层的值,以及反向传播以最小化损失并使模型更加准确。在此阶段,您可以使用任何所需的优化技术,包括 RMSprop、Adam 和随机梯度下降 (SGD)。[4]

2.6 推理

使用开源大型语言模型时,您向其提供输入文本,它通过按顺序预测下一个标记来生成文本输出。此过程称为推理,可以实时执行。推理很重要,因为它们允许模型根据输入提示生成更相关和更合适的输出文本。


三、开源LLM对组织的好处

这些工具为组织提供了多种好处,包括:

3.1 增强的数据安全和隐私

开源LLM实施策略为组织提供了在自己的基础设施(本地或私有云设置)上部署模型的选项。这使组织能够完全控制其数据,并确保敏感信息保留在组织中。

3.2 节约成本

一般来说,这些LLM比闭源/专有LLM便宜得多。这主要是因为使用开源LLM需要支付许可费用。

3.3 减少供应商依赖性

当使用闭源/专有LLM时,用户越来越依赖于某一供应商的更新、持续维护和支持。然而,通过采用开源LLM,用户可以轻松地从社区贡献中受益,并依赖多个供应商的支持和更新。

3.4 代码透明度

开源LLM因其底层代码的透明度而闻名。因此,用户可以更轻松地了解某个模型的工作原理并在将其集成到现有系统之前验证其功能。


四、哪种LLM模式最好?

以下是组织可用于其数据科学和机器学习 (ML) 项目的顶级LLM精选列表:

在这里插入图片描述

4.1 BERT

BERT 是由 Google 创建的开源LLM,通常用于各种自然语言处理任务。它还可用于生成嵌入来训练其他模型。Tie LLM 的模型大小约为 3.4 亿个参数,使用庞大且多样化的数据集进行训练,该数据集包含来自维基百科、BookCorpus 和互联网其他来源的超过 33 亿个单词。

4.2 LLaMA (Large Language Model Meta AI)

LLaMA 是由 Microsoft 和 Meta AI 开发的开源LLM,其推理代码可在 GPL-3 许可下使用。[5] 这意味着用户可以研究 LLaMA 的架构并使用推理代码来运行模型,甚至生成文本输出。用户还可以对现有代码进行更改或改进并与其他用户共享。

除了理解和生成文本之外,LLaMA 还可以理解图像,这使其可用于许多多模式任务。目前,这个开源 LLM 具有三种主要模型大小,分别接受 7、13 和 700 亿个参数的训练。

4.3 Vicuna

Vicuna 是由流行的人工智能研究组织 Large Model Systems (LMSys) 开发的最先进的开源大型语言模型。这个经过微调的 LLM 基于 ShareGPT,并且表现出与 Google 的 Bard 和 OpenAI 的 ChatGPT 等闭源 LLM 相当的性能。

4.5 BLOOM

BLOOM 是 BigScience 开发的尖端多语言开源LLM。该模型使用类似于 GPT-3.5 的架构构建,非常适合促进科学合作和突破。BLOOM 拥有约 1760 亿个参数的庞大模型,在规模方面超过了许多LLM。BLOOM 的一些最佳功能包括文化敏感性、包容性语言、多语言能力和道德沟通。

4.6 FALCON-40B

Falcon-40B 是技术创新研究所的创意,根据 Apache 2.0 许可证发布,允许商业用途。顾名思义,Falcon-40B 拥有令人印象深刻的模型规模,包含 400 亿个参数,并已在 RefinedWeb 数据集的 10000 亿个 token 上进行了训练。该模型的工作原理是预测序列中的下一个单词,预计将彻底改变多项自然语言处理任务。

五、最后的想法

开源大型语言模型有可能重塑和彻底改变人工智能驱动的组织。通过鼓励透明度、协作和道德发展,开源LLM有能力建立一个更具包容性和创新性的人工智能社区。

此外,它们的适应性、多功能性和经济性使它们成为没有预算从头开始训练自己模型的组织的绝佳选择。


参考

[1] Cutter.com. Enterprises Are Keen on Adopting LLMs, But Issues Exist. URL: https://www.cutter.com/article/enterprises-are-keen-adopting-large-language-models-issues-exist. Accessed September 14, 2023
[2] Medium.com. Attention Networks: A Simple Way To Understand Self Attention. URL: https://medium.com/@geetkal67/attention-networks-a-simple-way-to-understand-self-attention-f5fb363c736d. Accessed September 14, 2023
[3] Medium.com. Types of Open Source LLMs. URL: bit.ly/3Rv3wnC. Accessed September 14, 2023
[4] Analyticsvidhya.com. Comprehensive guide on Deep Learning Optimizers. URL: https://www.analyticsvidhya.com/blog/2021/10/a-comprehensive-guide-on-deep-learning-optimizers/, Accessed September 14, 2023
[5] Fossa.com. Open Source Software Licenses 101. URL: https://bit.ly/3Ru6ybB. Accessed September 14, 2023

这篇关于开源LLMs导览:工作原理、顶级LLM列表对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/737776

相关文章

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表