一文探秘 LLM 微调应用范式(基础篇)
  JzMxAcNPvSgV 2023年11月25日 18 0

缺乏专有数据怎么办?训练成本高怎么办?垂直场景效果不好怎么办?最近和大模型一起爆火的,还有大模型的微调方法。这类方法只用更少的数据,就能让大模型在原本表现没那么好的下游任务中“脱颖而出”,成为这个任务的专家。

一文探秘 LLM 微调应用范式(基础篇)_数据

为了方便大家了解 LLM(大语言模型)开发和微调经验,熟悉 LLM 开发范式,吸引更多的开发和使用者参与到 LLM 开发应用中来,趣丸科技技术团队的算法专家们也结合实战总结了一些探索经验,形成系列科普文章。

该系列文章将从 LLM 基础、LLM 微调方式、模型压缩、数据质量处理、微调应用范式、模型评测和实战应用几个部分循序渐进进行展开。本篇文章是一篇基础介绍总览,首先带领大家系统地了解 LLM。


本文大纲

  1. LLM 的演进历史
  2. LLM 的训练方法
  3. LLM 的主流框架
  4. LLM 的预训练、泛化和推理
  5. LLM 微调的意义



LLM 的演进历史


一文探秘 LLM 微调应用范式(基础篇)_语言模型_02

在大模型时代,产生了与过去不同的机器学习范式。在过去,我们想要构建一个机器学习应用,需要机器学习专家收集大量的场景内训练样本、针对具体任务进行训练和部署。在大模型时代,我们可以:

1、与“基座模型”直接交互来完成具体任务;

2、用任务的少量样本微调适配参数,基于共享基座+每个任务的轻量适配参数进行联合部署。

说到“基座模型”就不得不提大语言模型的演进历史,具体时间和对应技术如下图所示:

一文探秘 LLM 微调应用范式(基础篇)_泛化_03


LLM 的训练方法

大语言模型(Large Language Models, LLM)或者说基座模型/基础模型(Foundation Models, FM)是孕育新时代应用范式的基础,也是开拓应用场景的核心。这些大模型是如何训练得到的呢?

一文探秘 LLM 微调应用范式(基础篇)_泛化_04

模型结构上

主流的 LLM 都基于 transformers 网络结构。其中 Decoder-only transformers 结构在 LLM 的工作中逐步“一统江湖”。此前 encoder-decoder 结构的 T5 / mT5;encoder-only 结构的 BERT / roberta 等工作及其诸多变体,是预训练时代的主流选择;而在大模型时代,OpenAI 笃信的 Decoder-only 结构取得了更优的效果,对于这一结构的优劣也众说纷纭,但就目前已知的模型效果来看,Decoder-only 结构的效果还是全面占优。

训练数据上

LLM 的诞生除了大家熟知的预训练 (pre-training) 工作,预训练后的指令微调 (instruction tuning) 工作对于 LLM 能力的激发也至关重要。

预训练阶段:使用海量、多样、高质量的文本或多媒体数据来训练模型的续写能力;

指令微调阶段:使用多样的人类校准的指令数据来 finetune 模型,进一步强化和激发模型响应人类指令的能力。

训练方法上

成功的 LLM 训练离不开硬件、框架和训练算法的有机配合。其中强化学习算法,尤其是主流的基于人类反馈的强化学习(RLHF)有助于对效果进一步的增强,包括缓解“幻觉”、“无中生有”现象、生成更翔实和中立的答案,提升指令遵循的程度等。


LLM 的主流框架

一文探秘 LLM 微调应用范式(基础篇)_数据_05

首先,我们可以将 LLM 分成 2 类:Encoder-Decoder(或者 Encoder-Only)和 Decoder-Only。它们的技术特点和模型代表如下:

一文探秘 LLM 微调应用范式(基础篇)_泛化_06

从上图中我们就能清楚发现,自回归语言模型在最近发布的模型中都是十分流行的,且枝繁叶茂。接下来我们一起看一下上图的细节,这些细节是我们理解 LLM 的金钥匙。

首先红色的分支是指 Encoder-Only 技术,最早是 BERT 模型,显然,到了 2020 年之后,这类技术基本已经不再发展。

中间绿色部分是 Encoder-Decoder 类型,近几年似乎也就是 Google 坚持这类路线的模型较多。Encoder-Decoder 模型相比 Encoder-Only 模型,通常具有更强的序列学习和生成能力,尤其擅长实现输入序列到输出序列的结构映射,所以在机器翻译、文摘生成和聊天机器人等任务上有更好的应用前景。但 Encoder-Only 的模型结构简单, training 和 inference 速度更快,在一些简单分类或标注任务上也具有优势。

最后一类是 Decoder-Only 类型,也是最繁荣发展的一类 transformer 模型。最早是 GPT-1 提出,此后包括 MetaAI、百度、Google、OpenAI、EleutherAI 等公司都提出了这种架构的模型。

Decoder-only 模型仅具有解码器部分,没有编码器部分。Decoder-only 模型相比 Encoder-Decoder 模型有以下主要优势:

1、结构简单,训练和推理速度快。由于没有 Encoder 部分,整个模型的参数和运算量都减少了一半以上,这使得 Decoder-only 模型训练和部署起来更加高效。

2、适用于纯生成任务。Decoder-only 模型专注于生成输出序列,而不需要考虑编码输入信息的问题,所以更适用于如剧本生成、情节生成和对话生成等纯生成任务。

3、避免了 Encoder-Decoder 训练中的一些难点。仅训练一个 Decoder 可以避免诸如不同权重初始化、信息瓶颈等 Encoder-Decoder 训练过程中的一些难题。

4、Decoder 自我监督。在 Decoder-only 模型的训练中,上一步生成的输出作为下一步的输入,这实现了 Decoder 部分的自我监督,有利于生成更为连贯和结构性的输出序列。

下图是按公司进行 LLM 架构的演进梳理:

一文探秘 LLM 微调应用范式(基础篇)_泛化_07


LLM 的预训练、泛化和推理

看到这里,也许你想看到更通俗易懂的 LLM 概述。它到底是什么?它是怎么学到知识的?

大模型为什么会有知识?

在预训练阶段,大模型“饱读诗书”,积累了海量的世界知识,尽管他没行万里路,但确确实实读了万卷书。古人云“读书破万卷,下笔如有神”,LLM 恰如其分的阐释了 1000 多年前杜甫的预言。

随着强劲 GPU 硬件的支持,从 GPT 到 GPT-3 的演化中,也主要是预训练的变化:数据量扩大 400 倍,模型参数扩大 1500 倍,更大的模型记忆了更多的基础知识。我们也发现大模型在训练过程中展现出了极强的记忆力,一个合理训练的大模型,即使对于小众知识也能达到“过目不忘”的效果。

大模型为什么能“泛化”?

近期大量研究表明,仅仅预训练过后,大模型并没有展现出很强的通用能力,打个不恰当的比喻,此时的大模型基本是读了本科,没针对特定方向读研,所以覆盖广但不精通。

然而在指令微调(Instruction Tuning)阶段,通过成千上万个人类校准过的不同种类的指令对模型进行精调(finetune),可以激发出模型在一些没有见过的新任务上的表现,这也是经常被说到的智能涌现,好像是“踏破铁鞋无觅处,得来全不费工夫”这种境界。

*泛化是指模型在面对未见过的新数据(也就是不包含在训练集中的数据)时的表现能力。

大模型为什么能“推理”?

对于语言模型的推理(inference)能力,目前仍然有一些众说纷纭,也有观点是基于语言模型的推理无法逃脱“照猫画虎”的范畴。但至少我们看到,当前的一些模型具备了“看似推理”的解决问题的能力,比如可以针对较为复杂的问题一步步求解,形成完备的思维过程。

普遍观点认为 LLM 的“推理”能力来自于:

1)预训练阶段“代码训练”的引入,似乎增强了推理类任务的最终效果;

2)精调阶段“思维链指令”的引入,可以激发模型“一步步思考”的能力。

这里大家常说的“思维链 COT(Chain of thought)”的效果,个人认为本质是由于 Causal LM 建模 next-token prediction 的条件概率时,直接生成 final answer P(Answer | Question) 难度较大,而强制先生成推导步骤后生成结论时,生成结论的条件概率可以基于前面的推导步骤从而有更多的参考依据、更易于生成正确的答案:P(Answer | Reasoning,Question)P(Reasoning | Question)。


LLM 微调的意义

LLM 大模型(比如:chatgpt/gpt-4.0 / gpt-4.0 turbo/)已经很强大了,为什么还需要微调?主要有如下 4 点原因:

第一、缺乏专有数据,比如:企业内部的私有数据。

第二、缺乏最新数据,比如:GPT-4 的训练数据截止到2021年9月。

第三、预训练成本高,比如:GPT-3 预训练成本为140万美金。

第四、提升数据安全性,比如:企业私有数据是不能传递给第三方大模型的,基于开源大模型的微调才能满足业务的需求。

了解了 LLM 的历史演进、训练思路以及微调的意义,在接下来的文章中,将继续带领大家了解 LLM 微调的模型/工具/数据实操评测,不要错过哦~


感兴趣的小伙伴欢迎在评论区留言~

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月25日 0

暂无评论

推荐阅读
JzMxAcNPvSgV