大语言模型垂直化训练技术与应用

news2024/11/20 18:23:49

在人工智能领域,大语言模型(Large Language Models, LLMs)已经成为推动技术进步的关键力量,垂直化训练技术逐渐成为研究的热点,它使得大模型能够更精准地服务于特定行业和应用场景。本文结合达观数据的分享,探讨大语言模型的垂直化训练技术及其在不同领域的应用实践。
在这里插入图片描述

大语言模型的垂直化训练:定义与重要性

垂直化训练技术指的是针对特定行业或应用场景,对大语言模型进行定制化训练,使其能够更好地理解和生成特定领域的内容。这种训练方式的重要性在于,它能够提高模型在特定任务上的表现,同时减少对通用数据的依赖。
垂直领域AIGC应用的关键点

对现有的GPT模型进一步挖掘潜力,生成更有性价比的垂直大模型方案
对优质训练数据的蒸馏加工,更好的体现垂直化、专业化的应用
为toB客户量身打造好的大模型方案,探索更好的效果和高价值应用场景
针对垂直应用场景,值得探索prompt等产品创新和功能增强

垂直化训练的难点

  • 数据专业性:需要获取和处理大量高质量的专业领域数据。
  • 模型泛化能力:在提升特定领域能力的同时,保持模型在通用任务上的表现。
  • 资源投入:相较于通用模型训练,垂直化训练可能需要更多的领域专家参与和更精细的数据处理。

大语言模型的垂直化训练技术

参数规模与数据规模的探索

  • Scaling Laws:研究表明,模型的效果与参数量、数据量、计算量呈幂次关系,即模型参数量和训练数据量的增加可以显著提升模型性能。
  • Compute-Optimal:研究提出,训练数据大小应与模型参数量等比放大,以达到最优的计算效率。
  • Open and Efficient:例如,Meta推出的LLaMA模型显示,即使在百亿参数规模,经过大量数据训练后,模型性能仍有显著提升。

在这里插入图片描述
研究给出了三种最优计算方式,并且比较了如GPT-3(175B)等千亿模型并没有达到该理论的计算最优点。意味着GPT-3仍未被充分训练(下图)
换言之,当下的干亿参数模型,可能只发挥到了百亿模型的理论效果,一些参数可能被浪费了。
在这里插入图片描述
同时可以看到在训练过程中,无论是65B、33B、17B,甚至7B的小模型,在训练数据接近和超过万亿Token之后,下游任务的效果仍在提升(下图)。故此可推测,百亿模型的潜力仍有待深入挖掘,尤其在算力资源受限的情况下存在性价比更高的优化空间
在这里插入图片描述

垂直领域预训练路线

垂直领域大模型预训练的三种思路
在这里插入图片描述

自适应预训练

路线1:先大规模通用语料预训练,再用小规模领域语料预训练。在大规模通用语料预训练的基础上,使用小规模领域语料进行二次训练,以提升模型在特定领域的表现。
代表模型 GPT3-Codex、Yuyuan-GPT2-3.5B、金融领域FinBERT、生物医学领域BiOBERT等
领域自适应预训练(Domain-Adaptive Pre-Training,DAPT):在模型预训练权重上喂领域语料继续预训练
任务自适应预训练(Task-Adaptive Pre-Traininq,TAPT):在领域任务数据集上继续预训练
在这里插入图片描述

OpenAI 探索:当涉及与Code领域无关的文本生成时,Codex的生成和GPT-3的生成差异不大,体现在两者有很多共现的词,区别在于GPT3表述的多样性。
在这里插入图片描述

有可能是小规模领域语料预训练后的大模型在自身领域内相比通用大模型增强,而在通用生成上表现与通用大模型相当

直接大规模领域语料预训练

路线2:直接进行大规模领域语料预训练
代表模型:医学领域PubMedGPT2.7B、金融领域BBT-FinT5
数据规模百亿~干亿tokens
模型规模1B~10B
在这里插入图片描述

垂直领域大模型在领域上的各任务上通用性 >>小模型
垂直领域大模型在领域任务上效果 >相同规模的通用大模型再finetune
垂直领域大模型所用资源<<通用大模型(数据规模和模型规模),就能达到和超大规模模型在领域上接近的效果

领域语料混合训练

路线3:通用语料比例混合领域语料同时预训练,尚无明确的此类模型。
在这里插入图片描述

微调技术探索

增量微调(Delta-tuning)

只更新模型中的少量参数,以降低微调成本,同时保持模型性能。
目标:降低大模型微调成本。由于模型规模的增大,传统微调的方法变得难以实现。更高效率的微调方式,因而称之为增量微调(Delta-tuning)的方法被提出。
方法:Delta tuning只更新少量参数,同时冻结其余占绝大多数的参数。这些年来的研究中,以下几种方法较有代表性:

  • Adapter tuning:在PLM的层之间插入适配器模块,并且只有这些插入的模块在微调期间得到更新。
  • Prefix tuning:通过更新预先插入的参数来调整PLM
  • Prompt tuning:更新任务特定的可训练参数
  • BitFit:只更新PLM中的偏差项,同时冻结PLM其余参数。
  • LORA:将注意力权重梯度分解为低秩矩阵,以减少可训练参数的数量。

在这里插入图片描述
结果显示,delta tuniq和fine tuning之间的差距并非不可逾越,这证明了参数有效自适应的大规模应用的潜力。

多任务提示/指令微调

目标:提升语言模型在多任务中的零样本推理能力。
方法:在多任务数据集上进行微调。微调后的语言模型具有很强的零任务概括能力。
在这里插入图片描述

多任务微调也是很多大模型的常用手段。

COT(Chain-of-Thought)微调

目标:使小语言模型获得思维链能力。
大模型的思维链能力,指的是一步一步地展示推理过程能力。但是,研究者发现,小语言模型(通常小于100B)几乎很难获得这种能力。
为了使小模型也拥有思维链的能力,多个研究使用大模型GPT3,PaIM作为教师模型进行训练,使学生模型T5和fanT5获得了一定的思维链能力。在这里插入图片描述
方法:
1.将文本(questions + prompt)输入给大模型
2.用大模型输出含有思维链且正确的文本作为label
3.用上述数据组成的数据对(右图Reasoning samples),直接对小模型进行微调

提示工程和垂直优化

提示工程( Prompt Engineering):在文本上附加额外的提示(Prompt)信息作为输入,将下游的预测等任务转化为语言模型(Language Model)任务,并将语言模型的预测结果转化为原本下游任务的预测结果,挖掘模型的潜力

垂直领域的提示工程:要让模型完成垂直领域的指定任务,必须能在提示中给模型提出明确的要求,垂直领域的专业任务往往有并把期望的表现阐述清楚,提示工程就是使得模型尽可能按照期望输出的过程

提示生成的产品化:复杂的垂直领域任务可能需要极为丰富的prompt信息,包括各类事实、数据、要求等,并存在层层递进的多步骤任务,因此值得探索产品化方案来生成prompt

产品化思路
基于垂直领域的人类专家,针对每项垂直任务,来设计用于生成prompt的产品

1.由垂直领域的人类专家编写大量不同的Prompt
2.评估并选择模型输出效果好的Prompt
3.将固定和变动的prompt片段进行区分,并形成prompt产品,用于后续使用
4.对多层递进的AIGC任务,形成若干prompt产品

自动化思路
通过借过外部工具,或通过自动化的流程方法和训练方式,对Prompt进行自动优化

1.Prompt优化工具、引擎
2.让LLM模型自己提问、优化
3. Automatic Prompt Engineer(APE)
4. Directional Stimulus Prompting (DSP)

在这里插入图片描述

模型训练加速思路

在这里插入图片描述

  • 分布式并行:通过数据并行、模型并行、流水线并行等技术提高模型训练速度。
    在这里插入图片描述

  • 显存优化:采用混合精度训练、Activation Checkpointing、ZeRO方案等技术降低显存占用。

在这里插入图片描述

结语

通过针对性的训练和优化,大模型能够在特定领域展现更强大的能力,重塑行业工作流程。如它们自动化生成专业文档,智能提取关键信息,优化搜索结果,并在日常办公任务中提供支持,显著提升效率和生产力等。大语言模型的垂直化训练技术是人工智能领域值得关注的方向。

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

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

相关文章

C++·模板进阶

1. 非类型模板参数 之前我们写的模板参数都设定class类型的&#xff0c;这个模板参数用来给下面的代码中的某些元素定义类型&#xff0c;我们管这种模板参数叫类型形参。非类型模板参数就是用一个常量作为模板的一个参数&#xff0c;在模板中可将该参数当作常量来使用&#xff…

RT2-使用NLP的方式去训练机器人控制器

目标 研究在网络数据上训练的视觉语言模型也可以直接结合到端到端的机器人控制中&#xff0c;提升泛化性以及获得突出的语义推理&#xff1b;使得单个的端到端训练模型可以同时学习从机器人观测到动作的映射&#xff0c;这个过程可以受益于基于网络上的语言和视觉语言数据的预训…

Python函数 之 函数基础

print() 在控制台输出 input() 获取控制台输⼊的内容 type() 获取变量的数据类型 len() 获取容器的⻓度 (元素的个数) range() ⽣成⼀个序列[0, n) 以上都是我们学过的函数&#xff0c;函数可以实现⼀个特定的功能。我们将学习⾃⼰如何定义函数, 实现特定的功能。 1.函数是什么…

C++进阶:继承和多态

文章目录 ❤️继承&#x1fa77;继承与友元&#x1f9e1;继承和静态成员&#x1f49b;菱形继承及菱形虚拟继承&#x1f49a;继承和组合 ❤️多态&#x1fa77;什么是多态&#xff1f;&#x1f9e1;多态的定义以及实现&#x1f49b;虚函数&#x1f49a;虚函数的重写&#x1f499…

如何借助社交媒体影响者的力量,让品牌影响力倍增?

一、引言&#xff1a;为何社交媒体影响者如此关键&#xff1f; 在信息爆炸的今天&#xff0c;社交媒体已成为塑造消费者行为与品牌认知的重要渠道。社交媒体影响者&#xff0c;凭借其在特定领域的专业知识、庞大的粉丝基础及高度的互动性&#xff0c;成为了品牌传播不可忽视的…

JVM原理(二四):JVM虚拟机锁优化

高效并发是从JDK 5升级到JDK 6后一项重要的改进项&#xff0c;HotSpot虛 拟机开发团队在这个版本上花费了大量的资源去实现各种锁优化技术&#xff0c;如适应性自旋( Adaptive Spinning)、锁消除( Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Locking)、…

DeepMind的JEST技术:AI训练速度提升13倍,能效增强10倍,引领绿色AI革命

谷歌旗下的人工智能研究实验室DeepMind发布了一项关于人工智能模型训练的新研究成果&#xff0c;声称其新提出的“联合示例选择”&#xff08;Joint Example Selection&#xff0c;简称JEST&#xff09;技术能够极大地提高训练速度和能源效率&#xff0c;相比其他方法&#xff…

数字信号处理教程(3)——z变换

在连续时间域中的每一种分析方法&#xff0c;在离散时间域中想必也能得到对应一种分析方法。连续傅里叶变换对应着离散傅里叶变换&#xff08;DFT&#xff09;&#xff0c;而在拉普拉斯变换则是对应着z变换。z变换能够将信号表示成离散复指数函数的线性组合。连续傅里叶变换可以…

NAT技术及其应用

网络地址转换&#xff08;NAT&#xff0c;Network Address Translation&#xff09;是一种广泛应用于现代网络中的技术&#xff0c;旨在解决IP地址短缺问题&#xff0c;同时增强网络的安全性和灵活性。本文将详细解释NAT技术的工作原理&#xff0c;并探讨其在家庭及企业网络中的…

华为HCIP Datacom H12-821 卷30

1.单选题 以下关于OSPF协议报文说法错误的是? A、OSPF报文采用UDP报文封装并且端口号是89 B、OSPF所有报文的头部格式相同 C、OSPF协议使用五种报文完成路由信息的传递 D、OSPF所有报文头部都携带了Router-ID字段 正确答案&#xff1a;A 解析&#xff1a; OSPF用IP报…

【大模型LLM面试合集】大语言模型架构_layer_normalization

2.layer_normalization 1.Normalization 1.1 Batch Norm 为什么要进行BN呢&#xff1f; 在深度神经网络训练的过程中&#xff0c;通常以输入网络的每一个mini-batch进行训练&#xff0c;这样每个batch具有不同的分布&#xff0c;使模型训练起来特别困难。Internal Covariat…

最佳 iPhone 解锁软件工具,可免费下载用于电脑操作的

业内专业人士表示&#xff0c;如果您拥有 iPhone&#xff0c;您一定知道忘记锁屏密码会多么令人沮丧。由于 Apple 的安全功能强大&#xff0c;几乎不可能在没有密码或 Apple ID 的情况下访问锁定的 iPhone。 “当我忘记密码时&#xff0c;如何在没有密码的情况下解锁iPhone&am…

来一组爱胜品1133DN PRO打印机的照片

刚拆箱的机器正面照片 打开前盖正准备要安装原装耗材 下图是原装耗材&#xff0c;硒鼓型号是DR2833、碳粉盒型号是TN2833,鼓组件打印页数12000页&#xff0c;TN2833标准容量粉盒打印页数1600页/5%覆盖率&#xff0c;TN2833H大容量粉盒打印页数3000页/5%覆盖率、TN2833L超大容量…

【LLM】三、open-webui+ollama搭建自己的聊天机器人

系列文章目录 往期文章回顾&#xff1a; 【LLM】二、python调用本地的ollama部署的大模型 【LLM】一、利用ollama本地部署大模型 目录 前言 一、open-webui是什么 二、安装 1.docker安装 2.源码安装 三、使用 四、问题汇总 总结 前言 前面的文章&#xff0c;我们已经…

Studying-代码随想录训练营day34| 62.不同路径、63.不同路径II、343.整数拆分、96.不同的二叉搜索树

第34天&#xff0c;动态规划part02&#xff0c;牢记五部曲步骤&#xff0c;编程语言&#xff1a;C 目录 62.不同路径 63.不同路径II 343.整数拆分 96.不同的二叉搜索树 总结 62.不同路径 文档讲解&#xff1a;代码随想录不同路径 视频讲解&#xff1a;手撕不同路径 题目…

红酒知识百科:从入门到精通

红酒&#xff0c;这个深邃而迷人的世界&#xff0c;充满了无尽的知识与奥秘。从葡萄的选择、酿造工艺&#xff0c;到品鉴技巧&#xff0c;每一步都蕴藏着深厚的文化底蕴和精细的技艺。今天&#xff0c;就让我们一起踏上这场红酒知识之旅&#xff0c;从入门开始&#xff0c;逐步…

2024年7月1日,公布的OpenSSH的漏洞【CVE-2024-6387】

目录 ■概要 ■概要&#xff08;日语&#xff09; ■相关知识 openssh 和 ssh 有区别吗 如何查看 openssh的版本 漏洞描述 glibc Linux是什么 如何查看系统是不是基于 Gibc RHEL Linux 是基于Glibc的Linux吗 还有哪些 Linux版本是基于 GNU C库&#xff08;glibc&…

Github Actions 构建Vue3 + Vite项目

本篇文章以自己创建的项目为例&#xff0c;用Github Actions构建。 Github地址&#xff1a;https://github.com/ling08140814/myCarousel 访问地址&#xff1a;https://ling08140814.github.io/myCarousel/ 具体步骤&#xff1a; 1、创建一个Vue3的项目&#xff0c;并完成代…

谷粒商城 - 编写一个自定义校验注解

目录 开始 未来实现效果 第一步&#xff1a;编写自定义校验注解 第二步&#xff1a;编写自定义校验器 第三步&#xff1a;编写配置文件 效果演示 开始 未来实现效果 编写一个 ListValue 注解&#xff0c;可以实现功能有&#xff1a; 限定字段的值&#xff0c;例如指定只…

注解复习(java)

文章目录 注解内置注解**Deprecated**OverrideSuppressWarnings【不建议使用】Funcationallnterface 自定义注解元注解RetentionTargetDocumentedInherited 和 Repeatable 反射注解 前言&#xff1a;笔记基于动力节点 注解 注解可以标注在 类上&#xff0c;属性上&#xff0c…