LLM的基础概念与技术背景
随着人工智能的发展,**大语言模型(LLM,Large Language Model)**已成为自然语言处理(NLP)领域的核心技术之一。LLM指拥有亿级甚至百亿级参数的大规模神经网络模型,能够在广泛的语言任务中表现出色。要理解LLM的崛起,需要回顾NLP的演进历程以及Transformer架构的引入。
NLP的历史演进与LLM的发展
早期的NLP主要依赖规则和统计方法。从20世纪50年代的机器翻译尝试到60年代的ELIZA聊天机器人,研究者尝试让机器理解和生成语言。其中,1960年代MIT的Joseph Weizenbaum开发的ELIZA可以看作首个聊天机器人,开启了NLP的探索 (The history, timeline, and future of LLMs)。此后几十年,模式匹配和统计语言模型逐渐兴起。例如,1990年代盛行 n n n元语法和隐马尔可夫模型,能够通过统计方法对文本进行概率建模。
神经网络的引入为NLP带来了新阶段。1997年提出的长短期记忆网络(LSTM)提升了模型对长距离依赖的处理能力 (The history, timeline, and future of LLMs)。2013年前后,Google提出Word2Vec算法,将单词映射为密集向量(embedding),捕捉语义关系,实现了分布式词表示的突破。这些词向量是静态的,例如“bank”一词无论表示银行还是河岸,其Word2Vec向量都相同 (Google’s USER-LLM: User Embeddings for Personalizing LLMs, & Why SEOs Should Care (Maybe) - Ethan Lazuk) (Google’s USER-LLM: User Embeddings for Personalizing LLMs, & Why SEOs Should Care (Maybe) - Ethan Lazuk)。不过这为后续动态上下文敏感的表示(如BERT)奠定了基础。
2017年Transformer的出现是革命性时刻。Vaswani等人在论文《Attention Is All You Need》中提出Transformer,彻底改变了序列建模的方法。Transformer基于自注意力机制(self-attention),抛弃了循环网络,实现了并行计算。它可以在编码器-解码器架构中高效建模长序列关系,捕获单词之间的深层依赖。这一突破标志NLP进入预训练语言模型时代 (The history, timeline, and future of LLMs) (The history, timeline, and future of LLMs)。
Transformer使越来越大的预训练模型成为可能。GPT系列和BERT系列几乎同时诞生:2018年6月OpenAI发布了GPT-1(1.17亿参数) (Timeline and Evolution of NLP Large Language Models: From GPT-1 to Claude 2 and Beyond),同年10月Google发布了BERT(3.4亿参数) (Timeline and Evolution of NLP Large Language Models: From GPT-1 to Claude 2 and Beyond)。BERT通过双向编码和遮蔽语言模型任务预训练,善于理解上下文语义,被用于问答、分类等理解类任务。GPT则采用单向解码、下一个词预测的自回归预训练,擅长根据前文生成续写,适用于生成类任务。研究发现,随着参数规模增长,预训练语言模型开始具备零样本和小样本学习能力 ([2005.14165] Language Models are Few-Shot Learners) 。
模型规模的跃升在2019-2020年尤为迅猛:OpenAI在2019年推出GPT-2(15亿参数),比GPT-1大10倍,在生成连贯文本方面首次媲美人类 (Timeline and Evolution of NLP Large Language Models: From GPT-1 to Claude 2 and Beyond)。2020年GPT-3横空出世,参数达到1750亿,通过提供几个示例即可Few-Shot完成翻译、问答等任务,性能接近经过大规模监督微调的模型 。GPT-3的成功表明:通用大模型 + 少量提示可以解决多种任务,人类只需设计提示而无需为每个任务训练专门模型 。由此掀起了构建更大模型的热潮。
进入通用对话时代:2022年底,基于GPT-3.5的ChatGPT面世,引爆公众视野。借助Instruction Tuning和人类反馈强化学习(RLHF),ChatGPT能够更好地遵循用户指令,进行多轮对话。这使得非技术用户也能通过自然语言与LLM互动,从写作助手到代码生成各方面展示了前所未有的实用性 (The history, timeline, and future of LLMs) (The history, timeline, and future of LLMs)。2023年更是大模型竞相发展的年份:OpenAI发布了多模态的GPT-4,据报道参数量达数万亿级别 (Timeline and Evolution of NLP Large Language Models: From GPT-1 to Claude 2 and Beyond)(具体参数未公开),具备图像识别和更强推理能力,甚至能够通过律师资格考试等标准化测试 (The history, timeline, and future of LLMs)。Google推出了PaLM 2和多模态对话模型Bard;Anthropic发布了强调安全性的Claude,支持长上下文;Meta开放了LLaMA系列模型权重,催生出丰富的开源衍生模型。可以说,LLM发展一日千里,模型规模、能力和可用性都在不断刷新。
Transformer架构解析
Transformer是支撑现代LLM的核心架构,其关键创新在于自注意力机制。与RNN按序处理不同,Transformer通过自注意力可以并行地建模序列中任意两个位置的依赖。Transformer基本由**编码器(encoder)和解码器(decoder)**堆叠组成(如GPT系列只用解码器堆叠,BERT只用编码器堆叠,T5则编码器-解码器都有)。下面我们解析其主要组件:
-
Embedding层:首先,将输入的词转换为向量表示(词嵌入)。Transformer还通过**位置编码(Positional Encoding)**注入序列位置信息,使模型感知词序。
-
自注意力层(Self-Attention):这是Transformer的核心。对于输入序列的每个位置,计算它对序列中其他位置的注意力权重,以捕获关联程度。给定查询矩阵 Q Q Q、键矩阵 K K K、值矩阵 V V V,每个位置的输出是所有值的加权和,权重由查询和键的相似度通过softmax计算决定。其数学形式为:
Attention ( Q , K , V ) = softmax ( Q K T d k ) V , \text{Attention}(Q, K, V) = \text{softmax}\!\Big(\frac{Q K^T}{\sqrt{d_k}}\Big) V, Attention(Q,K,V)=softmax(dkQKT)V,
其中 d k d_k dk是键向量的维度 ([2201.11903] Chain-of-Thought Prompting Elicits Reasoning in Large Language Models)。注意力机制的含义是:通过点积比较当前词的查询和每个词的键,得到相关性分布,从而聚合上下文信息 。Transformer使用多头注意力(Multi-Head Attention),将 Q , K , V Q,K,V Q,K,V分成多组头并行计算注意力,以学习不同关系的信息,然后将各头结果拼接。这提高了模型表达不同语义关系的能力。
-
前馈网络(Feed-Forward Network):在注意力层之后,每个编码器/解码器层还有一个逐位置的前馈全连接网络,用于进一步非线性变换。典型设置是两层线性层,中间有ReLU激活,将维度先升高再降回原维度。
-
残差连接和Layer Norm:每个子层(注意力或前馈)都通过残差连接叠加输入,并进行层归一化,确保梯度稳定和训练收敛。
在编码器-解码器交互中,解码器还对编码器输出执行跨注意力(Encoder-Decoder Attention),让解码器在生成每个词时“关注”源序列的相关部分。解码时通过掩码机制确保模型只能看见以前的输出,避免信息泄露。Transformer的并行化、自注意力使其在长距离依赖、上下文建模上远超RNN。其深度堆叠的自注意力层可以捕获句法和语义的各种关系,是LLM强大性能的基础 (The history, timeline, and future of LLMs)。
Transformer架构也催生出很多变体和改进。例如,针对长文档的高效注意力(如稀疏注意力、滑动窗口注意力等)提高了长上下文处理能力。在最新模型中,一些采用ALiBi、RoPE等位置编码来更好扩展上下文长度。而像GPT-4等还融合了多模态编码模块,使图像等非文本输入能够通过适当的编码器接入Transformer架构,从而实现跨模态任务。
总的来说,Transformer提供了一个高度模块化且可扩展的框架。通过不断增加层数和参数量,以及引入更好的训练策略,Transformer架构支撑的LLM展现了惊人的语言理解与生成能力。正如有研究指出,Transformer使得更大的模型带来更优性能成为常态,这推动了参数规模的指数级增长 (The history, timeline, and future of LLMs)。不过,也有研究尝试在架构和训练方式上优化,以更小规模实现高性能,例如DeepMind的RETRO模型通过引入检索机制,性能超过了大25倍的模型 (The history, timeline, and future of LLMs)。这些探索意味着Transformer架构仍有改进空间,为未来LLM的发展指明了方向。
主要模型的对比分析 (GPT、BERT、T5、LLaMA等)
当前LLM大家族中,有几类具有代表性的模型架构,各有侧重和优势:
-
GPT系列(Generative Pre-trained Transformer):代表为GPT-2、GPT-3、GPT-4等,采用仅解码器的Transformer架构,使用自回归语言建模(根据前文预测下一个词)进行预训练。GPT系列重在文本生成,能够根据提示产生连贯的续写或对话。在微调或强化学习指导下,GPT还可执行摘要、翻译、代码生成等任务。其特点是单向上下文:每个词只能注意之前的词,适合生成场景,但可能在理解全局上下文时略逊。不过GPT-3通过超大规模和灵活的提示设计,展现了惊人的Few-Shot学习能力,在无需梯度更新情况下解决了多种NLP任务 。GPT-4进一步引入了图像输入(多模态)并提高了推理能力,例如它能通过多项专业考试 (The history, timeline, and future of LLMs)。GPT系列是典型的生成型LLM,也是现今对话AI的核心。
-
BERT系列(Bidirectional Encoder Representations from Transformers):代表为BERT-base/large、RoBERTa、ALBERT等,采用仅编码器的Transformer架构,预训练任务为掩蔽语言模型(Mask部分词预测)和下一句预测等。BERT是双向上下文模型,可以同时利用句子左侧和右侧的上下文来预测被遮蔽的词,从而学习到高质量的语义表示 (The history, timeline, and future of LLMs) (The history, timeline, and future of LLMs)。BERT非常擅长理解类任务,如句子分类、阅读理解和命名实体识别。实际上在BERT提出后,它迅速成为各种NLP基准的顶尖模型,并被Google用于搜索引擎理解查询意图 (The history, timeline, and future of LLMs)。BERT的缺点是不能直接用于文本生成(因为没有解码器),需要通过其他策略(如将BERT表示送入单独的生成模块)才能生成文本。总体而言,BERT类模型体现了预训练-微调范式在理解任务上的成功。
-
T5(Text-to-Text Transfer Transformer):由Google在2019年提出,采用编码器-解码器结构,将所有任务统一表示为文本到文本的转换。T5在预训练时使用了填空式语言建模(Span Corruption,即随机遮蔽一个文本片段,由模型生成填补) 。这种策略结合了BERT的双向编码能力和GPT的文本生成能力。T5的设计理念是**“文本到文本”统一框架**:无论翻译、摘要还是分类,都转换为给定输入文本让模型输出目标文本。例如,对于分类任务,可让模型输出标签对应的单词。这一统一使T5能够多任务训练,并方便地适配新任务。T5在GLUE等多个基准上取得SOTA效果,同时保留了生成的灵活性,是通用性很强的LLM。
-
LLaMA系列:这是Meta(Facebook)在2023年开放的模型系列(LLaMA 1和LLaMA 2)。LLaMA采用与GPT类似的解码器Transformer架构,但通过优化训练策略和数据,在较小参数量下达到了接近更大型号的性能。例如LLaMA 2提供7亿到70亿规模的模型,开放研究社区可以获取权重进行微调。LLaMA的一个重大影响在于开源生态:研究者基于LLaMA开发了许多微调版本,如Alpaca、Vicuna等,用于聊天、编程等特定领域。这极大地推动了LLM民主化。有报告显示,LLaMA 2 13B的性能与GPT-3 175B相当,而最新的开源模型Mistral 7B更是在多数基准上显著超越了LLaMA 2的13B模型 (Mistral 7B | Mistral AI) (Mistral 7B | Mistral AI)。这说明通过精心的训练,即使中等规模的参数也能有卓越表现。LLaMA系列强调开放、可定制,适合企业和开发者在自己数据上二次训练,是商用私有部署的热门选择。
除了以上,还有其他类型值得一提:例如Megatron-Turing NLG(5300亿参数,曾是参数最多的模型)等超大模型,UL2这种支持多种预训练任务模式的通用模型,以及各类领域专家模型(如医药领域的BioGPT等)。总体来说,GPT、BERT、T5三类分别代表了生成、理解、以及通用序列到序列三种范式,而开源的LLaMA等模型展示了在资源受限情况下的效率突破。在实际应用中,工程师会根据任务需求选择合适的模型架构:需要自由生成长文本时多选GPT类,需要精确理解文本或提取信息时多用BERT类,而涉及复杂转换(如总结文章)往往T5这类encoder-decoder会更适合。此外,通过微调,上述模型都能定制到特定任务域中,这也是下节将讨论的重点。
大语言模型的微调与优化方法
预训练的大语言模型具有通用语言能力,但要在特定任务或领域上达到最佳性能,往往需要进行**微调(fine-tuning)或其他参数高效的调整方法。随着模型规模变得极其庞大,传统的完全微调(调节所有参数)变得成本高昂,业界提出了许多参数高效微调(PEFT)**技术。下面我们详细介绍常见的微调与优化方法,包括LoRA、P-Tuning、Adapter等,并讨论任务定制策略、数据增强和数据清洗等实践。
常见微调技术综述
1. 全参数微调(Full Fine-Tuning):这是经典做法,即在预训练模型基础上,用少量任务数据对所有模型参数继续训练,使模型适应新任务。这种方法在模型较小(如几千万参数)时可行,但对数十亿参数的LLM来说,每个任务都调节全部参数既耗时又需要巨大的内存和算力 ([2106.09685] LoRA: Low-Rank Adaptation of Large Language Models)。例如微调一个1750亿参数的GPT-3,不仅GPU显存消耗巨大,部署每个任务专属模型也非常昂贵 。因此,全参数微调虽能取得较好效果,但在LLM时代已不太实际,取而代之的是各种参数高效微调手段。
2. Adapter 模块:由Houlsby等人在2019年提出 ([1902.00751] Parameter-Efficient Transfer Learning for NLP)。Adapter是在模型每一层添加一个小型的瓶颈层(通常是先降维再升维的两层MLP),预训练模型的原有权重被冻结不变,仅训练这些新增模块的参数 。这样,每个任务只需存储少量Adapter参数,不同任务各自的Adapter模块可以在需要时插入模型。研究表明,Adapter微调在GLUE等基准上几乎不损失性能(仅比全微调差0.4%),却只需要训练增加约3.6%的参数 。Adapter的优点是高效且模块化: