当前位置: 首页 > news >正文

【综述+LLMs】国内团队大语言模型综述:A Survey of Large Language Models (截止2023.11.24)

Github主页: https://github.com/RUCAIBox/LLMSurvey
中文版v10:https://github.com/RUCAIBox/LLMSurvey/blob/main/assets/LLM_Survey_Chinese.pdf
英文版v13: https://arxiv.org/abs/2303.18223
解析:大语言模型LLM入门看完你就懂了(一) - SmallerFL的文章 - 知乎

LLMs 关键技术与概念:

大语言模型使用无标注语料库进行预训练,当模型大小达到一定数量,出现智能涌现,能够进行小模型不具备的能力:下文学习,在未经过特定任务微调的情况下能够理解并响应复杂指令**;以及对新任务的适应性,即基于给定的输入示例就能够推断出相应的输出模式

预训练技术:

LLMs 通常采用 Transformer 架构,并基于大规模无标注语料库进行预训练,利用自回归或双向预测的语言建模任务来捕捉语言规律。

分布式训练算法:

由于 LLMs 的参数数量巨大,需要采用高效的分布式训练策略和工具(如DeepSpeed 和 Megatron-LM)以实现模型的有效训练。
适应性调整:
为使预训练后的 LLMs 更好地服务于特定应用场景,采用诸如提示工程、链式思维提示、指令调优等方法挖掘和引导模型的潜在能力。

一致性和控制:

确保 LLMs 的行为符合人类价值观和伦理规范至关重要,因此研究领域也关注如何通过一致性微调、强化学习和人工反馈等方式来改进模型的输出质量,降低有害内容的生成风险。

缩放定律(Scaling Laws):

LLMs 的性能与模型大小、数据量以及计算资源之间存在着密切关系。研究人员发现,随着模型参数规模的增长,通过遵循一定的幂律关系(如 KM 缩放定律),模型性能可以显著提升。例如,GPT-3 和 PaLM 等模型分别扩展至1750亿和5400亿参数级别,以验证这种规模效应。研究者还探讨了如何在有限的计算预算下更高效地分配资源,比如 Chinchilla 模型通过增加训练数据量而非单纯增大模型尺寸来优化性能。

涌现能力(Emergent Abilities):

当LLMs达到一定规模后,它们展现出了一些小型模型所不具备的特殊能力。这些“涌现”能力包括上下文学习,在未经过特定任务微调的情况下能够理解并响应复杂指令;以及对新任务的适应性,即基于给定的输入示例就能够推断出相应的输出模式。这表明大模型可能具有更强的泛化能力和生成多样、准确文本的能力。这种能力并非线性或连续地随模型尺度扩大而出现,而是当模型超过某个阈值时突然展现出显著超越小型模型的新技能。LLMs 所展示的三种典型新兴能力如下:
上下文学习(In-context Learning):GPT-3 首次正式引入了这一概念,当向语言模型提供自然语言指令和/或多个任务示例后,即使没有进行额外训练或梯度更新,该模型也能通过完成输入文本的词序列生成测试实例的预期输出。
例如,在 GPT 系列模型中,参数规模达到1750亿的 GPT-3 在一般任务上表现出了强大的上下文学习能力,而较小规模的 GPT-1 和 GPT-2 则不具备这种能力。同时,不同任务对上下文学习的要求程度不一,如 GPT-3 在解决简单的算术任务时表现出色,但在处理特定复杂任务(如波斯语问答任务)时可能效果不佳。
指令跟随(Instruction following)
通过使用多任务数据集并以自然语言描述的方式进行微调,LLMs 能够在新任务中遵循给出的指令执行任务,并且在没有显式示例的情况下展现出更好的泛化能力。实验表明,像 LaMDA-PT 这样的模型经过指令调优后,当模型大小达到 68B 时,其在未见过的任务上的性能显著优于未经调优的版本,而对于更小规模如 8B 以下的模型,则无法观察到同样的优势。
分步推理(Step-by-step reasoning)
小型语言模型通常难以处理涉及多个推理步骤的复杂任务,比如数学文字问题。然而,通过采用链式思维(chain-of-thought, CoT)提示策略,LLMs 能够利用中间推理步骤的提示机制来解决此类任务。CoT 策略使得大模型(如超过60B参数的 PaLM 和LaMDA 变体)在执行需要逐步推理的问题时获得性能提升,尤其在参数量级超过100B时,相较于标准提示的优势更加明显。此外,对于不同的任务类型,CoT 带来的性能改善程度也会有所不同,例如在某些数学问题解答基准(如 GSM8K、MAWPS 和 SWAMP)上表现各异。这些能力可能与大规模模型在训练过程中接触到大量代码相关联,从而获得了相应的技能。

图2 语言模型的发展过程

在这里插入图片描述

图3 现有大型语言模型的时间线

在这里插入图片描述

图4: OpenAI的GPT系列

在这里插入图片描述

图5 开源的LLaMA 的相关模型

在这里插入图片描述

原文表1 大型语言模型(本次调查中大小为 10B)的统计数据,

包括容量评估、预训练数据规模(令牌或存储大小的数量)和硬件资源成本。
在这里插入图片描述

相关文章:

【综述+LLMs】国内团队大语言模型综述:A Survey of Large Language Models (截止2023.11.24)

Github主页: https://github.com/RUCAIBox/LLMSurvey 中文版v10:https://github.com/RUCAIBox/LLMSurvey/blob/main/assets/LLM_Survey_Chinese.pdf 英文版v13: https://arxiv.org/abs/2303.18223 解析:大语言模型LLM入门看完你就懂了(一&…...

开始喜欢上了runnergo,JMeter out了?

RunnerGo是一款基于Go语言、国产自研的测试平台。它支持高并发、分布式性能测试。和JMeter不一样的是,它采用了B/S架构,更灵活、更方便。而且,除了API测试和性能测试,RunnerGo还加上了UI测试和项目管理等实用功能,让测…...

LLM - 大语言模型的分布式训练 概述

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/136924304 大语言模型的分布式训练是一个复杂的过程,涉及到将大规模的计算任务分散到多个计算节点上。这样做的目的是为了处…...

Spring Cloud Alibaba 整合Seata分布式事务

目录 前言步骤引入相关maven依赖添加相关配置Client端配置注册中心Server端配置注册中心Seata-Server相关配置启动seata-server 使用方法Seata AT 模式整体机制 步骤初始化表结构标记注解GlobalTransactional 总结 前言 在数字化转型的浪潮下,企业业务系统的复杂度…...

unity 多屏幕操作

想了解基础操作请移步:(重点是大佬写的好,这里就不再赘述) Unity 基础 之 使用 Display 简单的实现 多屏幕显示的效果_unity display-CSDN博客 在panel上也可以通过获取 Canvas,来达到切换多屏幕的操作, …...

4、Jenkins持续集成-用户权限和凭证管理

文章目录 一、用户权限管理1、安装用户权限管理插件2、开启权限全局安全配置3、创建角色4、创建用户5、给用户分配角色6、创建项目测试权限二、凭证管理1、安装凭证管理插件2、安装Git插件和工具2.1 用户密码类型2.2 SSH密钥类型一、用户权限管理 利用Role-based Authorizatio…...

K8s-网络原理-中篇

引言 本文是《深入剖析 K8s》的学习笔记,相关图片和案例可从https://github.com/WeiXiao-Hyy/k8s_example中获取,欢迎 ⭐️! 上篇主要介绍了 Flannel 插件为例,讲解了 K8s 里容器网络和 CNI 插件的主要工作原理。还有一种“纯三层”的网络方…...

vue基础——java程序员版(vue路由)

1、引入路由 在控制台执行vue ui,在插件市场里可以找到vue-router并导入。 ​ 一般情况下,vue会自动在main,js中引入vue-router,如下: import Vue from vue import App from ./App.vue import ./plugins/element.js import rou…...

【vue3学习之路(一)】

文章目录 前言一、vue3项目创建1.1环境准备1.1.1 基于 vue-cli 创建(脚手架创建)1.1.2 基于 vite 创建(推荐) 二、熟悉流程总结 前言 参考视频:https://www.bilibili.com/video/BV1Za4y1r7KE?p10&spm_id_frompag…...

基于Spring Boot网络相册设计与实现

摘 要 网络相册设计与实现的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。 与安卓,iOS相比较起来&am…...

6 Spring-AOP

文章目录 1,AOP简介1.1 什么是AOP?1.2 AOP作用1.3 AOP核心概念 2,AOP入门案例2.1 需求分析2.2 思路分析2.3 环境准备2.4 AOP实现步骤步骤1:添加依赖步骤2:定义接口与实现类步骤3:定义通知类和通知步骤4:定义切入点步骤5:制作切面步骤6:将通知类配给容器…...

这回轮到鸿蒙禁用安卓了!!!

1月18日,鸿蒙生态千帆仪式上,华为正式宣布了HarmonyOS NEXT(下简称鸿蒙星河版或纯血鸿蒙)开发者预览已向开发者开放申请,纯血鸿蒙开始走向普及阶段。伴随着不再兼容安卓的纯血鸿蒙铺开,鸿蒙走进了运营属于自…...

Java问题详解

在Java中,问题可能涵盖多个领域,如基础知识、高级特性、设计模式、性能优化、并发编程等。下面,我将提供两个问题以及对它们的详细回答。请注意,2000字的要求可能过于庞大,我将尽量确保回答详细而不过于冗长。 问题1&…...

Go——指针和内存逃逸

区别于C/C中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针概念需要先知道3个概念:指针地址,指针类型和指针取值。 一. Go语言的指针 Go语言中的函数传参都是值拷贝,当我们想修改某个…...

PTA L2-032 彩虹瓶

彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。 假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工…...

Spring和Spring Boot之间的区别

Spring和Spring Boot之间的区别 不仅仅体现在操作简化、配置方式以及开发速度上,还有以下几个方面: 模块化和功能范围: Spring是一个完整的框架,提供了各种各样的功能,包括依赖注入、面向切面编程、数据访问、事务管…...

海外客户获取难?海外云手机助力电商引流!

海外电商面临的市场竞争激烈,如何在海外市场获客成为了摆在许多卖家面前的难题。而在这个问题的解决方案中,海外云手机崭露头角,成为助力电商引流的新利器。 在当前市场中,云手机主要用于游戏挂机,但其潜力在海外电商领…...

什么情况下 C++ 需要垃圾处理机制?

C,作为一种以性能和灵活性著称的编程语言,历来以其严谨的手动内存管理而闻名。然而,尽管C提供了丰富的工具如RAII(Resource Acquisition Is Initialization)原则、智能指针等来协助开发者有效地管理内存,但…...

流畅的 Python 第二版(GPT 重译)(七)

第十三章:接口、协议和 ABCs 针对接口编程,而不是实现。 Gamma、Helm、Johnson、Vlissides,《面向对象设计的第一原则》 面向对象编程关乎接口。在 Python 中理解类型的最佳方法是了解它提供的方法——即其接口——如 “类型由支持的操作定义…...

vue项目中使用vue-pdf或pdf.Js,实现在页面上预览pdf内容

一。vue-pdf 1. 安装vue-pdf npm install --save vue-pdf2.页面引入 js部分 import pdf from "vue-pdf";data(){return {pdfUrl: "",pageTotal: 0,} }mounted(){this.pdfUrl pdf.createLoadingTask(pdf文件路径url);// 获取页码this.pdfUrl.promise…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

Python如何给视频添加音频和字幕

在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...