大语言模型和传统AI的区别是,传统AI模型针对的特定的目标训练,只能处理特定问题。
比如会下棋的AI,图像识别,打游戏的或自然语言处理的AI模型。
自然语言处理(NLP)包含两步:自然语言理解(NLU)、自然语言生成(NLG)。
SIRI这种智能助手是统一了NLU层,用一个模型理解用户需求,然后将需求分配给特定AI模型处理,通过NLG向用户反馈。
传统AI的问题是,用户每次遇到的新场景,都需要训练相应的模型。
大语言模型(如GPT)采用不同的策略,实现NLG层的统一。
秉承着大力出奇迹的理念,将海量知识融入到一个统一的模型中,而不是针对每个特定任务分别训练模型,使得AI解决多类型的能力大大增强。
GPT如何实现NLG的
AI本质上是个逆概率问题,GPT的自然语言生成,是一个基于概率的文字接龙。
GPT模型简单理解,是一个拥有千亿参数的函数,当用户输入时(prompt),模型会执行以下步骤:
这种方法,使得GPT模型根据用户提示,生成连贯、合理的回复,从而实现自然语言处理的任务。
GPT不仅能理解用户当前的问题,还能基于前文理解问题背景。
这得益于Transformer架构中的自注意力机制。
该机制可以使得GPT捕捉长文中的依赖关系。
GPT在进行文字接龙时,不仅给予用户输入的prompt,还会将之前多轮对话中的prompt和回复,作为输入参数。
这个参数的长度是有限的,对GPT3.5来说,限制为4096个tokens,对GPT4来说,扩展到3.2w个tokens。
GPT之所以达到这样的效果,主要分三步:
其中自监督学习最为关键,也是大模型的核心能力。
首先训练的数据量很大,GPT3的训练数据源为互联网各种精选信息及经典书籍,达到了45TB,相当于一亿本书。
其次模型的参数量很大,参数是神经网络中的术语,用于捕捉数据中的规律和特征,宣称的百亿、千亿参数,对应的是模型的参数量。
大模型的参数量是为了利用涌现,实现量变引起质变。
参数量的增加对提高模型表现有重要意义。
实验揭示,只有当模型参数达到千亿级别时,大模型的优势才得以凸显。
主流观点对于参数规模的理解是,完成一个任务,实际上需要经过很多子步骤,当模型大小不足时,大语言模型无法理解或执行所有步骤,导致最终结果不正确,数千亿参数时,这种问题应对足够了。
再类比下,人和猩猩相比,人类脑容量比猩猩大3倍,这种差异使得人类能够进行复杂的思考、沟通、创造。
GPT4相较于GPT3.5、GPT3更聪明,也和这种参数大小有关。
GPT虽然看起来已经非常聪明了,但它也有一些局限性。
首先GPT模型的回答,本质上是基于概率的。
也就是说作为确定的输入prompt,GPT的回复可能具有一定的随机性。
ChatGPT的主要场景还是聊天,信息的不精确影响不大,但很多真实的工业场景,对于准确性要求要很高。
GPT因为自注意力机制,可以进行多轮对话,但这个记忆力也是有限的,比如GPT3.5支持向前追溯4096个tokens,好在GPT4的上下文tokens已经扩展到了3.2w个,一定程度上缓解了这个问题。
GPT背后需要消耗很大的算力,需要高端GPU和大量电力,但随着规模化应用和半导体制程的升级,这部分成本属于一次性投入。
用过ChatGPT的都知道,它的回答是逐词回复的,所以在工业化落地上,要避免用户急切得到信息的场景,选择用户等得起的场景。
再来看看GPT未来的应用场景。
首先最简单的场景是聊天场景,各种机器人、场景化的问答都可以做,但不同场景需要做好限定词约束,通过限定词约束+大量特定领域知识的微调,使得GPT可以基于某一类身份回答特定类型的问题,也就是常说的专业小模型,比如智能客服、心理咨询、法律咨询场景比较合适。
还有一类是文字处理类,比如生成文档模版,文档提示词、文章内容提炼、润色等。
还有一类是翻译,因为GPT学习了大量语言,具备了跨语言的能力,任何语言和它都可以轻松的交流,翻译对它来说非常轻松。
还有就是推理能力,利用GPT来理解人类意图,结合prompt与公司内网的资料库、知识库进行整合。
让GPT更好的发挥作用,工程实践角度可以从三个部分入手:
第一,通过摸索,找到最优的提示词模板,预留特定槽位以供用户输入,许多基于GPT的产品,底层就是基于特定提示词的包装。
好的提示词包含角色、背景、GPT需要执行的任务和标注输出等,可以让GPT3.5的效果从30%提升到80%以上。
第二,搭建自己的知识库,使用embedding技术向量化,这样GPT就能基于自有数据进行问答。
第三,通过微调自己的私有化小模型,来回答某类问题,优势是prompt转化为私有模型的长期记忆,从而释放宝贵的token以完善prompt其他的细节。