五、AIGC大模型_02大模型学习重点

0、概述

大模型学习的重点主要包括:模型的训练/微调、模型的部署/测评、模型的上层开发

  • 训练/微调:训练是基础,微调是关键,它们决定了模型在特定任务上的表现

  • 部署/测评:部署是将模型推向应用的桥梁,测评是确保模型性能的保障

  • 上层开发:通过Prompt、RAG、Agent等技术,将模型的能力转化为实际应用

1、模型的训练/微调

1.1 基本的训练/微调

  • 训练(Train)

    • 从零开始训练一个大模型:这是一项极其复杂的任务,需要大量的数据、计算资源和时间,例如:OpenAI的GPT-3模型使用了数千亿个单词的数据进行训练,耗时数月,使用了数千块高性能GPU(如H100、A100)

    • 数据量:预训练通常需要海量数据,例如18TB(甚至更多)的文本数据

    • 时间:训练一个大型模型可能需要数月时间,具体取决于模型规模和硬件性能

    • 训练平台:需要强大的计算资源,如千卡(1000块GPU)、万卡(10000块GPU)等。常见的硬件包括H100、A100等高性能GPU

  • 微调(Fine-tune)

    • 基于开源大模型进行微调:这是更常见的实践方式,微调的目标是将一个预训练好的模型调整为特定任务(如问答、文本生成等)的最优版本

    • 数据量:微调通常只需要少量数据(如几十条甚至几百条标注数据)

    • 时间:微调的时间相对较短,从几分钟到几小时不等,具体取决于数据量和模型大小

    • 训练平台:微调可以在相对较小的硬件上完成,例如:一块NVIDIA RTX 4090 GPU

    • 微调的挑战:

      • 微调失败是常态:微调过程中可能会出现各种问题,如过拟合、性能下降等,成功微调需要大量的实验和调整

      • 炼丹过程:没有固定的公式,需要不断尝试不同的数据、参数和优化方法

  • 共同点

    • 修改模型参数:无论是训练还是微调,核心都是通过优化算法(如Adam)调整模型的参数,以最小化损失函数

1.2 三阶段训练过程

  • 第1阶段:预训练(Pre-Train)

    • 内功修炼:通过自监督学习的方式,让模型学习语言的通用规律,例如:BERT的Masked Language Model(MLM)任务,通过预测被掩盖的单词来学习语言结构

    • 自回归方式训练:如GPT系列,通过预测下一个单词来训练模型

    • 数据:通常使用大量的无标注文本数据,如维基百科、书籍、网页等

    • 成果:生成一个基础模型(base model),这个模型可以用于多种下游任务的微调

  • 第2阶段:监督指令微调(Supervised Finetune)

    • 外功修炼:将模型调整为能够完成特定任务(如问答、文本生成等)

    • 功能

      • 对话能力:能够理解并回应人类的对话

      • 指令遵循能力:能够根据用户指令执行任务

      • 函数调用能力:能够调用外部工具或API来完成任务

      • 复杂推理能力:能够分步骤解决复杂问题

    • 数据:使用标注好的问答对、对话历史等数据

    • 两种风格

      • 注入知识:通过微调让模型学习特定领域的知识

      • 提升能力:通过微调让模型更好地完成特定任务

  • 第3阶段:偏好优化(Preference Optimization)

    • RLHF(Reinforcement Learning from Human Feedback):通过人类反馈来优化模型的输出,例如:让人类标注模型生成的答案的质量,然后通过强化学习调整模型

    • DPO(Direct Preference Optimization):直接优化模型的输出偏好,让模型生成更符合人类偏好的答案

    • 一问两答:对于一个问题,模型生成一个“不好”的答案和一个“好”的答案,通过比较来优化模型

1.3 低代码/无代码开发

通过工具(如LangChain)实现模型的微调和部署,无需编写大量代码,例如:LangChain提供了一系列的API和工具,使得开发者可以通过简单的配置完成复杂的任务

1.4 工程平衡

  • 重点突出微调能力:在微调过程中,需要重点关注如何提升模型在特定任务上的表现,同时尽量保留模型原有的通用能力

  • 避免破坏原有能力:微调过程中需要谨慎调整模型参数,避免过度拟合导致模型在其他任务上的表现下降

2、模型的部署与测评

2.1 部署(Deployment)

  • 定义:将训练好的模型部署到生产环境中,使其能够被实际应用调用

  • 关键要素

    • 硬件选择:根据模型大小和性能需求选择合适的硬件,如GPU或TPU

    • 框架选择:使用如TensorFlow Serving、TorchServe等框架来部署模型

    • 容器化:通过Docker容器化部署,便于管理和扩展

    • API接口:提供RESTful API或gRPC接口,方便其他应用调用

  • 目标:确保模型在生产环境中稳定运行,能够高效响应请求

2.2 考试(模型测评)

  • 全学科考试:通过一系列标准化的测试来评估模型的性能。常见的测试包括:

    • MMLU:多学科测试,涵盖数学、科学、人文等多个领域

    • CMMLU:中文多学科测试

    • C-Eval:中文综合能力测试

  • 测评指标:通常包括准确率、召回率、F1值等,用于评估模型在不同任务上的表现

3、模型的上层开发(以LangChain家族为核心)

3.1 Open API

  • 定义:通过API接口调用模型,无需直接与模型交互,例如:OpenAI的API允许用户通过简单的HTTP请求调用其模型

  • 优势:简化开发流程,降低开发门槛

3.2 Prompt开发

  • 定义:通过设计合适的提示(Prompt)来引导模型生成期望的输出,例如:通过构造特定的文本格式,让模型理解任务要求

  • 应用:广泛用于文本生成、问答等任务

3.3 RAG开发

  • 定义:Retrieval-Augmented Generation(检索增强生成),结合检索和生成,先从知识库中检索相关信息,再生成答案

  • 优势:能够结合外部知识库,提升生成内容的准确性和丰富性

3.4 Agent开发

  • 定义:开发智能代理(Agent),让模型能够自主调用外部工具(如API、数据库)来完成任务

  • 应用:例如,开发一个能够查询天气、预订机票的智能代理

猜你喜欢

转载自blog.csdn.net/weixin_43767064/article/details/145620832
今日推荐