> 自媒体 > (AI)人工智能 > LLMs的使用介绍-实践中使用的3个级别
LLMs的使用介绍-实践中使用的3个级别
来源:ChatGPT扫地僧
2023-08-13 15:12:31
247
管理
在实践中使用LLMs的3个级别

这是关于在实践中使用大型语言模型(LLMs)系列文章的第一篇。在这里,我将介绍LLMs并提出三个使用它们的级别。未来的文章将探讨LLMs的实际方面,例如如何使用OpenAI的公共API、Hugging Face Transformers Python库、如何微调LLMs以及如何从头构建LLMs

什么是LLM?

LLM 是 Large Language Model 的缩写,是人工智能和机器学习中的最新创新。这种强大的新型人工智能在2022年12月随着 ChatGPT 的发布而迅速传播开来。

对于那些生活在人工智能热潮和技术新闻周期之外的人来说,ChatGPT 是运行在名为 GPT-3 的 LLM 上的聊天界面(现在在撰写本文时已升级到 GPT-3.5 或 GPT-4)。

如果你使用过 ChatGPT,显然这不是来自 [AOL Instant Messenger](https://en.wikipedia.org/wiki/AIM_(software)) 或你的信用卡客服的传统聊天机器人。

这个聊天机器人感觉不同。

什么使得LLM“大”?

当我听到“大型语言模型”这个术语时,我的第一个问题是,这与“常规”语言模型有何不同?

语言模型比大型语言模型更通用。就像所有正方形都是矩形,但并非所有矩形都是正方形一样。所有LLM都是语言模型,但不是所有语言模型都是LLM。

所以LLM是一种特殊的语言模型,但是什么使它们与众不同呢?

有2个关键属性区分LLMs与其他语言模型。一个是数量上的,另一个则是质量上的。

数量上,LLM的区别在于模型中使用的参数数量。目前的LLM大约有10-1000亿个参数[1]。质量上,当语言模型变得“大”时,会发生一些非凡的事情。它会展示出所谓的 emergent properties例如零-shot学习[1]。这些是当语言模型达到足够大的规模时,似乎突然出现的特性。

零样本学习

GPT-3(以及其他LLM)的主要创新在于它能够在各种情境下进行零样本学习[2]。这意味着ChatGPT可以执行一个任务,即使它没有被明确训练过。

尽管这对我们这些高度进化的人类来说可能不是什么大不了的事情,但是这种零样本学习能力与之前的机器学习范例形成了鲜明对比。

以前,为了获得良好的性能,模型需要明确地在它所要完成的任务上进行明确的训练。这可能需要1k-1M个预标记的训练示例。

例如,如果你想让计算机进行语言翻译、情感分析和识别语法错误。每个任务都需要一个专门的模型,它需要在大量标记示例的基础上进行训练。然而,现在,LLM可以在没有明确训练的情况下完成所有这些任务。

LLM如何工作?

训练大多数最先进的LLM所使用的核心任务是单词预测。换句话说,给定一序列单词,下一个单词的概率分布是什么?

例如,给定序列Listen to your ____,最有可能的下一个单词可能是:heart,gut,body,parents,grandma等。这可能看起来像下面显示的概率分布。

有趣的是,这是许多(非大型)语言模型过去被训练的方式(例如GPT-1)[3]。然而,由于某种原因,当语言模型超过一定大小(例如~10B个参数)时,这些(新生的)能力,例如零-shot学习,开始出现[1]。

尽管目前还没有明确的答案,解释为什么会发生这种情况(只有推测),但明显LLM是一种强大的技术,具有无数的潜在用例。

使用LLM的3个层次

现在我们来看看如何在实践中使用这种强大的技术。虽然有无数的LLM用例,但在这里,我将它们按所需的技术知识和计算资源排序为3个层次。我们从最容易使用的开始。

一级:提示工程

使用LLM的第一级别是“提示工程”,我将其定义为“任何使用LLM的开箱即用方式”,即不更改任何模型参数。虽然许多技术倾向的个人似乎对提示工程的想法不屑一顾,但这是实际中使用LLM(在技术和经济上)最可访问的方法。

有两种主要的提示工程方式: 简单方式 和 较不简单方式。

简单方式:ChatGPT(或其他方便的LLM UI) - 这种方法的关键好处是方便。像ChatGPT这样的工具提供了一种直观,免费且无代码的使用LLM的方法(没有比这更容易的方法了)。

然而,方便通常是有代价的。在这种情况下,这种方法有两个主要缺点。第一个是缺乏功能。例如,ChatGPT不容易使用户自定义模型输入参数(例如温度或最大响应长度),这些值调节LLM输出。第二,与ChatGPT UI的交互不能轻松地自动化,因此无法应用于大规模使用情况。

虽然这些缺点可能是某些用例的杀手级应用,但如果我们将提示工程向前推进一步,这两个缺点都可以得到改善。

较不简单方式:直接与LLM交互 - 我们可以通过编程接口直接与LLM进行交互来克服ChatGPT的一些缺点。这可以通过公共API(例如OpenAI的API)或在本地运行LLM(使用像Transformers这样的库)来实现。

虽然这种提示工程方式不太方便(因为它需要编程知识和潜在的API成本),但它提供了一种可定制,灵活和可扩展的使用LLM的方法。本系列文章将讨论付费和免费的方法来进行此类提示工程。

尽管提示工程(如此定义)可以处理大多数潜在的LLM应用程序,但依赖通用模型可能会导致特定用例的次优性能。对于这些情况,我们可以进入使用LLM的下一个级别。

等级 2:模型微调

使用 LLM 的第二个等级是模型微调,我定义为对现有 LLM 进行微调以用于特定用例,通过改变至少一个(内部)模型参数,即权重和偏差。在此类别中,我还将在此处将迁移学习即使用现有 LLM 的某些部分来开发另一个模型。

微调通常包括两个步骤。步骤 1:获得预先训练的 LLM。步骤 2:基于给定的特定任务更新模型参数(通常是数千个)高质量标记的示例。

模型参数是定义 LLM 对输入文本的内部表示的。因此,通过针对特定任务调整这些参数,内部表示变得针对微调任务进行了优化(或者至少是这样的想法)。

这是一种强大的模型开发方法,因为相对较少的示例和计算资源可以产生出色的模型性能。

然而,缺点是它需要比提示工程更多的技术专业知识和计算资源。在未来的一篇文章中,我将尝试通过审查微调技术并共享示例 Python 代码来缓解这种缺点。

虽然提示工程和模型微调可能可以处理 LLM 应用程序的 99%,但有时必须走得更远。

等级 3:构建自己的 LLM

在实践中使用 LLM 的第三种最终方法是构建自己的。在模型参数方面,这是您从头开始制定所有模型参数的地方。

LLM 主要是其训练数据的产物。因此,对于某些应用程序,可能需要策划自定义的高质量文本语料库进行模型训练,例如医学研究语料库,用于开发临床应用程序。

这种方法最大的优点是您可以完全自定义 LLM 以适用于您的特定用例。这是终极的灵活性。但是,通常情况下,灵活性的代价是方便性。

由于LLM 性能的关键是规模,因此从头开始构建 LLM 需要巨大的计算资源和技术专业知识。换句话说,这不会是一个个人周末项目,而是一个完整的团队工作数月甚至数年,预算达到 7-8F。

尽管如此,在我未来文章中,我希望探讨从头开始开发 LLM 的流行技术。

最后让我们来总结一下:

虽然LLM现在被吹得足够大,但它们是AI领域的一项强大创新。在这里,我提供了有关LLMs是什么以及如何在实践中使用它们的入门指南。日后我希望写一些文章提供初学者指南,帮助大家启动下一个LLM用例。

资源

链接:「个人博客」

社交:「推特」|「微博」| 「领英」|「油管」

之后我会出一些AI相关的具体视频教程,目前还未找到合适的平台托管,敬请期待。关注我,我会第一时间通知到家。

在我的号内的文章大部分是免费阅读的(除非有实际成本支出),如果您觉得对您有帮助,可以给我赞赏一下以表支持。

引用

[1] 大型语言模型调查。 arXiv:2303.18223 [cs.CL]

[2] GPT-3论文。 arXiv:2005.14165 [cs.CL]

[3] Radford,A.,& Narasimhan,K。(2018)。通过生成式预训练改善语言理解。 (GPT-1论文)

2
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 凡本网注明 “来源:XXX(非本站)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。 如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。 QQ:617470285 邮箱:617470285@qq.com
关于作者
我是歌王(普通会员)
文章
384
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40329 企业收录2981 印章生成186789 电子证书796 电子名片49 自媒体20815

@2022 All Rights Reserved 浙ICP备19035174号-7
2
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索