大模型导论
上QQ阅读APP看书,第一时间看更新

1.1.3 关键术语

本节将详细介绍与大模型相关的3个关键术语——Token、Prompt和Embedding。这些术语在自然语言处理和机器学习领域中扮演着重要的角色,对于理解和应用大模型至关重要。

1.Token

在大模型中,Token(词元)是文本中的最小单位,可以代表一个单词、一个标点符号、一个数字等。Tokenization(分词)是将一个句子或文本分成多个Token的过程。常用的分词方法包括BPE(Byte-Pair Encoding,字节对编码)算法、WordPiece算法和ULM(Uni-gram Language Model,一元语言模型)算法。在第12章中进行开源模型的微调实践时,在训练模型前,不仅需要加载模型的权重参数,还需要导入对应的Tokenizer(分词器)。

在大模型的训练和应用中,模型将接收的大量Token作为输入,并对下一个最有可能出现的Token进行预测。如今,很多模型会将Token处理为词向量(Embedding,也称为词嵌入)的形式,这种形式的数据便于在神经网络中处理。

2.Prompt

这里讲解的Prompt偏向于模型的训练过程,另外,Prompt的形式不拘泥于自然语言,也可以是向量,不同于用户与模型沟通交互时传递的提示词。此处的Prompt将会给模型提供输入的上下文信息。在有监督或无监督训练过程中,Prompt可以帮助模型更好地理解输入内容并响应。

具体而言,针对情感分类任务,可以在输入“I love this song”句子后增加提示词“This song is ___”,将情感分类任务转变为完形填空任务。模型将输出“Wonderful”“Moving”等具有情感偏好的形容词。这种方式可以引导模型输出更加正确的分类标签。将上述问题转化为更一般的形式,对于输入文本x,通常有专用的函数fforward(x),可以将x转换为所需的形式。应用模板如下。

[X] This is a [Z] song.

其中,[X]指代输入文本x的位置,[Z]指代生成文本的位置。

在研究过程中,一般会留下空位置以便模型填充答案。如果空位置在句子中间,一般称此类提示词为Cloze Prompt;如果空位置在句末,则称为Prefix Prompt。总之,通过设计合理的Prompt,经过无监督预训练的模型也可以处理多种下游任务。

Prompt主要有两种设计方法——手工设计模板和自动学习模板。

在Prompt发展初期,一般将其称为一种输入形式或模板。手工设计模板一般基于自然语言而设计,例如经典的LAMA数据集中包含的Cloze Templates[24]。手工设计模板的优势是直观、简单,但缺点是需要设计人员拥有大量的相关知识和经验,并且构造速度较慢。

为了解决手工设计模板的缺点,研究人员提出了自动学习模板。自动学习模板可细分为离散提示词(Discrete Prompt)和连续提示词(Continuous Prompt)两类。离散提示词是指自动生成由自然语言组成的提示词,因其搜索空间是离散的而得名,常用方法包括Prompt Mining、Prompt Paraphrasing、Gradient-based Search等。而连续提示词则不把提示词的形式拘泥于自然语言,向量也可以作为提示词(通常是可训练的),因为自然语言并不是模型或机器能直接理解的语言。第6章将要介绍的Prefix tuning方法就属于连续提示词类的经典方法。

3.Embedding

在机器学习和自然语言处理领域中,Embedding(词嵌入,也称词向量)是一种将高维度离散数据(如单词、短语或整个句子等文本数据)映射到低维度连续向量空间的技术。这种映射的目的是捕捉和表征数据的语义与句法特征,使得原本在高维度空间中表示的数据在低维度空间中能够更加有效地进行处理和分析。

随着机器学习和自然语言处理技术的快速发展,Embedding得到进一步改进。例如,BERT、ELMo和GPT等模型可以生成上下文相关的向量表示。这些向量不仅捕获单词的语义信息,而且融入了上下文信息,可以提高模型对语言的理解能力。

此外,Embedding与向量数据库的结合使用为大模型的知识检索和知识补充提供了强大支持。Embedding可以将用户提问转化为向量表示,并在向量数据库(已存入大量知识)中进行相似度计算,取出相似度最高的知识并将其作为提示词输入模型中,以实现对模型输入的有益补充。这种技术在信息检索、问答系统等方面具有广泛的应用前景。在11.3.3节中,我们将详细介绍这一技术的原理及应用案例。

在实际开发过程中,比较常用的生成词向量的方法包括Word2Vec、GloVe[25]以及OpenAI公司提供的Embedding工具等。