大语言模型概述(二):基于亚马逊云科技的研究分析与实践

news2024/11/17 11:24:49

上期介绍了大语言模型的定义和发展历史,本期将分析基于亚马逊云科技的大语言模型相关研究方向,以及大语言模型的训练和构建优化。

大语言模型研究方向分析

Amazon Titan

2023 年 4 月,亚马逊云科技宣布推出 Amazon Titan 大语言模型。根据其以下官方网站和博客的信息(如下图所示):一些亚马逊云科技的客户已经预览了亚马逊全新的 Titan 基础模型。目前发布的 Amazon Titan 大语言模型主要包括两个基础模型:

针对总结、文本生成、分类、开放式问答和信息提取等任务的生成式大语言模型;

文本嵌入(embeddings)大语言模型,能够将文本输入(字词、短语甚至是大篇幅文章)翻译成包含语义的数字表达(jiembeddings 嵌入编码)。

虽然这种大语言模型不生成文本,但对个性化推荐和搜索等应用程序却大有裨益,因为相对于匹配文字,对比编码可以帮助模型反馈更相关、更符合情境的结果。实际上,Amazon.com 的产品搜索能力就是采用了类似的文本嵌入模型,能够帮助客户更好地查找所需的商品。为了持续推动使用负责任AI的最佳实践,Titan 基础模型可以识别和删除客户提交给定制大语言模型的数据中的有害内容,拒绝用户输入不当内容,过滤模型中包含不当内容的输出结果,如仇恨言论、脏话和语言暴力。

Alpaca: LLM Training LLM

2023 年 3 月 Meta 的 LLaMA 大语言模型发布,该大语言模型对标 GPT-3。已经有许多项目建立在 LLaMA 大语言模型的基础之上,其中一个著名的项目是 Stanford 的羊驼(Alpaca)大语言模型。Alpaca 基于 LLaMA 大语言模型,是有 70 亿参数指令微调的语言 Transformer。Alpaca 没有使用人工反馈的强化学习(RLHF),而是使用监督学习的方法,其使用了 52k 的指令-输出对(instruction-output pairs)。

LLaMA 大语言模型:

研究人员没有使用人类生成的指令-输出对,而是通过查询基于 GPT-3 的 text-davinci-003 模型来检索数据。因此,Alpaca 本质上使用的是一种弱监督(weakly supervised)或以知识蒸馏(knowledge-distillation-flavored)为主的微调。

这里值得关注的是羊驼(Alpaca)大语言模型的训练数据,是通过查询 GPT-3 大语言模型获得的。通俗地来说,这是“用 LLM 来训练 LLM”,或者称之为“用 AI 来训练 AI”。我觉得大多数人可能低估了这件事情对人类社会影响的意义,我觉得其意义非凡。这意味着:AI 之间的相互学习成长这件事,已经开始了。很多年后,当我们回望 AI 世代的演进史,这件事也许会是一个重要的时间节点。

PaLM-E: Multimodality

在 2023 年 3 月,PaLM-E 大语言模型发布,展示了在大语言模型和多模态数据模式(multimodality)融合的一些最新进展。这是大语言模型的另一个重要趋势:通过视觉、多模态和多任务训练来扩展能力。

如以上论文中的图示,PaLM-E 大语言模型是一种用于具体推理任务、视觉语言任务和语言任务的单一通用多模态大语言模型。PaLM-E 大语言模型对多模态句子进行操作,即一系列标记,其中来自任意模式(例如图像、神经三维表示或状态,绿色和蓝色)的输入与文本标记(橙色)一起插入,作为 LLM 的输入,经过端到端训练。

该论文展示了 PaLM-E 在三个不同的机器人领域做迁移学习的测试结果对比图。使用 PaLM-E 、ViT 预训练、机器人和视觉语言的混合数据组合,与仅对相应的域内数据进行训练相比,有显著的性能提升。

值得注意的是,PaLM-E 继续被训练为一个完全基于解码器的 LLM,它根据给定的前缀或提示自回归生成文本补全。那么,它们如何启用状态表征或者图像的输入呢?他们对网络进行了预训练以将其编码为 embeddings。对于图像,他们使用 4B 和 22B 参数的视觉 Transformer (ViT) 来生成嵌入向量;然后对这些嵌入向量进行线性投影,以匹配单词令牌嵌入的嵌入维度。

在训练过程中,为了形成多模态的句子,他们首先使用特殊标记 Tokens,例如:<img1>、<img2> 等,然后将其与嵌入的图像交换(类似于通过嵌入层嵌入单词标记的方式)。

一些第三方领域学者对其论文和展示的性能提升也做了分析,如上图所示。使用 PaLM-E 、ViT 预训练、机器人和视觉语言的混合数据组合进行联合训练,与针对单个任务的训练模型相比,可以实现两倍以上的性能提升。

大语言模型的训练和构建优化

训练大语言模型的挑战

训练大语言模型涉及许多挑战。这些挑战概括来说,大致来自于六个方面,如下图示:

硬件(Hardware)

健康检查(Health Checks)

编排(Orchestration)

数据(Data)

规模扩展(Scaling up)

成本考虑(Cost)

首先是硬件。你想使用最新的硬件。最新的硬件通常可以让你在各种基准测试中获得更好的性能,因此,如果这些大语言模型需要数周或数月的时间来训练,而你没有利用最新硬件的性能优势,那么你将无法训练大语言模型以获得最适合你的用例的结果。

第二个是健康检查。您需要确保硬件运行良好,以便最大限度地减少大语言模型训练期间的干扰。

我们还需要考虑编排,启动集群,关闭集群,确保网络和安全配置运行良好,机器学习团队在运行各种工作负载时不会相互干扰。

我们需要考虑的其他事情是大数据集。存储、处理和加载它们以进行机器学习训练并不是一件容易的事,并且可能需要大量的开发工作才能高效完成。

我们扩大基础设施的规模并设计算法以绕过基础设施的局限性是另一个挑战。我们今天谈论的大语言模型通常不适用于单个 GPU,因此你必须考虑如何将该大语言模型拆分到 GPU 上。

最后,我们必须考虑成本。这些大语言模型的训练成本可能高达数十万甚至数百万美元。所以,你想很好地利用机器学习团队的时间。与其让他们在基础架构上工作,他们可以专注于尝试新的大语言模型创意,这样您的企业就可以利用该大语言模型取得最佳结果。

大语言模型的构建优化

幸运的是,Amazon SageMaker 可以帮助你应对所有这些挑战,从而加速大语言模型的训练。现在,Amazon SageMaker 可帮助您使用托管基础设施、工具和工作流程为任何用例构建、训练和部署机器学习模型。如下图所示。

下图中黄色的部分,例如:Amazon SageMaker 分布式训练库、Amazon SageMaker 训练编译优化等,我们还会在下一篇的动手实验部分,用完整的代码来演绎实现,让你有更身临其境的感受。

在下层,我们有基础设施,Amazon SageMaker 可让你访问最新的硬件,包括 GPU 和 Trainium,以及实例之间的快速网络互连,这对于分发训练至关重要。

在中间层,有托管基础设施和工具的能力。

Amazon SageMaker 会为你处理大规模集群编排,它加速了集群,最后它会向下旋转。它有助于完成所有这些安全和网络配置,因此你可以轻松保护客户数据和 IP 的安全。

在训练工作开始时还会进行健康检查,以确保硬件有效运行,减少对训练工作的干扰。编排还意味着你只需为所用的计算资源付费。你只需要在集群启动时付费,为你训练大语言模型,这样你就不必全天候为所有昂贵的硬件付费。

还有用于分析、调试和监控实验的工具,以及使用各种策略进行超参数优化的工具,以确保获得尽可能好的大语言模型。

在顶层,有针对云端进行了优化的框架和库,例如在 Amazon SageMaker 上非常易于使用的 PyTorch、TensorFlow 和 Hugging Face,以及可帮助你处理超大型数据集或超大语言模型的 Amazon SageMaker 分布式训练库。

我已经谈了很多使用 Amazon SageMaker 进行训练的能力和好处,让我们来谈谈它是如何运作的。训练大语言模型,我们需要一些计算资源,然后在某些数据集上运行我们编写的训练代码。Amazon SageMaker 做到这一点的方法是:通过启动短暂的训练集群来完成任务。

当提交训练作业时,Amazon SageMaker 将根据你选择的集群配置启动集群。它将从 ECR 加载训练代码,从 S3 加载数据,然后开始训练。训练过程中,它会将日志和指标输出到 CloudWatch,将大语言模型检查点(checkpoint)同步到 S3,并在任务结束时关闭集群。如果你编写的代码考虑了具有弹性,编写成能够从检查点自动恢复,则你的训练作业将无需手动干预即可自动重启。

以下是用于开始训练作业的核心代码,即 estimator API:

from sagemaker.pytorch import PyTorch

estimator = PyTorch(entry_point = ‘./cifar10.py’,

role = role,

framework_version = ‘1.13’,

py_version = ‘py38’,

instance_count = 1,

instance_type = ‘ml.g5.xlarge’,

hyperparameters = {‘epochs’: 50, ‘batch_size’: 32},

metric_definitions = [{‘Name’: ‘train:loss’, ‘Regex’: ‘loss: (.*)’}]

estimator.fit(“s3://bucket/path/to/training/data”)

这里选择了 PyTorch 估算器,并定义了入口点的函数文件:cifar10.py。这与我们在自己的本地电脑上运行用于训练大语言模型的脚本非常相似,我们称之为脚本模式。使用 Amazon SageMaker 训练作业的方法有很多,灵活性更强,你可以提供自己的 docker 容器或一些内置算法。

然后定义想要使用的框架和 Python 版本,以及训练作业的实例类型、实例数量和超参数。你现在可以随时轻松更改这些内容,启动其他训练任务来尝试不同的实例类型,看看哪种硬件最适合你的用例。

接下来将给出指标定义。这将告诉 Amazon SageMaker 如何解析从脚本中输出的日志,Amazon SageMaker 会将这些指标发送到 CloudWatch,供你稍后查看。

 最后调用 estimator.fit(),其中包含训练数据的路径。

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

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

相关文章

Azure Machine Learning - 创建Azure AI搜索服务

目录 准备工作查找 Azure AI 搜索产品/服务选择订阅设置资源组为服务命名选择区域选择层创建服务配置身份验证扩展服务何时添加第二个服务将多个服务添加到订阅 Azure AI 搜索是用于将全文搜索体验添加到自定义应用的 Azure 资源&#xff0c;本文介绍如何创建Azure AI搜索服务 …

ROS知识:卡尔曼滤波

https://en.wikipedia.org/wiki/Kalman_filter 一、提要 在卡尔曼滤波的相关技术文献中,其数学表达看起来都非常晦涩和不透明。这很糟糕,如果您以正确的方式看待卡尔曼滤波器,它实际上非常简单易懂。这里的叙述简单,先决条件也很简单;您所需要的只是对概率和矩阵的基本了解…

数字孪生智慧校园 Web 3D 可视化监测

当今&#xff0c;智慧校园发展阶段亟需推动信息可视化建设与发展&#xff0c;将大数据、云计算、可视化等高新技术相融合&#xff0c;为校园师生创造科学智能的学习环境&#xff0c;并实现教学资源最大化和信息服务智能化。帮助学校更好地应用校园可视化技术&#xff0c;提升校…

java--static修饰成员方法

1.成员方法的分类 ①类方法&#xff1a;有static修饰的成员方法&#xff0c;属于类 ②实例方法&#xff1a;无static修饰的成员方法&#xff0c;属于对象。 2.成员方法的执行原理 解析&#xff1a; 第一行代码&#xff1a;扫描class包名&#xff0c;在方法区生成一个Test.cl…

chatGPT4机器学习数据后最终保留在机器里的是什么? 机器是怎么产生智能的? TensorFlow没有直接开发出类似GPT-4这样的模型

机器学习数据后最终保留在机器里的是机器学习模型。机器学习模型是机器学习系统中的核心&#xff0c;它是机器学习系统能够进行推理和预测的基础。 机器学习模型通常由参数组成。参数是机器学习模型的权重和偏差。机器学习系统通过训练来学习这些参数。训练是指让机器学习系统…

46、Flink 的table api与sql之配项列表及示例

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

opencv-GrabCut 图像分割算法

GrabCut 是一种图像分割算法&#xff0c;通过迭代优化的方式将图像分割为前景和背景。这种算法最初由Carsten Rother、Vladimir Kolmogorov和Andrew Blake于2004年提出。 GrabCut 算法的基本思想是通过用户**提供的一个矩形区域&#xff08;称为"掩模"&#xff09;*…

【C++】:多态

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关多态的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结…

MFC所有控件介绍及基本使用

一、前言 本篇文档介绍了MFC控件的基本使用&#xff0c;同时提供了关于MFC控件使用的工程代码&#xff0c;程序界面如下图&#xff0c;有兴趣的可以到文档最后的链接处进行下载。 二、控件介绍 2.1 Button &#xff08;按钮&#xff09; 2.2 CheckBox&#xff08;复选框&am…

【算法】链表-20231124

这里写目录标题 一、83. 删除排序链表中的重复元素二、206. 反转链表三、234. 回文链表 一、83. 删除排序链表中的重复元素 简单 1.1K 相关企业 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例…

Android相机性能提高50%

文章目录 应用举例&#xff08;可以不看这一part&#xff0c;直接跳过看具体怎么做&#xff09;&#xff1a;Snapchat 通过 Camera2 Extensions API 将新相机功能的集成速度提高了 50%**Camera2 扩展 API 可以访问高级功能更多设备上的更多机会 正文&#xff1a;开始使用扩展架…

甄知燕千云ITAM,您的IT资产管理专家

IT 资产是实现企业持续发展的重要资源之一&#xff0c;也是反观企业数字化转型发展的缩影。通常情况下&#xff0c;IT 资产指组织拥有、租赁或使用的任何信息技术设备和资源&#xff0c;这些设备和资源对组织的业务运行起到支持作用。包括硬件设备&#xff08;如服务器、计算机…

Rust语言入门教程(一) - 简介及Cargo使用

Rust编程入门 为什么学习Rust 我本人是一个DevOps工程师&#xff0c;并不是专职的开发人员&#xff0c;但需要了解各种各样的语言的基本知识和特性&#xff0c;以便在不同的项目中帮助开发人员设计软件架构&#xff0c;部署流程以及进行错误排查和调试。但是对任何新生的优秀…

大语言模型概述(三):基于亚马逊云科技的研究分析与实践

上期介绍了基于亚马逊云科技的大语言模型相关研究方向&#xff0c;以及大语言模型的训练和构建优化。本期将介绍大语言模型训练在亚马逊云科技上的最佳实践。 大语言模型训练在亚马逊云科技上的最佳实践 本章节内容&#xff0c;将重点关注大语言模型在亚马逊云科技上的最佳训…

数据结构算法-贪心算法

引言 贪心&#xff1a;人只要有 “需求“ &#xff0c;都会有有点“贪“&#xff0c; 这种“贪“是一种选择&#xff0c;或者“”取舍“ RTS&#xff08;即时战略&#xff09;游戏&#xff1a; 帝国时代里 首先确保拥有足够的人口 足够的粮食&#xff0c;足够的战略资源 足够的…

VMware vShere download

VMware 前言 VMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere 将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。 vSphere 的两个核心组件是 ESXi 和 vCenter Ser…

前端必学——实现电商图片放大镜效果(附代码)

放大镜可以说是前端人必须学会的程序之一,今天的案例为大家展示一下怎么实现放大镜的效果&#xff01; 效果图展示 整个效果就是当鼠标放到展示图上的时候&#xff0c;会出现一个遮罩层以及弹出来一个框展示一个详情图&#xff0c;并且鼠标移动的时候详情图跟着移动&#xff0c…

老外对开发信的评价是什么?如何写开发信?

老外对开发信的评价和态度怎么样&#xff1f;国外客户喜欢的开发信类型有哪些&#xff1f; 许多中国公司和个人都在与老外打交道时&#xff0c;不可避免地需要发送开发信。但是&#xff0c;老外对开发信的评价究竟如何呢&#xff1f;在这篇文章中&#xff0c;蜂邮将深入探讨老…

【代码可视化实践】代码变更影响分析 | 京东云技术团队

1.前言 笔者前文“浅析代码可视化”中讲述了代码可视化的基本实现原理&#xff0c;并给出了一些业界的应用场景。由于涉及原理和技术范围较广&#xff0c;以笔者能力难以做到面面俱到&#xff0c;为了减少信息传递偏差&#xff0c;便给出了一些信息来源供读者深入阅读。不过针…