DeepSeek特点
这里介绍了 DeepSeek 的多个特点。一是模型训练时将文本进行 token 化处理,导致其理解文本的方式与人类存在差异。二是模型知识存在截止时间,但可通过联网搜索等手段加以突破。三是模型缺乏自我认知。四是记忆能力有限,其上下文长度也受到一定限制。五是输出长度有限,处理长任务时需要采用特定的方法。
特点1:大模型在训练过程中会对内容进行token化,大模型所看到和理解的世界与你不一样。
在理解模型行为之前,我们有必要了解它到底是如何 “学习” 的。大型语言模型的预训练,归根结底是让模型去把握文本片段之间的关联模式。为此,所有用于训练的数据,涵盖了书籍、网页、对话记录等,都会经历特殊的处理流程:先是将文本拆解成被称作 token 的基本单位,这些单位就像是文字的 “碎片”,紧接着再把这些 token 转换成数字编码。这般操作下来,便如同把我们日常使用的语言,经重新编码后,变成了一本仅供模型解读的 “密码本”。
在推理模型诞生之前,人们常用一个有趣的问题来测试大模型的 “智商”:单词 Strawberry 中包含几个字母 r?即便是像 GPT-4、GPT-4o 这样被认为很强大的大模型,此前也没法准确回答这个问题。这并非因为模型不够 “聪明”,而是源于其训练时的特点所致。
而所谓的 token 化,就是大模型在训练阶段,会把部分单词、中文字符予以拆分分解。例如,在 GPT3.5 和 GPT4 的训练过程中,“词” 这个汉字就被拆为两个 token,Strawberry 则被分为三个 token,即 “Str”“aw”“berry”。这种切割方式是由训练时所选用的 tokenizer 算法决定的,它也有可能将生僻词拆解为毫无意义的片段。
举这个例子是想说明,大模型眼中的世界与你眼中的世界并不相同。当你看到字母时,你看到的是连贯的字符流,而模型看到的却是经过编码的 token 序列。因此,当要求大模型数单词中的字母数量,或者精确输出特定字数的内容时,它会感到有些为难,因为它的内在机制决定了它并不擅长处理这些任务。
当然,现在的推理模型理论上可以完成我刚才提到的例子中的任务,不过你仔细观察它推理的过程,是不是会觉得它有些费劲,甚至让你感到有些于心不忍。
特点2:大模型的知识具有截止时间。
尽管DeepSeek R1于2025年1月正式发布,但其基础模型的训练数据在数月前就已停止更新。这类似于出版百科全书,从收集资料到最终印刷需要经历完整的生产周期。具体来说,存在以下三重时间限制:
(1)预训练阶段需要处理海量的PB级原始数据;
(2)数据清洗过程要进行去重、脱敏和质量验证等操作;
(3)后期还要进行监督微调、强化学习以及基于人类反馈的强化学习(RLHF)等迭代优化步骤。
这种知识的滞后性会导致大模型在信息及时性方面存在一些问题,比如DeepSeek R1目前还认为GPT-4是当前最强的模型,而对2024年后发布的如GPT-4o、Claude 3.5 Sonnet等模型一无所知;它也无法提供2024年巴黎奥运会的赛事结果,也无法告知2025年春晚或春节档电影的表现。这些现象都源于模型训练的特点,因此,当人们用类似问题询问R1时,它可能会给出不相关或过时的答案,这并不是因为R1模型本身质量差,而是如同要求一本2020年出版的《辞海》必须记载2021年的新词一样,这是知识载体固有特性的结果。
为了突破这种知识限制,可以采取以下两种方法:激活联网搜索功能,允许R1自主搜索并查找最新信息;或者在询问时,通过上传相关文档或在提示词中补充必要信息,帮助R1更好地完成具有时效性的任务。
特点3:大模型缺乏自我认知或自我意识。
DeepSeek R1或任何其他模型实际上都没有“我是谁”的概念。如果一个模型自发产生了自我认知,这可能意味着AGI(通用人工智能)的时代临近,此时我们可能需要对其保持警惕。目前,很多模型并不了解自己被称为某某模型,这种现象是正常的,除非大模型厂商在部署时在系统提示词中进行了设置,或者在预训练后使用特定的语料进行了微调。
这种缺乏自我认知的特点会引发两个主要问题:
(1)AI模型有时会产生错误的自我认知。像DeepSeek以及许多其他模型,可能会误认为自己是ChatGPT。这是因为ChatGPT发布后,大量用户将其对话内容公开在网络上。因此,当被问及“你是谁”或“who are you”时,模型出现幻觉、给出错误回答是一种常见现象。
(2)由于模型无法认识自己,你不能指望DeepSeek R1来介绍它自己的功能特点或使用技巧。这也是我在撰写这篇文章时,依然需要大量动用自己的思考能力,而不能完全依赖模型的原因。
特点4:记忆有限
多数大模型都有上下文长度的限制。DeepSeek R1目前提供的上下文长度是64k token(官方API文档说明,实际聊天对话长度待确认),对应到中文字符大概是3万~4万字。这就意味着,你不能一次给它投喂太长的文档,也不能和它进行太多轮次的对话。如果你发送的文档长度超过3万字,它会通过RAG(检索增强生成)的方式,只选取文档中的部分内容作为记忆的一部分来和你对话,而不是记住全部内容。而当你和它对话的轮次过多时,它很可能就会遗忘最初聊天的内容。这种记忆有限的问题在让AI写代码时会特别明显,因为代码通常需要前后高度连贯。
特点5:输出长度有限
相比于上下文对话的输入长度,大模型的输出长度会更短。多数大模型会把输出长度控制在4k或者8k,也就是单次对话最多能给你2千~4千中文字符。所以,你不能复制一篇万字长文让DeepSeek一次性完成翻译,也不能让它一次性帮你写一篇5000字以上的文章,这些都是模型输出长度限制导致的。如果你要解决这个问题,翻译类任务可以通过多次复制,或者自己写代码调用API多次执行来完成长文甚至一本书的翻译。而长文写作类任务,比较好的做法是先让DeepSeek R1梳理框架列出提纲目录,再根据目录一步步分别生成不同阶段的内容。
