2022 年末 OpenAI 发布 GPT-3.5 以来,国内外已经涌现了不少智能模型和衍生应用。但长期以来,LLM 作为一个基于概率预测的生成式语言模型,其存在的幻觉问题一直是人们关注的焦点。幻觉问题造成的影响之大,以至于有人将生成式 AI 视作垃圾。
在本篇文章,我们将细节了解LLM,Large Language Model,大语言模型,所用到背后的技术和其局限性。这些关于 ChatGPT** 中“G”、“P”和“T”的早期研究对现代深度学习产生了广泛而深远的影响。了解这些背后的原理,可以帮助我们更好地运用和开发LLM的能力和应用。
在文章之前,先提问大家两个问题:
一、LLM训练过程中,是数据更重要还是算力更重要?
二、LLM训练过程中,是预训练阶段更重要还是微调SFT**阶段更重要?
答案会在文章末尾解答,希望大家能在文章中得到收获。
LLM的两种类型
基础LLM(Base LLM) :
基础LLM是根据文本训练数据来预测下一个词的,通常是在互联网和其他来源的大量数据上进行训练,以确定下一个最可能出现的词是什么。
一般开源的大模型,例如Llama3,Qwen2,其中Llama3-8B,Qwen2-7B就是基础LLM。
指令微调LLM(Instruction Tuned LLM) :
也叫对话型LLM(Chat LLM) ,指令微调LLM,已经被训练得能够遵循指令。在指令上进行微调(Fine-tune),能在某些指令上有更好地表现。指令微调的LLM的典型训练方式是从一个在大量文本数据上训练过的基础LLM开始,然后进一步训练它,用输入和输出来进一步微调它。
因为经过指令调整的LLM已经经过训练,以提供帮助、诚实和无害的输出(Helpful,Honest,Harmless),所以与基础LLM相比,它们更不可能生成有问题的文本,如有毒输出,因此许多实际应用场景已经转向使用经过指令调整的LLM。
例如Llama3,Qwen2,其中Llama3-8B-Instruct,Qwen2-7B-Instruct就是指令微调LLM。
LLM的训练过程
一般大模型的训练过程(Training),一般会分为两个阶段。
第一个阶段是,Pre-Training,预训练阶段:
这个阶段,主要采用的是自监督(属于无监督学习的一种)的机器学习方式,通过对大规模文本语料数据,先进行分词处理(Tokenization**),再将分词的结果映射到稠密向量的表示(Embedding),经过Transformer框架的多层神经网络结构,使得模型能够学习各种信息(例如单词、短句以及文章),以捕获其语义信息。通过在海量通用数据上进行预先训练,能大幅提升AI的泛化性、通用性、实用性。
这个阶段得到的就是基础LLM,这样的大模型就能完成”成语接龙“,文本续写的任务了。通过输入的提示字段,捕获输入中的语义信息,从而预测生成下一个词,这里的词一般被称为Token,也可以理解为词元,一种构成的最小单位。
第二个阶段是,Fine-Tuning,微调阶段:
微调阶段,可以准备一些特定任务的有标签的数据,也称监督数据SFT,通常的表现形式是一问一答成对的数据格式,可以参考文章《中文Llama3和其数据语料调研》。通过在下游特定任务的监督数据上微调基础LLM,实现模型在对话问答,指令遵循等特定任务上的迁移学习,属于有监督学习的一种。
也可以通过奖励建模和强化学习,其中最具代表性的就是RLHF**(Reinforcement Learning whith Human Feedback)从人类反馈中进行强化学习,使用RLHF技术进一步完善了LLM能力,以使LLM能够更好地提供帮助并遵循指令。
这个阶段得到的就是指令微调LLM,指令微调LLM,一般能够更好地理解我们的指令提示,更好地完成我们的实际任务。
大语言模型,例如百度文心一言,阿里的通义千问,科大讯飞的星火大模型,一般使用的技术架构都是OpenAI的ChatGPT中的GPT,即Generative Pre-trained Transformer
,生成式预训练Transformer框架大模型。
根据我们之前的文章《认识大模型和生成式AI和其常见误解》,我们知道,这是人工智能领域,机器学习学科,深度学习技术下面的一种技术架构。
也正是由于其技术架构的原因,LLM也有其局限性。
Generative生成式
GPT的生成式模型,是属于一种自回归模型(Autoregressive model),一般是通过输入的提示词,然后预测下一个token词,通过模型不断预测和输出token,直到输出到结束符号<END>
结束,完成对提示词的回答。
自回归模型能做的事情其实和猜单词类似。
这个就造成了如下问题:
1、LLM不具备反思和修订能力。
例如,向LLM提问,请说一段话,恰好包含10个汉字
,这个要求对于人类来说,非常简单,但是对于LLM却无法有效回答。
但是LLM是识数的,如果这样问他,
2、LLM原生是不具有记忆的
一般我们和Chatbot聊天的时候,例如ChatGPT,文心一言bot,这些聊天机器人貌似有记忆,知道我们之前的聊天的内容。
但其实这个聊天机器人,将我们之前所有的对话记录,都作为输入的提示词,才带来了LLM貌似有记忆的假象。一般解决LLM的记忆问题,都是通过外挂存储的方式,将上下文信息和记忆关系先存储起来。属于一种Agent智能体技术。
Pretrained预训练
由于LLM是通过海量的数据语料,通过获取数据中的规律和关系,是对数据的一种有损压缩。
一旦训练过程结束,LLM所获取的知识和认知都固定下来了。
这样会带来如下问题:
1、被很多人诟病的“幻觉”问题。
由于受到训练数据和有损压缩的影响,LLM并不是全知全能的,往往对一些专业性强的知识,特定知识问题,LLM并不了解,但是却依旧一本正经的胡说八道,例如ChatGPT刚出来,问一些关于中国名人的问题,由于GPT3.5的语料不足问题,回答看似正确,但实则胡说八道,这就是“幻觉”问题。
其实《赠孟浩然》是李白的作品,GPT3.5是不知道的,他在一本正经的胡说八道。
解决“幻觉”问题,一般的方案,是外挂知识库。针对专业性强的知识,特定知识问题,通过检索外挂知识库,让LLM在检索的信息上进行有依据问答,避免胡编乱造,出现的“幻觉”问题。
2、LLM不能直接与外部环境交互。
LLM不能直接访问外部环境的信息,比如并不知道最新发生的热点和新闻,不会浏览网页,例如GPT3.5就不会使用工具去搜索最新的知识。
但是我们可以通过Agent智能体技术,利用FunctionCalling和工具使用模块,让LLM具备这样的功能,这就是之前OpenAI推出的Plugin**插件系统所干的事情。目前主流的Chatbot都具备联网搜索资料的能力。
Transformer框架
由于目前LLM都是采用Transformer框架,采用自注意力和多头注意力机制,发现输入文本之间的上下文关系并发现其中的规律。
这就会导致随着输入文本数据的增多,例如长上下文,也就是我们说的Token窗口大小,如果过多,模型的推理占用的资源和能耗将大幅增加,这非常不环保。LLM所占用资源和输入文本不是一种线形增长的关系。
这样会带来以下问题:
1、LLM训练和推理过程,都占用了大量的资源。
尽管LLM功能强大,但是它们也存在一些明显的缺陷。首先,训练LLM需要大量的数据,其参数可达到十亿乃至数万亿,这让训练过程变得极其耗费资源。同时,训练和运行LLM所需的计算力和能源消耗也是极为惊人的,由此带来的高昂成本使得小公司或个人难以参与到核心LLM的开发中。
OpenAI CEO Sam Altman 在去年的 MIT 一次活动中提到,仅训练 GPT-4 的成本就至少需要 1 亿美元。
2、LLM在推理过程中,受到Token输入窗口大小的限制。
如果输入的文本内容过长,或者对话聊天过长,会导致LLM的处理缓慢或者无法处理。
框架自身的局限性,目前解决方案,就是选用更优秀的框架和算法机制,最新的大模型训练方法,例如Mamba,TTT,都引来广泛的讨论,都是要推翻Transformer,一统江湖的豪情壮志。
总结一下目前GPT的局限性
虽然LLM,大语言模型带来的能力,例如:
- 生成创作(商业文案,营销方案,英文写作,新闻通稿)
- 语言理解(机器翻译,摘要生成,语法检查,情感分析)
- 上下文对话(情境对话,生成对话,对话记忆,任务对话)
- 角色扮演(名人角色,职业角色,虚拟角色,非人类)
- 知识百科(历史地理,科学技术,文化娱乐,社会人文)
- 逻辑推理(常识推理,条件推理,思维推理,决策推理)
- 数学解答(代数计算,应用题,概率统计,微积分)
- 代码能力 (代码生成,代码解释,代码纠错,单元测试)
都是令人惊艳的表现,这些能力都具有广泛的应用前景,让每一位开发者和AI使用者都充满期待,但是其自生具有的局限性,也需要我们时常注意。在日常开发和使用中,需要使用合适的解决方案进行规避。
- 幻觉问题:所有的AI模型的底层原理都是基于数学概率,其模型输出实质上是一系列数值运算,大模型也不例外,所以它有时候会一本正经地胡说八道,尤其是在大模型自身不具备某一方面的知识或不擅长的场景。而这种幻觉问题的区分是比较困难的,因为它要求使用者自身具备相应领域的知识。
- 知识的局限性:模型知识的广度获取严重依赖于训练数据集的广度,目前市面上大多数的大模型的训练集来源于网络公开数据集,对于一些内部数据、特定领域或高度专业化的知识,无从学习。
- 知识的滞后性:模型知识的获取是通过使用训练数据集训练获取的,模型训练后产生的一些新知识,模型是无法学习的,而大模型训练成本极高,不可能经常为了弥补知识而进行模型训练。
- 偏见和有害输出问题:由于其训练数据的不足和数据有害的污染,会导致大模型输出带有偏见和有害的内容,例如脏话,抄袭,歧视。大模型也可能会被通过越狱,诱导等方式输出有害内容。这都需要严格的数据监管和微调对齐。
- 没有反思和修订的能力,是自回归模型。
- 没有记忆模块,需要Agent智能体技术的支持。
- 没有工具使用的能力,需要Agent智能体技术的支持。
- 大模型的训练和推理过程,都需要占用大量资源,有token窗口的大小限制。
LLM中两个更重要
这两个问题,应该是认识LLM的基础问题。
一、LLM训练过程中,是数据更重要还是算力更重要?
现在人工智能领域,模型训练,都是由数据驱动的研究训练。海量和优质的数据准备和处理,是最重要的事情。可以理解为数据工程和数据科学。
二、LLM训练过程中,是预训练阶段更重要还是微调SFT阶段更重要?
LLM训练过程的两个阶段,预训练阶段和微调阶段,预训练是让模型具备了解海量语料数据之间潜在联系和规律的关键阶段,也是消耗资源最多的阶段,也是需要更先进算法和机制的阶段,所以预训练阶段更重要。
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为
等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、LLM大模型系列视频教程
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料
包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓