开源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.hqwc.cn/news/484486.html

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

相关文章

2024华北医院信息网络大会第二轮更新通知

大会背景 近年来,我国医疗行业信息化取得了飞跃式的发展,医疗信息化对医疗行业有着重要的支撑作用。2021年国家卫健委、中医药管理局联合印发《公立医院高质量发展促进行动(2021-2025年)》,提出重点建设“三位一体”智…

Redis之缓存穿透问题解决方案实践SpringBoot3+Docker

文章目录 一、介绍二、方案介绍三、Redis Docker部署四、SpringBoot3 Base代码1. 依赖配置2. 基本代码 五、缓存优化代码1. 校验机制2. 布隆过滤器3. 逻辑优化 一、介绍 当一种请求,总是能越过缓存,调用数据库,就是缓存穿透。 比如当请求一…

DM数据库学习之路(十六)DEM部署DM8DPC集群

DEM部署DPC集群 DPC准备工作 在所有安装DPC服务器上部署dmagent,dmagent的运行环境需要依赖JAVA环境,JAVA版本必须为JAVA1.8。 创建用户 所有安装DPC服务器,手工建dmdba用户 # groupadd dinstall # useradd -g dinstall -d /home/dmdba…

时序数据库TimescaleDB,实战部署全攻略

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

【Django】Django自定义后台表单——对一个关联外键对象同时添加多个内容

以官方文档为例: 一个投票问题包含多个选项,基本的表单设计只能一个选项一个选项添加,效率较低,如何在表单设计中一次性添加多个关联选项? 示例代码: from django.contrib import adminfrom .models impo…

数据结构——串——KMP算法

1.KMP算法是什么? KMP算法是一个模式匹配算法,可以大大避免重复遍历的情况(也就是避免掉了传统的朴素模式匹配算法的低效) 因此我们KMP算法用于解决的就是字符串匹配问题 因此,假设我们有两个串,一个文本串…

市场复盘总结 20240222

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率中 25% 最常用…

如何使用CanaryTokenScanner识别Microsoft Office文档中的Canary令牌和可疑URL

关于CanaryTokenScanner CanaryTokenScanner是一款功能强大的Canary令牌和可疑URL检测工具,该工具基于纯Python开发,可以帮助广大研究人员快速检测Microsoft Office和Zip压缩文件中的Canary令牌和可疑URL。 在网络安全领域中,保持警惕和主动…

【STM32学习】——续上:软件SPI读写W25Q64SPI通信外设硬件SPI读写W25Q64

四、软件SPI读写W25Q64 工程思路与I2C类似,MySPI.c是通信底层,主要包括通信引脚封装、初始化、SPI通信的三个拼图(起始、终止和交换一个字节);基于此文件建立W25Q64.c,调用MySPI三个拼图,拼接成…

Git合并固定分支的某一部分至当前分支

在 Git 中,通常使用 git merge 命令来将一个分支的更改合并到另一个分支。如果你只想合并某个分支的一部分代码,可以使用以下两种方法: 1.批量文件合并 1.1.创建并切换到一个新的临时分支 首先,从要合并的源分支(即要…

Promise中的链式流

如果阅读有疑问的话,欢迎评论或私信!! 本人会很热心的阐述自己的想法!谢谢!!! 携手共进! 文章目录 前言深入Promise链式流 前言 在探索Promise链式流之前我们要知道两个Promise固有…

快速将excel/word表格转换为web页面(html)的方法

前言 在进行开发企业信息化建设的过程,应该有很多这样的场景,就是将现有的电子表格记录的方式转换为在数据系统中进行网页上报。也就是需要根据当前一直使用的表格制作一个上传这个表格信息的网页,如果要减少系统的使用学习成本,…