大语言模型-1.2-大模型技术基础

简介

本博客内容是《大语言模型》一书的读书笔记,该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的核心技术。并且,课程内容基于大量的代码实战与讲解,通过实际项目与案例,学员能将理论知识应用于真实场景,提升解决实际问题的能力。
在这里插入图片描述

本文主要记录datawhale的活动学习笔记,可点击活动连接

1.2 大模型技术基础

大语言模型

在这里插入图片描述
预训练阶段会得到base model,本质上就是一个互联网文本模拟器,这个阶段需要上万台服务器训练几个月的时间,这个生成的模型可以认为是互联网的有损压缩。这个互联网文本模拟器很有意思,但我们想要的不是整个互联网,而是我们提问,模型回答。
我们实际需要的是一个助手模型,在后训练阶段就可以训练一个助手模型。在后训练过程中,是一个监督微调SFT(supervised finetuning),整体的训练过程,与预训练过程一致。差别就在于数据集。这些对话数据集是人工标注问题和答案,当然现在很多也都是模型生成的。
这个助手模型中,如果不采用某些手段,模型会产生幻觉。
RL是强化学习,这个过程包括两个阶段,第一个阶段是训练一个奖励模型,用于代替人类对可以验证和不可以验证的领域问题进行排序,然后基于奖励模型实现RL。
在这里插入图片描述

构建一个大语言模型

大语言模型预训练(Pre-training)

使用与下游任务无关的大规模数据进行模型参数的初始训练
➢ 基于Transformer解码器架构,进行下一个词预测
➢ 数据数量、数据质量都非常关键在这里插入图片描述

大语言模型后训练(Post-Training)

指令微调(Instruction Tuning)
➢ 使用输入与输出配对的指令数据对于模型进行微调
➢ 提升模型通过问答形式进行任务求解的能力
在这里插入图片描述

人类对齐(Human Alignment)
➢ 将大语言模型与人类的期望、需求以及价值观对齐
➢ 基于人类反馈的强化学习对齐方法(RLHF)
在这里插入图片描述

大模型的研发已经成为一项系统工程

扩展定律(Scaling Law)

➢ 通过扩展参数规模、数据规模和计算算力,大语言模型的能力会出现显著提升
➢ 扩展定律在本次大模型浪潮中起到了重要作用

在这里插入图片描述
大语言模型采用了与小型预训练语言模型相似的神经网络结构(基于注意力机制的 Transformer 架构)和预训练方法(如语言建模)。但是通过扩展参数规模、数据规模和计算算力,大语言模型的能力显著超越了小型语言模型的能力。
有趣的是,这种通过扩展所带来的性能提升通常显著高于通过改进架构、算法等方面所带来的改进。因此,建立定量的建模方法,即扩展法则(Scaling Law),

KM扩展定律

➢ OpenAI 团队建立了神经语言模型性能与参数规模(𝑁)、数据规模(𝐷)和计算算力(𝐶)之间的幂律关系
在这里插入图片描述

Chinchilla扩展定律

➢ DeepMind 团队于 2022 年提出了另一种形式的扩展定律,旨在指导大语言模型充分利用给定的算力资源优化训练

Hoffmann 等人 [22](DeepMind 团队)于 2022 年提出了一种可选的扩展法则,旨在指导大语言模型充分利用给定的算力资源进行优化训练。通过针对更大范围的模型规模(70M 到 16B 参数)和数据规模(5B 到 500B 词元)进行实验,研究
在这里插入图片描述
其中 𝐸 = 1.69, 𝐴 = 406.4, 𝐵 = 410.7,𝛼 = 0.34 和 𝛽 = 0.28。进一步,利用约束条件
𝐶 ≈ 6𝑁𝐷 对于损失函数 𝐿(𝑁, 𝐷) 进行推导,能够获得算力资源固定情况下模型规
模与数据规模的最优分配方案(如下所示):
在这里插入图片描述

深入讨论扩展定理

➢ 模型的语言建模损失可以进行下述分解
➢ 扩展定律可能存在边际效益递减
➢ 随着模型参数、数据数量的扩展,模型性能增益将逐渐减小
➢ 目前开放数据已经接近枯竭,难以支持扩展定律的持续推进

涌现能力

什么是涌现能力
➢ 原始论文定义:“在小型模型中不存在、但在大模型中出现的能力”
➢ 模型扩展到一定规模时,特定任务性能突然出现显著跃升趋势,远超随机水平
在这里插入图片描述
上下文学习(In-context Learning, ICL).
指令遵循(Instruction Following).
逐步推理(Step-by-step Reasoning)

上下文学习(In-context Learning)

➢ 在提示中为语言模型提供自然语言指令和任务示例,无需显式梯度更新就能为测试样本生成
预期输出
在这里插入图片描述

指令遵循(Instruction Following)

➢ 大语言模型能够按照自然语言指令来执行对应的任务
在这里插入图片描述

逐步推理(Step-by-step Reasoning)

➢ 在提示中引入任务相关的中间推理步骤来加强复杂任务的求解,从而获得更可靠的答案
在这里插入图片描述

涌现能力与扩展定律的关系

➢ 涌现能力和扩展定律是两种描述规模效应的度量方法

大模型核心技术

➢ 规模扩展:扩展定律奠定了早期大模型的技术路线,产生了巨大的性能提升
➢ 数据工程:数据数量、数据质量以及配制方法极其关键
➢ 高效预训练:需要建立可预测、可扩展的大规模训练架构
➢ 能力激发:预训练后可以通过微调、对齐、提示工程等技术进行能力激活
➢ 人类对齐:需要设计对齐技术减少模型使用风险,并进一步提升模型性能
➢ 工具使用:使用外部工具加强模型的弱点,拓展其能力范围

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB例程】AOA(到达角度)法,多个目标定位算法,三维空间、锚点数量自适应(附完整代码)

给出AOA方法下的多目标定位,适用三维空间,锚点数量>3即可,可自定义目标和锚点的数量、坐标等。 文章目录 运行结果源代码代码讲解概述功能代码结构运行结果 10个锚点、4个目标的情况: 100个锚点、10个目标的情况: 修改方便,只需调节下面的两个数字即可: 源代码 …

[CVE-2017-10271]Weblogic--WLS Security反序列化漏洞复现

文章目录 靶机地址靶机说明开启并访问靶机POCexp反弹shell后续查找flag过程略 靶机地址 网站地址 cyberstrikelab.com 靶机地址CVE-2017-10271 靶机说明 Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据&#xf…

如何在vscode中编译linux中的c++文件

方式一 在终端打开进行连接编译 指令含义:将 muduo_server.cpp 源文件编译成一个可执行文件 server,并且在链接过程中使用 muduo_net、muduo_base 库以及 pthread 库 方式二 在vscode中修改配置文件 按F1打开配置文件搜索栏,输入C/C 打开…

Unity中刚体撞墙抖动的原因和本质

当我们制作角色移动的时候我们都知道使用设置位置的方法来移动一个带有刚体和碰撞体的物体,遇到碰撞体的时候就会抖动。 上网查找原因,都说是和物理系统冲突导致的,然后再也找不到其他线索。 这个说法,对,但它并不是最…

文件解析漏洞靶场通关合集

一、IIS解析漏洞 &#xff08;一&#xff09;iis6的目录解析漏洞(.asp目录中的所有文件都会被当做asp文件执行) 第一步&#xff1a;在网站根目录下创建了一个x.asp文件夹&#xff0c;并在文件夹中创建一个名为1.txt的文本文档 第二步&#xff1a;文本文档中输入<% now()%&…

【Linux】浅谈冯诺依曼和进程

一、冯诺依曼体系结构 冯诺依曼由 输入设备、输出设备、运算器、控制器、存储器 五部分组成。 冯诺依曼的设计特点 二进制表示 所有数据&#xff08;包括程序指令&#xff09;均以二进制形式存储和运算&#xff0c;简化了硬件逻辑设计&#xff0c;提高了可靠性。 存储程序原理…

技术聚焦:Debezium 如何将数据库数据精准注入 Kafka

#作者&#xff1a;任少近 文章目录 第一章 Debezium抽取mysql数据给kafka原理第二章 Debezium 与kafka抽取方法及验证2.1 debezium2.0kafka3.3.1mysql82.2 debezium2.0kafka2.6.1mysql82.3 debezium2.0kafka2.6.1mysql5.7 第一章 Debezium抽取mysql数据给kafka原理 debezium的…

SpringBoot学生宿舍管理系统的设计与开发

项目概述 幽络源分享的《SpringBoot学生宿舍管理系统的设计与开发》是一款专为校园宿舍管理设计的智能化系统&#xff0c;基于SpringBoot框架开发&#xff0c;功能全面&#xff0c;操作便捷。该系统涵盖管理员、宿管员和学生三大角色&#xff0c;分别提供宿舍管理、学生信息管…

LLM剪枝代码解释与实现

LLM剪枝代码解释与实现 目录 LLM剪枝代码解释与实现函数概述函数参数函数实现步骤1. 遍历模型的所有参数2. 筛选权重参数3. 计算参数的绝对值4. 计算阈值5. 创建掩码6. 应用掩码7. 返回剪枝后的模型总结可运行代码注意安装包的版本信息 transformers adapter-transformers函数概…

STM32 HAL库实战:轻松实现串口通信驱动蓝牙模块与ESP8266开发

STM32 HAL库实战&#xff1a;轻松实现串口通信驱动蓝牙模块与ESP8266开发 引言 STM32F103C8T6作为一款性能强劲的32位微控制器&#xff0c;广泛应用于各类嵌入式系统。本文将详细介绍如何使用STM32F103C8T6的HAL库进行串口通信&#xff0c;并展示如何通过串口驱动蓝牙模块&…

Html5记忆翻牌游戏开发经验分享

H5记忆翻牌游戏开发经验分享 这里写目录标题 H5记忆翻牌游戏开发经验分享前言项目概述技术要点解析1. 页面布局&#xff08;HTML CSS&#xff09;响应式设计 2. 翻牌动画效果3. 游戏逻辑实现状态管理卡片配对检测 开发技巧总结1. 模块化设计2. 性能优化3. 用户体验 踩坑经验扩…

Insar结合ISCE2,某一个文件进行并行-stackSentinel.py

stackSentinel.py 依次执行 run_01 到 run_15&#xff0c;记录各自的日志 并行执行 run_16 里的所有命令&#xff0c;仍然记录日志 不知道对不对&#xff0c;测试的时间有点长就给停了 #!/bin/bash# ✅ 适用于 WSL/Linux runfiles_path"/mnt/e/insar_order_test/Stack…

入门网络安全工程师要学习哪些内容【2025年寒假最新学习计划】

&#x1f91f; 基于入门网络安全/黑客打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 大家都知道网络安全行业很火&#xff0c;这个行业因为国家政策趋势正在大力发展&#xff0c;大有可为!但很多人对网络安全工程师还是不了解&#xff0c;不知道网…

LuaJIT 学习(2)—— 使用 FFI 库的几个例子

文章目录 介绍Motivating Example: Calling External C Functions例子&#xff1a;Lua 中调用 C 函数 Motivating Example: Using C Data StructuresAccessing Standard System FunctionsAccessing the zlib Compression LibraryDefining Metamethods for a C Type例子&#xf…

蓝桥杯 3514子串简写

问题描述 程序猿圈子里正在流行一种很新的简写方法&#xff1a;对于一个字符串&#xff0c;只保留首尾字符&#xff0c;将首尾字符之间的所有字符用这部分的长度代替。例如 internation-alization 简写成 i18n&#xff0c;Kubernetes &#xff08;注意连字符不是字符串的一部分…

完美解决ElementUI中树形结构table勾选问题

完美解决ElementUI中树形结构table勾选问题 实现功能效果图全选取消全选取消父节点取消某个子节点 关键代码 实现功能 1. 全选/取消全选&#xff0c;更新所有节点勾选状态 2. 勾选父/子节点&#xff0c;子/父节点状态和全选框状态更新 效果图 全选 取消全选 取消父节点 取消某…

来看两篇RAG相关的优化工作:多跳查询的优化L-RAG以及利用记忆增强的查询重构MemQ框架

增强多跳文档检索的分层表示方法(Layer-wise Retrieval-Augmented Generation, L-RAG) 分层检索增强生成(L-RAG),旨在优化多跳文档检索,以解决现有检索增强生成(RAG)方法的局限性。标准RAG在处理复杂的多跳查询时表现不佳,并且由于迭代处理引入了显著的计算开销。L-RA…

Linux网络套接字编程——创建并绑定

目录 网络字节序 socket编程接口 socket bind 如果将进程比作一个房子&#xff0c;那套接字相当于是一扇门&#xff0c;通向与外界通信的通道。 在网络中&#xff0c;如何理解套接字呢&#xff0c;时刻记住套接字是为了标识互联网中的某一台主机上的某一个进程&#xff0c…

Linux下部署前后端分离项目 —— Linux下安装nginx

1 打包前后端项目 1.1 打包Vue项目 # 构建生产环境包 npm run build:prod 注意&#xff1a;我这边使用的命令是 npm run build:pro&#xff0c;一般都是 npm run build:prod&#xff0c;具体看前端package.json文件中是如何配置的&#xff0c;如下&#xff1a; 1.2 后端打包 …

手绘板工具:基于python以及pyqt5实现的手绘白板

基于python实现的手绘板工具 包含&#xff1a;钢笔工具&#xff0c;铅笔工具&#xff0c;橡皮擦&#xff0c;颜色选择&#xff0c;导出为图片。 当然图片临摹也必不可少。 # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import (QApplication, QMainWindow, QWi…