LLM 探秘:基础知识、应用与未来发展
大型语言模型(LLM)是人工智能领域的核心工具,基于深度学习技术实现自然语言的理解与生成。本文将系统梳理 LLM 的基础概念、发展历史及与 NLP 的关系,重点探讨提示词工程、本地知识库构建(RAG)、LangChain 框架以及智能体(Agent)与工作流的应用实践。
LLM 基础知识
1.1 LLM 是什么
从字面意思来讲,LLM 是 Large Language Model 的缩写,意为大语言模型。它是一种基于深度学习技术的自然语言处理工具,能理解和生成文本。通过大量语料库训练,LLM 在翻译、写作、对话等任务中展现出卓越的能力。常见的应用包括自动问答、生成文本、文本摘要等。由于其多模态特性,LLM 还可用于图像和音频处理,为多领域带来创新可能。
1.2 LLM 与 NLP 的关系
1.2.1 LLM 与 NLP 到底啥关系
自然语言处理(NLP)关注的是对自然语言的理解和处理,而 LLM 则是一种强大的模型范式,用于生成和理解自然语言文本,为各种 NLP 任务提供基础和支持。
从定义上:NLP 是人工智能领域的一个子领域,专注于研究和开发使计算机能够理解、处理、生成自然语言文本的技术和方法。而大型语言模型(LLM)是一类基于深度学习的模型,旨在模拟和生成自然语言文本的模型。
从目标上:NLP 的主要目标是让计算机能够像人类一样理解和处理自然语言,包括语言的语法、语义、语用等方面。而 LLM 的主要目标是通过大规模的训练数据来学习自然语言的规律,并能够生成具有语义和语法正确性的文本。
1.2.2 LLM 对回答准确性的定义
对于 LLM 来说,生成具有语义和语法正确性的文本还不够。生成的文本和问题如何对应上?例如:
问题:2022 年 NBA 总冠军是谁? 回答:'我认为这个意大利面,就应该拌 42 号混凝土,因为这个螺丝钉的长度很容易影响到挖掘机的扭矩'
单纯从语义和语法正确性貌似没有很大的问题,但是确并没有回答我的问题。这段话在语法上是正确的,但在语义上却是显得荒谬和不可理解的。虽然这段话在逻辑上没有意义,但在生成语法正确的文本时,只是做到了语法正确(syntax correctness),还需要做到语义合理(semantic plausibility)。
一个理想的 LLM 模型除了语法和语义正确外,还应该具备的能力是:上下文匹配以及一致性。展开来说,就是回答要能准确对应提问的内容和主题并且回答应该与问题保持一致,不发生语义偏离或者逻辑断裂。
此外,确保信息的准确性也是必不可少的优秀品质。LLM 通过下面几点来保证回答的正确性:数据训练、持续学习、上下文理解、多模态输入、人工审核、领域适应性。
1.3 LLM 的发展历史
如果说,在 LLM 的发展过程中有哪些重要的里程碑事件的话,2017 年 Vaswani 等人提出了 Transformer 架构绝对是能算得上之一。
Transformer 架构是一种基于自注意力机制的神经网络结构,它完全颠覆了之前以循环神经网络(RNN)为主导的序列建模范式。Transformer 架构的出现,实现了并行计算和高效的上下文捕获,极大地提高了自然语言处理的性能。可以说,先有 Transformer,后有 GPT 以及 BERT。
ChatGPT 是 GPT-3.5 的微调版本,本质上是一个通用聊天机器人。在 2022 年 11 月推出,推出后仅仅两个月,就达到月活过亿。ChatGPT 的发布可以说是'横空出世'。
1.4 LLM 的一些基本概念
1.4.1 LLM 中的参数规模
GPT3 在训练时使用了 175B 的参数。这里的 B 是 Billion 的缩写,175B 就是 1750 亿个参数。参数数量,简单来说,就是模型在学习时用来调整自身以适应数据的那部分'旋钮'。每个参数就像是一个可以微调的设置,模型通过调整这些参数来更好地理解和生成语言。
当我们说一个模型有 1750 亿个参数时,这意味着模型内部有 1750 亿个这样的旋钮。这个数字越大,通常意味着模型的表示能力越强,因为它可以捕捉到更复杂的数据模式。但同时,这也意味着模型需要更多的数据和计算资源来训练。
不过,要注意的是,参数多并不总是好事。如果参数过多,而训练数据不足,模型可能会过拟合,也就是说它在训练数据上表现得很好,但在未见过的数据上就不怎么样了。所以,参数数量和训练数据的平衡非常重要。
使用 1000 张 NVIDIA 80GB A100 GPU(理论算力是 312 TFLOPS)显卡需要 22 天,花费 81.6 万美刀才能训练完。ChatGPT 的 token 贵的原因除了训练模型比较耗钱外,我们向 LLM 发起请求时,每个请求都会在 LLM 的内部发起比较复杂的运算,这些运算对硬件的要求也很高,所以每次发起请求时都有不少的运行时成本。
1.4.2 LLM 的离线模型
安全是第一位的,我们在使用在线 LLM 时一定要注意信息安全。其实如果条件允许的话,我们可以考虑使用离线模型来助力我们的工作。
相比于在线模型,除了延迟比较小、资源消耗比较少之外,离线模型最大的特点是比较安全,不用把请求发给不受控制的 LLM。一般来说,在 Mac Book M3 上能跑的模型包括:Tiny-BERT、GPT-NEO 等模型,这些模型的参数从几百万到几千万不等。离线模型的部署方案比较成熟,每个离线模型的部署都有可以参考的文档。


