粉毛红瞳精神病美少女松坂砂糖 (@MatsuzakaSato) 在 让我们设计一个简单的大语言模型——大语言模型的基本架构 中发帖
定义词表
我们将设计以下的token id
token_id
字符表示
01
你
02
我
03
你
04
好
05
我
06
是
07
AI
08
人类
为什么“你”和“我”有两个id对应呢?其实我们可以规定01和02号token是特殊token,用来控制上下文角色。
前处理
我们先进行一段对话(虽然大多数传输协议使用json,但是这里为了便于人类理解,我使用更易读的yaml):
- 你
- 你好我是人类
我们可以看到,yaml包含了两层结构,第一层是发言的角色(role),第二层是发言的内容(content)
那么现在,使用简单地yaml解析器,我们就可以获取到这段对话的发言人是“你”,发言内容是“你好我是人类”;接下来我们要将这段文本序列转换为模型可以处理的id序列,这就需要用到分词器(tokenizer)
填回上...