开源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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据可视化在商业领域有哪些重要性?

数据可视化在商业领域的重要性体现在多个方面,它通过将复杂的数据集转化为直观、易于理解的图形和图表,帮助企业和组织做出更明智的决策。以下是数据可视化对商业的一些关键重要性: 提高决策效率:通过直观的图表和图形&#xff0c…

漫漫数学之旅031

文章目录 经典格言数学习题古今评注名人小传 - 经典格言 如果没有数学知识,这个世界的事物是无法搞清楚的。——罗杰培根(Roger Bacon) 好的,各位看官,让我们来听听罗杰培根这位中世纪的“科学老顽童”是怎么说的&…

罗克韦尔AB的PLC实现ModbusTCP和ModbusRTU协议标签方式通讯

本文是通过IGT-DSER智能网关读写AB罗克韦尔Compact、Control系列PLC的标签数据缓存并转为Modbus从站协议,与上位机通讯的案例。 打开智能网关的参数软件(下载地址),通过功能->数据转发与平台对接,再选择数据转发与缓存’,进入以…

基于java+springboot+vue实现的城市垃圾分类管理系统(文末源码+Lw)23-191

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本城市垃圾分类管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数…

基于Java+Selenium的WebUI自动化测试框架(一)---页面元素定位器

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

使用python查看官网是否发布新的内容

目录 前言 第一章、python介绍和使用pip install下载包 1.python介绍 2.使用vscode编写python 3.pip install的使用 第二章、查看官网是否发布新的内容 第三章、代码实现 目录结构 代码实现 check_new_news.py files.py news.py main.py file.txt 运行演示 前言 也…

【Azure 架构师学习笔记】- Azure Databricks (7) --Unity Catalog(UC) 基本概念和组件

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog 前言 在以前的Databricks中,主要由Workspace和集群、SQL Warehouse组成, 这两年Databricks公…

我们在SqlSugar开发框架中,用到的一些设计模式

我们在《SqlSugar开发框架》中,有时候都会根据一些需要引入一些设计模式,主要的目的是为了解决问题提供便利和代码重用等目的。而不是为用而用,我们的目的是解决问题,并在一定的场景下以水到渠成的方式处理。不过引入任何的设计模…

【YOLOX-nano】YOLOX-nano的推理实践

目录 1 pt文件和pth文件的区别 2 安装依赖库 3 模型下载 4 实践 YOLOX-nano.pth模型转换为YOLOX-nano.onnx模型</

SpringBoot对于SpringMVC的支持

创建项目 版本说明这里使用的 SpringBoot 2.0.0.Release SpringBoot对于SpringMVC的支持 在之前的开发中很多场景下使用的是基于xml配置文件或者是Java配置类的方式来进行SpringMVC的配置。一般来讲&#xff0c;初始的步骤如下所示 1、初始化SpringMVC的DispatcherServlet2、…

pytest结合Allure生成测试报告

文章目录 1.Allure配置安装2.使用基本命令报告美化1.**前置条件**2.**用例步骤****3.标题和描述****4.用例优先级**3.进阶用法allure+parametrize参数化parametrize+idsparametrize+@allure.title()4.动态化参数5.环境信息**方式一****方式二**6.用例失败截图1.Allure配置安装 …

Jmeter基础(2) 目录介绍

目录 Jmeter目录介绍bin目录docsextrasliblicensesprintable_docs Jmeter目录介绍 在学习Jmeter之前&#xff0c;需要先对工具的目录有些了解&#xff0c;也会方便后续的学习 bin目录 examplesCSV目录中有CSV样例jmeter.batwindow 启动文件jmeter.shMac/linux的启动文件jmete…

web安全学习笔记【15】——信息打点(5)

信息打点-CDN绕过&业务部署&漏洞回链&接口探针&全网扫描&反向邮件 #知识点&#xff1a; 1、业务资产-应用类型分类 2、Web单域名获取-接口查询 3、Web子域名获取-解析枚举 4、Web架构资产-平台指纹识别 ------------------------------------ 1、开源-CMS指…

基于springboot财务管理系统源码和论文

随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&#xf…

【C语言必知必会 | 第一篇】C语言入门,这一篇就够了

引言 C语言是一门面向过程的、抽象化的通用程序设计语言&#xff0c;广泛应用于底层开发。它在编程语言中具有举足轻重的地位。 此文为【C语言必知必会】系列第一篇&#xff0c;带你初步了解C语言&#xff0c;为之后的学习打下基础 文章目录 1️⃣发展历史2️⃣语言特点3️⃣语…

论文精读--GPT2

被BERT敲打了&#xff0c;但是仍然坚持解码器架构 Abstract Natural language processing tasks, such as question answering, machine translation, reading comprehension, and summarization, are typically approached with supervised learning on taskspecific dataset…

使用代理IP技术实现爬虫同步获取和保存

概述 在网络爬虫中&#xff0c;使用代理IP技术可以有效地提高爬取数据的效率和稳定性。本文将介绍如何在爬虫中同步获取和保存数据&#xff0c;并结合代理IP技术&#xff0c;以提高爬取效率。 正文 代理IP技术是一种常用的网络爬虫技术&#xff0c;通过代理服务器转发请求&a…

idea和jdk之间对应的版本(idea支持的jdk版本)

idea如果和jdk版本不对应&#xff0c;就会出现无法运行的情况&#xff0c;如下&#xff1a; 翻译&#xff1a;无法确定17的“tools.jar”库的路径&#xff08;C:\Program Files\Java\jdk-17&#xff09; 原因&#xff1a;idea版本是2020.2&#xff0c;而jdk版本是17&#xff0…

动态规划-

关键词&#xff1a; 重叠子问题&#xff1b;每一个状态一定是由上一个状态推导出来(类似数列a^n f(a^n-1,a^n-2)) 步骤&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 题目&#…

01_02_mysql06_(视图-存储过程-函数(变量、流程控制与游标)-触发器)

视图 使用 视图一方面可以帮我们使用表的一部分而不是所有的表&#xff0c;另一方面也可以针对不同的用户制定不同的查询视图。比如&#xff0c;针对一个公司的销售人员&#xff0c;我们只想给他看部分数据&#xff0c;而某些特殊的数据&#xff0c;比如采购的价格&#xff0…