一文讲透大语言模型构建流程

news2024/11/17 17:31:07

最近已有不少大厂都在秋招宣讲了,也有一些在 Offer 发放阶段。

节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。

针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了深入的讨论。

总结链接如下:

  • 《大模型面试宝典》(2024版) 正式发布

喜欢本文记得收藏、关注、点赞。更多实战和面试交流,文末加入我们星球


图片

大语言模型的构建过程一般分为两个阶段,即:预训练、人类对齐(对齐再细分为指令微调+基于人类反馈强化学习)

预训练-数据准备流程

图片

  1. 原始语料库:为了构建功能强大的语言模型,需要从多元化的数据源中收集海量数据来进行训练。网页、书籍、代码、对话语料是主要的预训练数据。根据来源不同,可以分为通用文本数据和专用文本数据。

  2. 数据预处理:质量过滤、敏感内容过滤、数据去重。这一环节主要通过数据的规则特征、垂直定向小模型训练识别并去除质量差、有毒性、隐私的数据。

  3. 词元化:将文本内容处理为最小基本单元,用于后续的训练准备。

预训练-Transformer模型架构

Transformer是由多层的多头注意力(Multi-head Self-attention)模块堆叠而成的神经网络模型。原始Transformer模型由编码器和解码器两个部分构成,而这两个部分实际上可以独立使用,例如基于编码器架构的BERT模型和解码器架构的GPT模型(后续文章再对Transformer进行详尽解析)

图片

指令微调

指令微调(Instruction Tuning)是指使用自然语言形式的数据对预训练后的大语言模型进行参数微调,也称为有监督微调或多任务提示训练。

指令微调的数据集构建

  1. 基于现有的NLP任务数据集构建:学术界围绕传统NLP任务(如机器翻译、文本摘要和文本分类等)发布了大量的开源数据集合,这些数据是非常重要的监督学习数据资源,可以用于指令数据集构造。

  2. 基于日常对话数据构建:用户在日常对话中的实际需求作为任务描述,与人类真实诉求较为匹配,增加数据的多样性。

  3. 基于合成数据构建:借助已有高质量指令数据作为上下文学习示例,输入给大语言模型,进而生成大量多样化的任务描述和输入-输出数据。

指令微调的训练策略

  1. 优化设置:指令微调中的优化器设置(AdamW或Adafactor)、稳定训练技巧(权重衰减和梯度剪裁)和训练技术(3D并行、ZeRO和混合精度训练)都与预训练保持阶段一致,可以完全沿用。下面列出指令微调与预训练的不同之处。

  2. 数据组织:平衡数据分布

  3. 参数高效微调:如 低秩适配微调方法、适配器微调、前缀微调(这里我们也留到后文进行详细介绍,本文优先关注整体流程)

人类对齐RM/RL(强化学习阶段)

人类对齐是一个较为抽象的概念,难以直接进行形式化建模,代表性的是有用性(Helpfulness)、诚实性(Honesty)和无害性(Harmlessness),主要由以下两个阶段

奖励模型训练

这一步是使用人类反馈数据训练奖励模型

首先,使用语言模型针对任务指令生成一定数量的候选输出

然后,邀请标注员对于输出文本进行偏好标注(形式多种)

最后,使用偏好数据进行奖励模型的训练,使其建模人类偏好。

强化学习训练

这一步,语言模型对齐被转化为一个强化学习问题。具体来说:

待对齐语言模型担任策略实施者角色(称为策略模型),它接收提示作为输入并返回输出文本,其动作空间是词汇表中所有词元,状态指的是当前已生成的词元序列。

奖励模型则根据当前语言模型的状态提供相应的奖励分数,用于指导策略模型的优化。

为了避免当前训练轮次的语言模型明显偏离初始(强化学习训练之前)的语言模型,通常会在原始优化目标中加入一个惩罚项(如KL离散度)

例如:Instruct GPT使用PPO算法来优化待对齐语言模型,以最大化奖励模型的奖励。对于每个输入提示,InstructGPT计算当前语言模型与初始语言模型生成结果之间的KL离散度作为惩罚项。KL散度越大,意味着当前语言模型越偏离初始语言模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2184536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用友U8-CRM fillbacksettingedit.php SQL注入复现

0x01 产品描述: 用友U8-CRM是企业利用信息技术,是一项商业策略,它通过依据市场细分组织企业资源、培养以客户为中心的经营行为、执行以客户为中心的业务流程等手段来优化企业的客户满意度和获利能力。 0x02 漏洞描述: 用友 U8 C…

VMware Aria Operations for Logs 8.18 发布,新增功能概览

VMware Aria Operations for Logs 8.18 - 集中式日志管理 请访问原文链接:https://sysin.org/blog/vmware-aria-operations-for-logs/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 集中式日志管理 VMware Aria …

web开发(1)-基础

这是对b站课程的总结,后续可能会继续更 01 前后端分离介绍_哔哩哔哩_bilibili01 前后端分离介绍是Web应用开发-后端基础-基于Springboot框架的第1集视频,该合集共计29集,视频收藏或关注UP主,及时了解更多相关视频内容。https://w…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-01

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-01 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-01目录1. Beyond Text-to-Text: An Overview of Multimodal and Generative Artificial Intelligence for Education Using Topi…

第二弹:面向对象编程中的类与对象

文章目录 面向对象编程中的类与对象1. 类与对象的定义1.1 类和对象的概念1.2 类的基本定义 2. 类的封装2.1 类的封装语法2.2 类成员访问权限2.3 struct和class的区别2.4 类封装与成员函数定义分离 3. 类对象的创建与销毁3.1 静态与动态对象的创建3.2 对象的销毁 4. 构造函数和析…

云服务器部署k8s需要什么配置?

云服务器部署k8s需要什么配置?云服务器部署K8s需要至少2核CPU、4GB内存、50GBSSD存储的主节点用于管理集群,工作节点建议至少2核CPU、2GB内存、20GBSSD。还需安装Docker,选择兼容的Kubernetes版本,配置网络插件,以及确…

大数据-154 Apache Druid 架构与原理详解 基础架构、架构演进

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

【日常记录】现在遇到的Y7000P亮度无法调节问题,无需改动注册表进行调整的方法。

1、winR 2、输入:services.msc 3、找到下面红框内的服务 4、右键后,点击重启任务,重启任务后,再次按热键即可恢复亮度调节。

XGBOOST算法Python实现(保姆级)

摘要 XGBoost算法(eXtreme Gradient Boosting)在目前的Kaggle、数学建模和大数据应用等竞赛中非常流行。本文将会从XGBOOST算法原理、Python实现、敏感性分析和实际应用进行详细说明。 目录 0 绪论 一、材料准备 二、算法原理 三、算法Python实现 3…

西电25考研 VS 24考研专业课大纲变动汇总

01专业课变动 西安电子科技大学专业课学长看到953网络安全基础综合变为 893网络安全基础综合,这是因为工科要求都必须是8开头的专业课,里面参考课本还是没变的,无非就是变了一个名字 对于其他变动专业课也是同理的 02专业课考纲内容变化 对于…

<<迷雾>> 第5章 从逻辑学到逻辑电路(6)--莎士比亚电路 示例电路

info::操作说明 鼠标单击开关切换开合状态 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyjsjdmw-ch05-17-shakespeare-circuit.txt 原图

【AI人工智能】文心智能体,陪爸妈去旅游,国庆假期不容错过,旅游搭子首选

文章目录 背景创作灵感陪爸妈去旅游简介角色与目标思考路径个性化开场白调优 智能体体验总结和感受 背景 文心智能体平台,开启新一轮活动,超级创造营持续百日活动。 在AI 浪潮席卷的今天,如雨后春笋般丛生的 AI 应用,昭告着时代风…

AI助力CMIP6数据处理技术及在气候变化、生态农业、水文多领域实践应用

查看原文>>>AI助力CMIP6数据处理技术及在气候变化、生态农业、水文多领域实践应用 目录 专题一 CMIP6中的模式比较计划 专题二 数据下载 专题三 基础知识3.1 Python基础 专题四 单点降尺度 专题五 统计方法的区域降尺度 专题六 基于WRF模式的动力降尺度 专题七…

墙绘艺术在线交易:SpringBoot技术解析

2 相关技术 2.1 SSM框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SSM,在JavaWeb开发中使用的流行框架有SSH、SSM、SpringMVC等,作为一个课题程序采用SSH框架也可以,SSM框架也可以,SpringMVC也可以。SSH框架…

习题2 算法

选择题 1. 以下叙述中错误的是 【 正确答案: C】。 A.算法正确的程序最终一定会结束 B.算法正确的程序可以有零个输入 C.算法正确的程序可以有零个输出 D.算法正确的程序对于相同的输入一定有相同的结果 2. 下面关于算法的说法错误的是 【 正确答案: B】。 …

推送k8s镜像到阿里云服务器

1、服务打包 2、打包后进入Dockerfile的同级目录 运行 docker build -t 镜像名:镜像版本 . (这个点是当前目录的意思,不能忽略)例如 docker build -t trac:v1.0.4 .3、上传镜像到阿里云镜像服务 注意选择区域 例如: docker tag 70743d9bdba3 registr…

git push 远程仓库 linux版

git push 远程仓库 为了将git本地仓库的内容push到远程仓库上,此处记录一下具体的过程: 1.进入到项目根目录下 2.将本地目录初始化为Git仓库。默认情况下,初始分支为main。 git init && git symbolic-ref HEAD refs/heads/main3.…

nginx打包部署前端vue项目全过程【保姆级教程】

🤹‍♀️潜意识起点:个人主页 🎙座右铭:得之坦然,失之淡然。 💎擅长领域:前端 是的,我需要您的: 🧡点赞❤️关注💙收藏💛 是我持…

数据结构(7.4_1)——B树

B树的定义 m阶B树的核心特性: B树的高度 最小高度 最大高度 总结: