什么是大模型?
大模型是指具有大规模参数和复杂计算结构的机器学习模型。这些模型通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数。大模型的设计目的是为了提高模型的表达能力和预测性能,能够处理更加复杂的任务和数据。大模型在各种领域都有广泛的应用,包括自然语言处理、计算机视觉、语音识别和推荐系统等。大模型通过训练海量数据来学习复杂的模式和特征,具有更强大的泛化能力,可以对未见过的数据做出准确的预测。
ChatGPT对大模型的解释更为通俗易懂,也更体现出类似人类的归纳和思考能力:大模型本质上是一个使用海量数据训练而成的深度神经网络模型,其巨大的数据和参数规模,实现了智能的涌现,展现出类似人类的智能。
1. 大模型的定义
大模型(Large Model)是指具有大量参数和复杂结构的机器学习模型,能够处理海量数据、完成各种复杂的任务。相比小模型,大模型通常参数较多、层数较深,具有更强的表达能力和更高的准确度,但也需要更多的计算资源和时间来训练和推理,适用于数据量较大、计算资源充足的场景,例如云端计算、高性能计算、人工智能等。
大模型与小模型的区别
小模型通常指参数较少、层数较浅的模型,它们具有轻量级、高效率、易于部署等优点,适用于数据量较小、计算资源有限的场景,例如移动端应用、嵌入式设备、物联网等。
而当模型的训练数据和参数不断扩大,直到达到一定的临界规模后,其表现出了一些未能预测的、更复杂的能力和特性,模型能够从原始训练数据中自动学习并发现新的、更高层次的特征和模式,这种能力被称为'涌现能力'。而具备涌现能力的机器学习模型就被认为是独立意义上的大模型,这也是其和小模型最大意义上的区别。
2. 大模型相关概念区分
基础模型与大模型
大模型(Large Model),也称基础模型(Foundation Model),是指具有大量参数和复杂结构的机器学习模型。超大模型是大模型的一个子集,它们的参数量远超过大模型。
大语言模型(LLM)
大语言模型(Large Language Model)通常是具有大规模参数和计算能力的自然语言处理模型,例如 OpenAI 的 GPT-3 模型。这些模型可以通过大量的数据和参数进行训练,以生成人类类似的文本或回答自然语言的问题。大型语言模型在自然语言处理、文本生成和智能对话等领域有广泛应用。
GPT 与 ChatGPT
GPT(Generative Pre-trained Transformer)和 ChatGPT 都是基于 Transformer 架构的语言模型,但它们在设计和应用上存在区别:
- GPT 模型:旨在生成自然语言文本并处理各种自然语言处理任务,如文本生成、翻译、摘要等。它通常在单向生成的情况下使用,即根据给定的文本生成连贯的输出。
- ChatGPT:则专注于对话和交互式对话。它经过特定的训练,以更好地处理多轮对话和上下文理解。ChatGPT 设计用于提供流畅、连贯和有趣的对话体验,以响应用户的输入并生成合适的回复。
3. 大模型的发展历程
萌芽期(1950-2005):传统神经网络模型阶段
- 1956 年:从计算机专家约翰·麦卡锡提出'人工智能'概念开始,AI 发展由最开始基于小规模专家知识逐步发展为基于机器学习。
- 1980 年:卷积神经网络的雏形 CNN 诞生。
- 1998 年:现代卷积神经网络的基本结构 LeNet-5 诞生,机器学习方法由早期基于浅层机器学习的模型,变为了基于深度学习的模型,为自然语言生成、计算机视觉等领域的深入研究奠定了基础,对后续深度学习框架的迭代及大模型发展具有开创性的意义。
探索沉淀期(2006-2019):Transformer 架构阶段
- 2013 年:自然语言处理模型 Word2Vec 诞生,首次提出将单词转换为向量的'词向量模型',以便计算机更好地理解和处理文本数据。
- 2014 年:被誉为 21 世纪最强大算法模型之一的 GAN(对抗式生成网络)诞生,标志着深度学习进入了生成模型研究的新阶段。
- 2017 年:Google 颠覆性地提出了基于自注意力机制的神经网络结构——Transformer 架构,奠定了大模型预训练算法架构的基础。
- 2018 年:OpenAI 和 Google 分别发布了 GPT-1 与 BERT 大模型,意味着预训练大模型成为自然语言处理领域的主流。在探索期,以 Transformer 为代表的全新神经网络架构,奠定了大模型的算法架构基础,使大模型技术的性能得到了显著提升。
迅猛发展期(2020-至今):预训练大模型阶段
- 2020 年:OpenAI 公司推出了 GPT-3,模型参数规模达到了 1750 亿,成为当时最大的语言模型,并且在零样本学习任务上实现了巨大性能提升。随后,更多策略如基于人类反馈的强化学习(RLHF)、代码预训练、指令微调等开始出现,被用于进一步提高推理能力和任务泛化。
- 2022 年 11 月:搭载了 GPT3.5 的 ChatGPT 横空出世,凭借逼真的自然语言交互与多场景内容生成能力,迅速引爆互联网。
- 2023 年 3 月:最新发布的超大规模多模态预训练大模型——GPT-4,具备了多模态理解与多类型内容生成能力。在迅猛发展期,大数据、大算力和大算法完美结合,大幅提升了大模型的预训练和生成能力以及多模态多场景应用能力。
2024 年,多重因素推动大模型发展,政府支持、用户需求增长、科技投入增加。面临算力分散、结构最优疑问、数据稀缺等挑战。趋势上,基础模型训练公司或减少,更多公司寻找应用场景。
4. 大模型的特点
巨大的规模
大模型包含数十亿个参数,模型大小可以达到数百 GB 甚至更大。巨大的模型规模使大模型具有强大的表达能力和学习能力。
涌现能力
涌现(英语:emergence)是一种现象,为许多小实体相互作用后产生了大实体,而这个大实体展现了组成它的小实体所不具有的特性。引申到模型层面,涌现能力指的是当模型的训练数据突破一定规模,模型突然涌现出之前小模型所没有的、意料之外的、能够综合分析和解决更深层次问题的复杂能力和特性,展现出类似人类的思维和智能。涌现能力也是大模型最显著的特点之一。
更好的性能和泛化能力
大模型通常具有更强大的学习能力和泛化能力,能够在各种任务上表现出色,包括自然语言处理、图像识别、语音识别等。
多任务学习
大模型通常会一起学习多种不同的 NLP 任务,如机器翻译、文本摘要、问答系统等。这可以使模型学习到更广泛和泛化的语言理解能力。
大数据训练
大模型需要海量的数据来训练,通常在 TB 以上甚至 PB 级别的数据集。只有大量的数据才能发挥大模型的参数规模优势。
强大的计算资源
训练大模型通常需要数百甚至上千个 GPU,以及大量的时间,通常在几周到几个月。
迁移学习和预训练
大模型可以通过在大规模数据上进行预训练,然后在特定任务上进行微调,从而提高模型在新任务上的性能。
自监督学习
大模型可以通过自监督学习在大规模未标记数据上进行训练,从而减少对标记数据的依赖,提高模型的效能。
领域知识融合
大模型可以从多个领域的数据中学习知识,并在不同领域中进行应用,促进跨领域的创新。
自动化和效率
大模型可以自动化许多复杂的任务,提高工作效率,如自动编程、自动翻译、自动摘要等。
5. 大模型的分类
按照输入数据类型分类
- 语言大模型(NLP):是指在自然语言处理(Natural Language Processing,NLP)领域中的一类大模型,通常用于处理文本数据和理解自然语言。这类大模型的主要特点是它们在大规模语料库上进行了训练,以学习自然语言的各种语法、语义和语境规则。例如:GPT 系列(OpenAI)、Bard(Google)、文心一言(百度)。
- 视觉大模型(CV):是指在计算机视觉(Computer Vision,CV)领域中使用的大模型,通常用于图像处理和分析。这类模型通过在大规模图像数据上进行训练,可以实现各种视觉任务,如图像分类、目标检测、图像分割、姿态估计、人脸识别等。例如:VIT 系列(Google)、文心 UFO、华为盘古 CV、INTERN(商汤)。
- 多模态大模型:是指能够处理多种不同类型数据的大模型,例如文本、图像、音频等多模态数据。这类模型结合了 NLP 和 CV 的能力,以实现对多模态信息的综合理解和分析,从而能够更全面地理解和处理复杂的数据。例如:DALL-E(OpenAI)、悟空画画(华为)、midjourney。
按照应用领域层级分类
- 通用大模型 L0:是指可以在多个领域和任务上通用的大模型。它们利用大算力、使用海量的开放数据与具有巨量参数的深度学习算法,在大规模无标注数据上进行训练,以寻找特征并发现规律,进而形成可'举一反三'的强大泛化能力,可在不进行微调或少量微调的情况下完成多场景任务,相当于 AI 完成了'通识教育'。
- 行业大模型 L1:是指那些针对特定行业或领域的大模型。它们通常使用行业相关的数据进行预训练或微调,以提高在该领域的性能和准确度,相当于 AI 成为'行业专家'。
- 垂直大模型 L2:是指那些针对特定任务或场景的大模型。它们通常使用任务相关的数据进行预训练或微调,以提高在该任务上的性能和效果。
6. 大模型的泛化与微调
模型的泛化能力
模型的泛化能力是指一个模型在面对新的、未见过的数据时,能够正确理解和预测这些数据的能力。在机器学习和人工智能领域,模型的泛化能力是评估模型性能的重要指标之一。
什么是模型微调
给定预训练模型(Pre-trained model),基于模型进行微调(Fine Tune)。相对于从头开始训练 (Training a model from scratch),微调可以省去大量计算资源和计算时间,提高计算效率,甚至提高准确率。
模型微调的基本思想是使用少量带标签的数据对预训练模型进行再次训练,以适应特定任务。在这个过程中,模型的参数会根据新的数据分布进行调整。这种方法的好处在于,它利用了预训练模型的强大能力,同时还能够适应新的数据分布。因此,模型微调能够提高模型的泛化能力,减少过拟合现象。
常见的模型微调方法
1. Fine-tuning(全量微调)
这是最常用的微调方法。通过在预训练模型的最后一层添加一个新的分类层,然后根据新的数据集进行微调。这种方法适合数据量充足且计算资源丰富的场景。
2. Feature augmentation(特征增强)
这种方法通过向数据中添加一些人工特征来增强模型的性能。这些特征可以是手工设计的,也可以是通过自动特征生成技术生成的。
3. Transfer learning(迁移学习)
这种方法是使用在一个任务上训练过的模型作为新任务的起点,然后对模型的参数进行微调,以适应新的任务。
4. LoRA(Low-Rank Adaptation)
LoRA 是一种参数高效微调技术。它通过冻结预训练模型的权重,并在其中注入低秩分解矩阵来更新模型。这使得微调过程所需的显存和计算资源大大减少,非常适合消费级显卡进行微调。
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
lora_config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.1,
bias="none",
task_type="CAUSAL_LM"
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
RLHF(基于人类反馈的强化学习)
除了监督微调(SFT),大模型还常使用 RLHF 来对齐人类价值观。该过程分为三个阶段:
- SFT:使用高质量指令数据进行监督微调。
- 奖励模型训练:收集人类对模型输出的偏好数据,训练奖励模型。
- PPO 优化:使用近端策略优化算法,最大化奖励模型的评分,同时限制 KL 散度以防止模型偏离原始分布过多。
7. 总结与展望
大模型是未来人工智能发展的重要方向和核心技术。随着 AI 技术的不断进步和应用场景的不断拓展,大模型将在更多领域展现其巨大的潜力,为人类万花筒般的 AI 未来拓展无限可能性。
未来的发展趋势可能包括:
- 小型化与边缘化:模型蒸馏和量化技术将使大模型能在手机端运行。
- Agent 化:大模型将从被动问答转向主动规划任务,成为自主智能体。
- 多模态深度融合:文本、图像、视频、声音的统一理解将成为标配。
- 垂直领域深化:医疗、法律、金融等专业领域的专用大模型将爆发。
掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求,实现大模型理论、掌握 GPU 算力、硬件、LangChain 开发框架和项目实战技能,一站式掌握 Fine-tuning 垂直训练大模型(数据准备、数据蒸馏、大模型部署)。