mirror of
https://github.com/dair-ai/Prompt-Engineering-Guide
synced 2024-11-10 01:13:36 +00:00
28 lines
2.4 KiB
Plaintext
28 lines
2.4 KiB
Plaintext
# 大语言模型(LLM)的标记化处理
|
||
|
||
Andrej Karpathy 最近发布了一个关于如何对大型语言模型(Large Language Model,简称 LLM)进行标记化处理的新[讲座视频](https://youtu.be/zduSFxRajkE?si=Hq_93DBE72SQt73V)。标记化是训练这类模型时的核心环节,它包括使用专属的数据集和算法(比如[字节对编码](https://en.wikipedia.org/wiki/Byte_pair_encoding))来训练标记器。
|
||
|
||
在讲座中,Karpathy 向我们展示了如何从零开始构建一个 GPT 标记器,并探讨了与标记化相关的一些异常行为。
|
||
|
||
!["LLM Tokenization"](../../img/research/tokenization.png)
|
||
|
||
|
||
*图源:https://youtu.be/zduSFxRajkE?t=6711*
|
||
以下是视频中提及的列表内容:
|
||
- 为什么大语言模型不能正确拼写单词?这是因为标记化。
|
||
- 为什么它不能执行像字符串反转这样的简单任务?同样是因为标记化。
|
||
- 为什么在处理日语等非英语语言时表现不佳?标记化的问题。
|
||
- 为什么它在简单算术方面表现糟糕?也是标记化导致的。
|
||
- GPT-2 为什么在用 Python 编码时遇到更多问题?依旧是标记化的问题。
|
||
- 当模型遇到 "\<endoftext\>" 这个字符串时为什么会突然停止?还是标记化的问题。
|
||
- 那些关于 "trailing whitespace" 的警告是什么意思?也是标记化引起的。
|
||
- 为什么询问 "SolidGoldMagikarp" 时模型会出错?同样是标记化的问题。
|
||
- 为什么在使用大语言模型时更倾向于使用 YAML 而不是 JSON?这也是标记化的问题。
|
||
- 为什么大语言模型并不是真正的端到端语言模型?原因在于标记化。
|
||
- 什么才是痛苦真正的根源?在这一点上,讲座中以幽默的方式指出,也是标记化。
|
||
|
||
为了提升大语言模型的可靠性,了解如何有效地提示模型至关重要,这包括认识到它们的局限性。虽然在模型推理时对标记器的关注不多(除了设置 `max_tokens` 参数之外),但要想进行有效的提示工程,就需要像考虑如何构建和格式化提示一样,理解标记化过程中的内在限制和约束。例如,如果提示没有达到预期效果,可能是因为模型未能正确处理或标记化某个缩写词或概念,这是一个很多开发者和研究者在开发大语言模型时容易忽视的问题。
|
||
|
||
[Tiktokenizer](https://tiktokenizer.vercel.app/) 是一个实用的标记化工具,Karpathy 在讲座中就是用它来演示的。
|
||
|