用户在可以使用自然语言与大模型交流,用户的文本就是"提示词"。提示词越清晰,模型的回答就越符合预期。
大模型处理提示词的工作流程可以分为两部分,第一部分是分词化与词表映射 ,第二部分为生成文本。
分词化(Tokenization)与词表映射
分词化 (Tokenization)是自然语言处理(NLP)中的重要概念,它是将段落和句子分割成更小的分词(token)的过程。举一个实际的例子,以下是一个英文句子:
I want to study English.
为了让机器理解这个句子,对字符串执行分词化,将其分解为独立的单元。使用分词化,我们会得到这样的结果:
['I' ,'want' ,'to' ,'study' ,'English' ,'.']
将一个句子分解成更小的、独立的部分可以帮助计算机理解句子的各个部分,以及它们在上下文中的作用,这对于进行大量上下文的分析尤其重要。分词化有不同的粒度分类:
- 词粒度分词化,如上文中例子所示,适用于大多数西方语言,如英语。
- 字符粒度分词化,是中文最直接的分词方法,它是以单个汉字为单位进行分词化。
- 子词粒度分词化,它将单词分解成更小的单位,比如词根、词缀等。这种方法对于处理新词(比如专有名词、网络用语等)特别有效,因为即使是新词,它的组成部分(子词)很可能已经存在于词表中了。
每一个token都会通过预先设置好的词表,映射为一个 token id,这是token 的"身份证",一句话最终会被表示为一个元素为token id的列表,供计算机进行下一步处理。
大语言模型生成文本的过程
大语言模型的工作概括来说是根据给定的文本预测下一个token。
对我们来说,看似像在对大模型提问,但实际上是给了大模型一串提示文本,让它可以对后续的文本进行推理。
大模型的推理过程不是一步到位的,当大模型进行推理时,它会基于现有的token,根据概率最大原则预测出下一个最有可能的token,然后将该预测的token加入到输入序列中,并将更新后的输入序列继续输入大模型预测下一个token,这个过程叫做自回归。直到输出特殊token(如"EOS",end of sentence,专门用来控制推理何时结束)或输出长度达到阈值。
文章内容整合于网络,如有侵权,请联系删除!