LLMs领域适应的预训练Pre-training for domain adaptation

news2024/11/18 13:25:01

到目前为止,我强调了在开发应用程序时,您通常会使用现有的LLM。这为您节省了大量时间,并可以更快地得到一个工作原型。

但是,有一种情况下,您可能会发现有必要从头开始预训练自己的模型。如果您的目标领域使用的词汇和语言结构在日常语言中并不常用,您可能需要进行领域适应以实现良好的模型性能。

例如,想象一下您是一个开发人员,正在构建一个应用程序,帮助律师和律师助理总结法律摘要。法律写作使用了非常特定的术语,如第一个例子中的"mens rea"和第二个例子中的"res judicata"。这些词在法律界外很少使用,这意味着它们不太可能在现有LLM的训练文本中广泛出现。因此,模型可能难以理解这些术语或正确使用它们。
在这里插入图片描述

另一个问题是,法律语言有时在不同的上下文中使用日常词汇,如第三个例子中的"consideration"。这与友善无关,而是指的是使协议可执行的合同的主要元素。出于类似的原因,如果您尝试在医疗应用中使用现有的LLM,可能会遇到挑战。

医学语言包含许多不常用的词汇来描述医学状况和程序。这些可能不会经常出现在由网络抓取和书籍文本组成的训练数据集中。有些领域也以高度特异的方式使用语言。

这最后一个医学语言的例子可能只是一串随机字符,但它实际上是医生用来写处方的速记。这段文字对于药剂师来说意义非凡,意思是饭后和睡前口服一片,每天四次。
在这里插入图片描述

因为模型通过原始预训练任务学习它们的词汇和语言理解,所以从头开始预训练您的模型将为法律、医学、金融或科学等高度专业化的领域产生更好的模型。

现在,让我们回到BloombergGPT,首次在2023年由Bloomberg的Shijie Wu、Steven Lu和同事们在一篇论文中宣布。BloombergGPT是一个已经为特定领域预训练的大型语言模型的例子,这个领域是金融。

Bloomberg的研究人员选择将金融数据和通用税务数据结合起来,预训练一个在金融基准上取得最佳结果的模型,同时在通用LLM基准上保持竞争性能。因此,研究人员选择了由51%的金融数据和49%的公共数据组成的数据。
在这里插入图片描述

在他们的论文中,Bloomberg的研究人员更详细地描述了模型的架构。他们还讨论了他们是如何从Chinchilla的缩放法则开始寻求指导,以及他们在哪里不得不做出权衡。

这两张图比较了包括BloombergGPT在内的一些LLM与研究人员讨论的缩放法则。
在这里插入图片描述

左边,对角线追踪了一系列计算预算的最佳模型大小,以十亿参数为单位。

右边,线追踪了计算最佳训练数据集大小,以令牌数量为单位。

每张图上的虚线粉红线表示Bloomberg团队用于训练新模型的计算预算。
在这里插入图片描述

粉红色阴影区域对应于Chinchilla论文中确定的计算最佳缩放损失。
在这里插入图片描述

在模型大小方面,您可以看到BloombergGPT大致遵循了给定计算预算为130万GPU小时,或大约2.3亿petaflops的Chinchilla方法。模型只是略高于粉红色阴影区域,表明参数数量接近最佳。
在这里插入图片描述

然而,用于预训练BloombergGPT的实际令牌数量为5690亿,低于可用计算预算的推荐Chinchilla值。小于最佳的训练数据集是由于金融领域数据的有限可用性。
在这里插入图片描述

显示实际约束可能迫使您在预训练自己的模型时做出权衡。

恭喜您完成了第一周的学习,您已经涵盖了很多内容,所以让我们花一分钟回顾一下您所看到的。

  1. Mike带您了解了LLM的一些常见用途,如写作、对话摘要和翻译。
    在这里插入图片描述

  2. 然后,他详细介绍了为这些模型提供动力的Transforms架构。

  3. 并讨论了您在推理时可以使用的一些参数来影响模型的输出。

  4. 他总结了一个您可以用来计划和指导应用程序开发工作的生成性AI项目生命周期。
    在这里插入图片描述

  5. 接下来,您看到了模型在一个称为预训练的初始训练阶段如何在大量的文本数据上进行训练。这是模型发展其语言理解的地方。

  6. 您探讨了训练这些模型的计算挑战,这些挑战是很大的。

  7. 在实践中,由于GPU内存限制,您几乎总是在训练模型时使用某种形式的量化。

  8. 您本周结束时讨论了LLM的缩放法则以及如何使用它们设计计算最佳模型。

如果您想的细节,请务必查看本周的阅读练习。

参考

https://www.coursera.org/learn/generative-ai-with-llms/lecture/BMxlN/pre-training-for-domain-adaptation

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

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

相关文章

无涯教程-PHP - Session选项

从PHP7 起, session_start()()函数接受一系列选项,以覆盖在 php.ini 中设置的会话配置指令。这些选项支持 session.lazy_write ,默认情况下此函数为on,如果会话数据已更改,则会导致PHP覆盖任何会话文件。 添加的另一个…

四、MySQL性能优化

1、SQL性能优化 1、如何分析SQL的性能? 我们可以使用EXPLAIN命令来分析SQL的执行计划 ,执行计划是指一条SQL语句在经过MySQL查询优化器的选择后具体的执行方式 EXPLAIN并不会真的去执行相关的语句,而是通过查询优化器 对语句进行分析&…

lvs实现DR模型搭建

一,实现DR模型搭建 1, 负载调度器配置 1.1调整ARP参数 vim /etc/sysctl.conf net.ipv4.conf.all.send_redirects 0 net.ipv4.conf.default.send_redirects0 net.ipv4.conf.ens33.send_redirects 0 sysctl -p 1.2 配置虚拟IP地…

Android Jetpack Compose中使用字段验证的方法

Android Jetpack Compose中使用字段验证的方法 数据验证是创建健壮且用户友好的Android应用程序的关键部分。随着现代UI工具包Jetpack Compose的引入,处理字段验证变得更加高效和直观。在这篇文章中,我们将探讨如何在Android应用中使用Jetpack Compose进…

AI开源大模型的特点和优势

目前有许多开源的大型AI模型,这些模型在自然语言处理、图像识别、语音处理等领域取得了显著的成果。以下是一些常见的开源大模型及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1…

matlab使用教程(22)—非线性优化函数的设置

1.设置优化选项 可以使用由 optimset 函数创建的 options 结构体来指定优化参数。然后,可以将 options 作为输入传递给优化函数,例如,通过使用以下语法调用 fminbnd x fminbnd(fun,x1,x2,options) 或使用以下语法调用 fminsearch x f…

使用antd mobile的PickerView二次封装成业务所需选择器

这里写目录标题 前言组件选择器视图选择器组件使用示例 注意事项扩展 前言 基于 Vant的checkbox配合popup和input定制选择器 实现一个React的版本 组件库:antd mobile 适用:移动端 UI如下: 功能点: 选择器在弹出层内&#xff0…

四、pikachu之文件包含

文章目录 1、文件包含漏洞概述1.1 文件包含漏洞1.2 相关函数1.3 文件包含漏洞分类 2、File Inclusion(local)3、File Inclusion(remote) 1、文件包含漏洞概述 1.1 文件包含漏洞 文件包含漏洞:在web后台开发中,程序员往往为了提高效率以及让代码看起来更…

AutoSAR 简介

文章目录 什么是 AutoSAR分类AutoSAR 的作用AutoSAR 架构术语介绍工具链介绍参考 随着汽车行业的发展和对汽车电子软件需求的增加,AutoSAR 将会变得越来越重要,但 AutoSAR 入门门槛高、工具链价格昂贵,动辄几百上千万的软件使用授权费对 OEM、…

三种主要的云交付服务和安全模型

对于许多企业来说,当今的数字化转型之旅包括一个关键决策:采用符合其需求的云交付服务。 云计算已成为现代 IT 基础设施的主要组成部分,具有从可扩展性到成本效率等诸多优势。然而,与所有技术一样,云也有其自身的网络…

Linux 定时任务 crontab 用法学习整理

一、linux版本 lsb_release -a 二、crontab 用法学习 2.1,crontab 简介 linux中crontab命令用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。cron 系统调度进程。…

Nets3e v1.1.4(攻击者在受害者主机上偷拍并弹出受害者个人照片)

Github>https://github.com/MartinxMax/Nets3e/tree/Nets3e_V1.1.4 首页 历史更新: Nets3e v1.1.4 新增echo参数,-g -echo,生成payload后,受害者泄露的个人照片将会在受害者的主机上弹出展示 Nets3e v1.1.3 修复受害者无法获取公网IP,新增钉钉实时监控推送 Nets3e v1.1…

73 # 发布自己的 http-server 到 npm

1、添加 .npmignore 文件,忽略不需要的文件 public2、去官网https://www.npmjs.com/检查自己的包名是否被占用 3、切换到官方源,然后检查确认 nrm use npm nrm ls4、登录 npm 账号 npm login5、发布 npm publish6、查看发布情况,发布成功…

虚拟机中Ubuntu 16.04 设置网络

1、打开虚拟机的“编辑”选项,选择“虚拟网络编辑器”,修改网络配置 2、同时打开 Windows下面的命令行,输入ipconfig,看到虚拟网络适配器的地址 1-虚拟机-设置-网络适配器 2-编辑-虚拟网络编辑器-VMnet0 3-编辑-虚拟网络编辑…

Web安全测试(二):HTTP状态码、响应和url详解

一、前言 结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬! 全部…

重新认识Android中的线程

线程的几种创建方式 new Thread:可复写Thread#run方法。也可以传递Runnable对象,更加灵活。缺点:缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统的资源导致死机或oom。 new Thread(new…

【网络安全知识】Windows系统安全加固安全加固分析、概念及账户管理和认证权限

Windows系统安全加固分析 最小化方式安装 为了提高系统的安全性,采用最小化方式安装是最可靠的,只安装网络 服务所必需的组件。如果以后有新的服务需求,再安装相应的服务组件 ,并及时进行安全设置。 系统加固工作 对Windows系统安…

GCC编译器优化等级的选择

GCC编译器通常提供多个优化级别供选择,每个级别对代码进行不同程度的优化。以下是GCC编译器常见的优化级别: 无优化(-O0):这是默认的优化级别,编译器不执行任何优化。适用于调试目的或要求最小编译时间的情…

windows系统下安装Nodejs并安装vue-cli

windows下安装nodejs 下载安装淘宝镜像加速器(cnpm)安装vue-cli初始化一个vue-cli程序 下载 Node.js下载地址 根据自己的电脑选择下载 下载完成后点击下载好的文件 一路next 安装地址可以根据自己的喜好修改 按住win r 输入cmd,按回车,打开命令窗口…

有关Arm CE支持的sha1 sha224 sha256 sha384 sha512指令

快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】:【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈再某一款SOC(cortex-A53)上进行数字摘要计算的时候, 发现sha1 sha224 sha256的性能很高,sha384 sha512的性能…