当前位置:   article > 正文

关于开源大模型必须知道的 10 件事

关于开源大模型必须知道的 10 件事

关于开源大模型必须知道的 10 件事

AI 的热潮正在全球范围内席卷每一个行业。尽管闭源模型目前在表现上略胜开源模型一筹,但是很多时候我们还是会用到开源大模型。

本文将向你介绍使用开源大语言模型需要了解的 10 个关键点。阅读完本文后,你将能够在庞大的 AI 世界中找到方向,了解你需要做什么,以及完成这些任务所需的工具。

在这里插入图片描述

1. 我们为什么需要开源大模型

我们已经有了 ChatGPT 和其他一些非常强大的 AI,那为什么还需要能够在本地计算机上运行的开源大语言模型呢?

如果你关心隐私,或者你的业务涉及到注重隐私的用户,将你或客户的数据发送给 OpenAI 或其他提供商可能并不明智。使用开源大语言模型(尤其是在你自己的计算机或服务器上运行),你可以完全控制你的数据。

不稳定或不可靠的互联网连接:由于你的地理位置,或者在某些国家/地区,你可能会遇到很多问题,无法使用像 OpenAI 或 Claude 这样的服务。开源大语言模型可以解决这个问题,让你无论身处何地都能享受 AI 的帮助。

使用限制或审查:你可能已经体验过 AI 的回应有一些你无法逾越的界限。而开源大语言模型没有这些限制,社区正在努力在各个领域提供最佳的解决方案。

开源大语言模型除了文本生成能力之外,还提供了一些独特的好处——数据隐私安全性离线可用性定制化,以及减少对外部服务的依赖,这些都是使用大语言模型时的重要因素。下图总结了开源大模型的优势:

在这里插入图片描述

2. 从哪里获取开源大模型

开源大语言模型主要托管在 Hugging FaceCivitAI 上:前者涵盖了许多自然语言处理(NLP)任务,后者则专注于图像生成。

Hugging Face

在这里插入图片描述

Hugging Face 是一个连接数据科学家、研究人员和机器学习工程师的平台,支持各种开源项目。它提供了从开源代码和技术构建、训练和部署机器学习模型的工具。

科技巨头无法单独在 AI 领域取得进展;合作是解锁 AI 未来的关键。Hugging Face 提供了一个共享和探索模型与数据集的一站式平台。他们的目标是创建一个庞大的资源库,使 AI 民主化,为所有人服务。

CivitAI

在这里插入图片描述

CivitAI 于 2022 年 11 月推出,旨在满足细调爱好者对一个平台的日益增长的需求,在这个平台上,他们可以无缝分享他们的创作并与其他创作者互动。

CivitAI 是一个动态平台,旨在促进 AI 生成媒体的创作和探索。它提供了一个环境,用户可以在其中上传、分享和发现自定义模型,每个模型都经过不同数据集的训练。在 AI 媒体软件的帮助下,这些模型可以作为创新工具,用于打造你自己的独特创作。

3. 什么是大语言模型

大语言模型(LLM)是利用深度学习和庞大数据集来理解、总结、生成和预测新内容的 AI 算法。语言在人类与技术之间的交流中至关重要。它为分享想法和思想提供了术语、意义和结构。在人工智能领域,语言模型不仅赋予了交流能力,还能创造新的想法。

深度学习算法需要输入大量数据:通过多个序列,它会创建一个包含单词间关系的神经网络。这些关系被称为权重:它们是指向语义上最重要的下一个单词的统计指针。

举个例子:如果你说“中华人民”,LLM 会根据上下文统计最可能的单词,并将句子继续为“共和国”,结果就是“中华人民共和国…”。

模型权重

模型的参数越多,词语之间的关系也就越复杂。实际上,模型是一种模仿我们大脑神经连接的神经网络:连接越多,网络的性能就越高。模型的训练过程在不同的步骤中会产生表示权重和偏差的数值。权重决定了神经元之间连接的强度;偏差则影响神经元的输出。

在一个大语言模型中,“参数”指的是决定模型行为的数值。这些参数包括权重和偏差,它们共同定义了模型中神经元的连接和激活。

下面是一个来自 Hugging Face 的例子,涉及 T5 系列模型。这里有 5 个基础模型,它们的参数数量有很大的差异。

在这里插入图片描述

大语言模型(LLM)中的参数类似于标准神经网络中的权重。在 LLM 和神经网络中,这些参数都是数值,它们最初是随机生成的系数,并在训练过程中进行调整以最小化损失。

这些参数不仅包括决定神经元之间连接强度的权重,还包括影响神经元输出的偏差。

在像 GPT-4 或其他基于 Transformer 的模型这样的 LLM 中,“参数”指的是决定模型行为的数值。这些参数包括权重和偏差,它们共同定义了模型中神经元的连接和激活。

4. 基础模型和预训练模型

在这里插入图片描述

通常我们有两大类模型:基础模型和特定任务模型。

对于这两类模型,都使用深度学习算法来生成权重和偏差。权重是数值,用于定义模型中不同层之间神经元连接的强度。在大语言模型的背景下,权重主要用于注意力机制。偏差是附加的数值,在通过激活函数之前加到输入的加权和上。它们有助于控制神经元的输出,并为模型的学习过程提供灵活性。偏差可以被认为是一种将激活函数向左或向右平移的方法,使模型能够学习输入数据中更复杂的模式和关系。

根据斯坦福大学 Human-Centered Artificial Intelligence’s (HAI) Center 基础模型研究中心(CRFM)的定义,基础模型,也被称为基本模型,是“任何在广泛数据上训练的模型(通常使用大规模自监督),可以适应(例如,微调)各种下游任务”。

因此,特定任务模型,也称为预训练模型,是一种训练来执行特定任务的模型,是基础模型的微调产物。我们将在下一节更好地理解 NLP 任务是什么。

在这里插入图片描述

在现实生活中,我们总是会寻找预训练模型:训练一个模型并非易事,我们也不需要一个能做所有事情的模型。理解你的目标将帮助你选择最好的预训练模型!

5. 模型能做什么

在这里插入图片描述

NLP 代表自然语言处理。它是人工智能(AI)的一个子领域,专注于计算机与人类语言之间的交互。NLP 使计算机能够以有意义和有用的方式理解、解释和生成人类语言和任务。

NLP 涵盖了广泛的任务和技术,涉及处理和分析自然语言数据。一些常见的 NLP 应用包括:

  • 文本分类:根据文本内容对文档进行分类和标记。例如,情感分析、垃圾邮件检测或主题分类。
  • 命名实体识别(NER):识别和分类文本中的命名实体,如人名、组织名、地点和日期。
  • 情感分析:确定文本中表达的情感或情绪,如正面、负面或中性情感。
  • 机器翻译:自动将文本从一种语言翻译成另一种语言,例如谷歌翻译。
  • 问答系统:基于给定的上下文或大量知识库回答自然语言提出的问题。
  • 文本生成:创建类似人类的文本,如生成产品评论、新闻文章或聊天机器人回复。
  • 语言建模:构建预测句子中单词序列概率的统计模型,用于语音识别和自动补全等任务。

为了执行这些任务,NLP 算法结合了机器学习、深度学习和语言学的技术。在人工智能中,你可以将“下游任务”视为语言模型的应用。

大模型不仅限于输入文本,也可以是图片、音频和视频!

计算机视觉和多模态任务也是通过预训练模型来生成的,这些模型专门用于执行特定任务。

6. 核心库

如前所述,AI 模型是通过在具有不同层和参数的大型神经网络中训练出来的权重。机器学习和深度学习的主要库是 TensorFlow 和 PyTorch。

因此,您通常会发现 AI 模型以 pt/bin 格式(Torch)或 h5 格式(TensorFlow)分发。

以 Hugging Face 上的开源模型为例。如果您浏览这些模型,可以点击一个并获取一个模型卡。

左侧是一些常用的过滤器,在右上角是主菜单,中间部分是模型列表。点击任意模型打开模型信息卡。

在这里插入图片描述

从模型信息卡中,您已经可以看到生成模型支持的语言、它可以执行的任务以及权重的主要神经网络格式(PyTorch 或 TensorFlow)所需的主要细节。

在这里插入图片描述

记住,您并不需要一个可以做所有事情的模型:我的意思是,您可以有多个执行不同任务的小模型。一个摘要器,一个文本生成器,一个翻译器等等。您可以在模型卡页面上找到与模型相关的任务。

7. 量化权重

使用大语言模型(LLM)有个问题,那就是训练和使用它们需要特殊的硬件资源。这可能会成为一个难题!

我们平时用的电脑被称为普通消费级电脑,也就是你家里的笔记本电脑或台式机。通常这些设备的计算能力并不高。计算能力主要看 CPU 的核心数量和是否有显卡(GPU)。

在这里插入图片描述

LLM 是非常大的神经网络,里面的张量(权重)是高精度的数字。因此,我们的电脑会尝试将整个模型加载到内存中,然后开始将单词转换成数字,查找神经网络,返回描述单词的最佳数字,最终给出结果。要了解更多,可以参考 tokenizer 部分。

为了克服硬件的限制,一些聪明的人决定量化(减少)模型权重。虽然这种减少会带来一些精度损失,但也使得普通电脑可以运行大语言模型。

量化模型主要有两种格式:GGMLGPTQ

  • GGML 是一个用于机器学习(ML)的 C 语言库,“GG”是其创始人 Georgi Gerganov 的首字母。这种格式适合没有 GPU 或 GPU 很弱的人,它只在 CPU 上运行。

  • GPTQ 也是一个库,它使用 GPU 并量化(减少)模型权重的精度。生成后训练量化文件可以将原始模型减少 4 倍。如果你有 GPU,这种格式是最佳选择。

这种方法的好处是什么?让我们看看运行 GGML 量化模型的要求:

在这里插入图片描述

模型 h2ogpt-gm-oasst1-en-2048-falcon-7b-v3非常大,普通消费级硬件无法运行。模型权重有 15 GB,所以你需要一个至少有 32 GB 显存的 GPU。

而量化版本 q4 可以在 CPU 上运行,并且需要不到 7 GB 的空闲 RAM。这真是太神奇了!

8. Tokenizer, Transformers 和 pipelines

您的 AI 模型是一个处理数字的神经网络。因此,为了向大语言模型(LLM)提供指令(并接收答案),我们需要一个将词语转换为数字的工具。这个工具便是 Tokenizer!

Tokenization 是将一段文本分解成称为 token 的小单元的过程。一个 token 可以是一个词、部分词或只是标点符号等字符。

Tokenizer 使用一个特殊的词汇表(每个模型不同),将我们的指令(提示)转化为对 LLM 有意义的内容。

Tokenizer 在 Transformer 库的帮助下将提示输入发送给 LLM:Transformer 是您与几乎所有开源模型交互的工具箱。关于 Transformers 的介绍,可以阅读我之前的文章《深度解析 Transformer 和注意力机制(含完整代码实现)》

Transformers 有两个主要任务:专注于注意机制,评估提示的语义意义,以找到最相关的词/句子,并将 Tokenizer、提示、模型权重和任务联系在一起。

自注意力机制本身就是一个非常复杂和惊人的任务:简单来说,自注意力帮助我们在同一句子中创建类似的连接,并在评估下一个词时总是回顾以验证语义意义。请看以下示例:

“我把水从瓶子倒进杯子里,直到它装满。”
它 => 杯子

“我把水从瓶子倒进杯子里,直到它空了。”
它 => 瓶子

通过将一个词从“满”改为“空”,"它"的参照对象发生了变化。如果我们要翻译这样的句子,我们将想知道“它”指的是哪个词。

第二个任务是将所有内容联系在一起:这就是 pipeline 出现的地方。Pipeline 是一个非常简单的函数,用于执行 NLP 任务。如果您想生成文本,您将需要使用 text-generation 的 pipeline,只需一行代码。

9. 提示词与提示词工程

提示词是您进入大语言模型(LLM)的途径。它是您对语言模型的指令。它可以用于问答、信息检索(如“山西的省会是哪里?”)或创造性任务(如“写一首关于曹操的悲情诗……”)。

需要理解的是,低质量的提示肯定会导致低质量的答案:但同时,高质量的提示并不总是会产生好的答案。这是因为并非所有的大语言模型都以相同的方式训练或能执行所有任务。

如果您浏览网络,您会发现一个新兴的学科,称为提示工程。提示工程是指设计和构建有效提示以从语言模型生成所需输出的过程。在自然语言处理(NLP)和大语言模型领域,提示工程在塑造模型的行为和输出方面起着至关重要的作用。

提示工程涉及编写输入指令或查询,以引导语言模型生成所需的响应。通过仔细设计提示,研究人员和开发人员可以影响模型的行为并控制其生成的输出。

提示工程的目标是从语言模型中引出准确、连贯和上下文适当的响应。这可能涉及提供明确的指示、指定所需输出的格式或结构,或使用额外的上下文来引导模型的理解。

提示工程可能是一个复杂且反复迭代的过程,需要实验和微调。有效的提示工程对于减轻偏见和错误信息尤为重要:事实上,每个模型都是基于大量数据构建的,而这些数据往往没有考虑其质量或验证其真实性。

总的来说,提示工程是与大语言模型合作的关键技术,允许用户塑造和引导模型的行为,以生成更准确和相关的输出,达到预期的目标。关于提示词和提示词工程的详细介绍,可以阅读我之前的文章《向 AI 提问的艺术》

10. 本地安装 vs. 远程服务

我能在自己的电脑上运行大语言模型吗?

答案是既可以也不可以!让我们深入探讨一下。

在 Hugging Face Hub 上,有超过 12 万个模型、2 万个数据集和 5 万个演示应用(Spaces),每个用户都可以使用每一个可用的大语言模型。但你需要有硬件资源才能做到这一点。面对如此庞大的数量,很难选择合适的一个。

一些模型权重小于 1GB,有些模型会超过 20GB。即使你在电脑上有足够的可用空间,你可能也没有 GPU 或足够的内存(RAM 和 VRAM)来运行它们。

为什么会这样?正如我之前解释的,我们的电脑将会把整个神经网络权重(大语言模型)加载到内存中,然后根据我们的提示开始评估连接。我们可以在这里使用一个简化的公式:

你所需的空闲 VRAM 是 model.bin 文件大小的两倍。

还是那句化,在选择模型时要聪明一点!根据你想执行的任务选择你的模型!你不能在你的电脑上运行 ChatGPT……但你可以有多个执行不同任务的小模型。一个摘要器,一个文本生成器,一个翻译器等等。你可以在模型卡页面本身找到与模型相关的任务。

总结

牢记以上这十个关键点,可以在你使用开源大模型时打下坚实的基础,并充分利用大模型带来的好处。

抓住 AI 的时代基于,突破可能的边界,开启 AI 驱动的创造力新领域。现在就踏上使用开源 LLM 的激动人心的旅程,充分发挥你私有 AI 的力量。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/653936
推荐阅读
相关标签
  

闽ICP备14008679号