AI 基础概念

2025-04-02 • 3.4分钟 • 1.4千字

起源

现在 AI 是风口浪尖, 但其实生成式人工智能模型这项技术的发展已经几十年了,最早的研究可以追溯到 60 年代. 最早期也是聊天机器人, 依赖于专家提取的知识库, 知识库的答案则靠问题的关键字触发, 不过这种局限性很强.

机器学习(A statistical approach to AI: Machine Learning)

20 世纪 90 年代,统计方法开始应用于文本分析, 这就催生了新算法 机器学习, 这种算法无需明确编程, 便能从数据中学习模式。这种方法使机器能够模拟人类的语言理解:统计模型在文本标签配对上进行训练,使模型能够使用代表消息意图的预定义标签对未知输入文本进行分类。

神经网络 (Neural networks)

这几年硬件发展迅速, 就产生了更高级的机器学习算法, 就是大家周知的 神经网络(neural networks) 或者说 深度学习(deep learning). 神经网络,特别是 RNN 增强了自然语言的处理能力,能够重视句子中关键词的上下文(记忆机制)。不过 由于 RNN 需要对序列中的每一个时间步骤进行反向传播,导致它容易出现梯度消失(Gradient Vanishing)和梯度爆炸(Gradient Exploding)问题。这是因为随着时间步数的增加,梯度会逐渐消失或变得过大,导致模型训练困难。

现在的生成式 AI (Generative AI)

经过数十年的人工智能研究,一种名为 Transformer 的新模型架构克服了 RNN 的限制,能够获得更长的文本序列作为输入。Transformer 基于注意力机制,使模型能够为收到的输入赋予不同的权重,无论文本序列中的顺序如何,都会“更加关注”最相关的信息集中的地方。

你可以把现在的 AI 当成深度学习的一个子集。

Generative AI

现在的生成式 AI (也就是 LLM), 的特点在于使用来自书籍、文章和网站等各种来源的大量未标记数据进行训练,可以适应各种各样的任务,并生成具有一定创造性的语法正确文本。

大模型如何工作?

首先我们先理解几个概念, 也是经常能看到的术语.

Tokenizer
Predicting

什么是输入和输出?大型语言模型的输入被称为提示词(prompt),输出则称为补全结果(completion),这个术语源自模型通过生成下一个标记(token)来完成当前输入的机制. 那什么是 instruction? 即告诉模型你期望得到什么输出, instruction 里可能包含示例。

不同类型的大模型

基础模型 Foundation Models vs LLM

由斯坦福研究人员提出,并定义为符合某些标准的人工智能模型。也有些叫做基座模型。他们有如下特点:

Foundation Model

到这里基本的模型模型概念就差不多了, 下面就介绍下应用方面的概念。

如何改善 LLM 的结果 (微调)

如果直接跟选择的模型交互, 那么它的回答完全取决于它自身训练过的知识, 它不具备确定性,也不值得信赖,因为虚构内容(如错误的参考文献、内容和陈述)可能与正确信息混在一起, 而且它会表现的非常可信, 这个时候如果是某些垂直领域或者模型本身知识库不足的情况下就需要一些调整。

improve

Prompt Engineering with Context

预训练的模型很擅长处理自然语言, 仅通过简短提示(如补全句子或提出问题)进行调用——这种被称为zero-shot learning(零样本学习)的方式。如果能给出示例和详细的上下文, 那结果就会更精确, 如果仅包含一个示例那么就叫”one-shot”学习, 包含多个示例称之为”few shot learning”. 这种方式也是比较简单入门的方法。

Retrieval Augmented Generation (RAG)

之前也有提到, LLMs 只能使用训练期间用的数据生成答案, 也没办法访问公开数据. RAG 通过把外部数据 chunk 化, 放到向量数据库, 用文档片段的形式进行补充, 来解决这些问题, 还能兼顾提示语的长度(仅检索相关的片段)。一般情况下这对改善模型混淆现实和胡编乱造很有作用。

Fine-tuned model 微调模型

Fine-tuned 利用 transfer learning 来适配特定领域问题。微调会生成一个权重(weights)和偏置(biases)不同的新的模型,这样的话就需要我们准备多组训练数据, 每个训练数据要包含一个输入(prompt)及其对应的输出(completion). 通常用 QA 的形式提供, 可以看下数据结构:医疗训练数据. 以下几个场景我们可以考虑选用 Fine-tuned:

Train Model

大规模训练消耗大量的计算资源, 数据资源, 一般不考虑这种 case.