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

在亚马逊云科技上高效蒸馏低成本、高精度的Llama 3.1 405B模型(上篇)

在2024年的亚马逊云科技re:Invent全球云计算春晚里,亚马逊云科技CEO - Matt Garman介绍了亚马逊云科技的AI模型托管平台Amazon Bedrock上的模型蒸馏服务Model Distillation,令小李哥印象十分深刻。该功能可自动化地为特定场景的知识创建一个蒸馏模型。它通过一个大参数的基础模型(FM),即教师模型(Teacher Model)生成回复响应,并使用这些响应对一个较小的学生模型(Student Model)进行微调。同时该新功能采用数据合成技术来改进教师模型的响应。Amazon Bedrock 会托管最终的蒸馏模型用于推理,为特定知识场景提供响应速度更快、成本更低,且精度接近教师模型的新模型。

我想各位开发者们肯定是希望在能使用功能强大而且非常精确的AI基础模型来构建他们的生成式AI应用。然而在某些特定的场景知识下,这些模型的延迟和精确度可能并不理想。此外随着生成式AI应用扩展到数非常庞大的用户交互,开发者们希望获得更好的性价比,毕竟开发者不是企业用户,无法负担得起庞大的AI成本。为了降低延迟并提高成本效益,很多开发者开始转向较小规模的模型。然而对于某些只是场景下,较小的模型由于参数较低、知识背景有限,无法提供最佳精度。通常开发者们会转向微调模型来解决该问题,但是微调需要额外的专业AI技能来创建高质量的标注数据集,才能提升模型在特定用例上的准确性。

为了解决以上的问题,我们不得不提到借助Amazon Bedrock的新功能Model Distillation 模型蒸馏,通过该功能我们将大模型的知识转移到小模型,提升小型学生模型的精度,使其表现和性能接近于高性能教师模型。通过蒸馏技术,开发者就可以为特定场景知识创建更小的模型,这些模型在某些场景下的推理速度最高可提升至传统大模型的5倍,成本最多可降低75%!!!!并且在热门的检索增强生成RAG等用例中,仅会损失不到2%的准确精度。不过通常模型蒸馏一般是将所选教师模型的知识传递给同一系列的学生模型,如Amazn Nova系列、Anthropic Claude系列等。

在本系列的上篇中,小李哥会带大家了解模型蒸馏的背后原理,以及如何在亚马逊云科技上给Llama 3.1创建一个蒸馏任务。

文章所需背景知识

模型蒸馏的背后原理

亚马逊云科技上的上的模型蒸馏通常是通过教师大模型生成响应,利用专有数据合成技术改进教师模型的响应生成,并对学生模型进行微调提高特定知识场景的性能。Amazon Bedrock采用了多种行业领先的数据合成技术来增强教师模型的响应生成能力,并创建高质量的微调数据集。这些技术针对特定的场景进行了优化,比如Amazon Bedrock可以根据开发者现有数据集内的提示词,生成类似的提示词来扩充训练数据集,从而有效地增加微调数据的数量,解决开发者微调训练集不足的问题。此外还可以使用Amazon Bedrock提供的人工专业生成的预制提示-响应对作为训练集,以生成高质量的教师模型响应。目前Amazon Bedrock Model Distillation模型蒸馏功能支持Anthropic、Meta和Amazon Nova模型。

什么是Amazon Bedrock服务?

Amazon Bedrock 是亚马逊云科技(AWS)提供的一项生成式AI管理管理服务,可以帮助开发者轻松构建和部署基于基础模型(Foundation Models, FMs)的生成式AI应用。借助 Amazon Bedrock,开发者无需管理底层基础设施,即可在亚马逊云科技上访问来自多个领先AI模型提供商的预训练模型,快速实现文本生成、图像创作、语义搜索等AI任务。如Anthropic、AI21 Labs、Cohere和Stability AI等厂商。

Amazon Bedrock可广泛应用于智能客服、内容生成、个性化推荐、代码生成、营销自动化等多个领域,帮助开发者减去基础设施维护、成本托管的高昂成本,仅需API调用即可便捷的将模型的能力集成到AI应用之中,提升用户体验和运营效率。

在亚马逊云科技上创建模型蒸馏的实操步骤

首先进入亚马逊云科技Amazon Bedrock控制台,在左侧导航栏中选择Custom models(自定义模型)。我们可以看到三种自定义方法:微调(Fine-tuning)、蒸馏(Distillation)和持续预训练(Continued pre-training)。

2)我们如上图选择 “Create Distillation job”(创建蒸馏任务),开始使用模型蒸馏对我们想使用的大模型进行蒸馏。

3)输入您的蒸馏模型名称和任务名称,这里可以任起名字。

4)然后我们选择教师模型(Teacher Model) -  Llama 3.1 405B Instruct,并根据所选教师模型从可用的学生模型列表中选择一个学生模型(Student Model)。教师模型和学生模型必须属于同一系列,且学生模型参数需要小于教师模型。例如如果我们选择Meta Llama 3.1 405B Instruct作为教师模型,那么我们只能选择Llama 3.1 70B或8B Instruct作为学生模型。

5)接下来我们进入合成数据步骤。在生成合成数据时,我们需要设置参数Max response length(最大响应长度),该推理参数用于确定教师模型生成的响应内容长度。

接着选择上传S3存储桶中的蒸馏输入数据集。该输入数据集已包括现有的提示或专业人工生成提示-响应对。输入文件的格式必须符合所选模型的要求。通常数据集以 JSON 格式存储,每个数据包含输入文本和相应的标签。例如每个 JSON 对象可能包含一个 “input” 字段和一个 “label” 字段,其中 “input” 包含模型需要预测的文本,“label” 包含相应的目标输出。

6)选择Amazon S3存储桶以存储蒸馏输出的任务指标数据,并设置相应的IAM角色访问权限以确保允许Amazon Bedrock在S3桶中存入数据,之后点击 “Create Distillation job”(创建蒸馏作任务),点击后会自动开始模型蒸馏任务。

7)蒸馏任务创建成功后,我们可以在控制台主页的Jobs页面中跟踪训练的进度,待任务完成后,蒸馏后的模型将在同一页面的Models选项卡中出现并可以使用。

相关文章:

在亚马逊云科技上高效蒸馏低成本、高精度的Llama 3.1 405B模型(上篇)

在2024年的亚马逊云科技re:Invent全球云计算春晚里,亚马逊云科技CEO - Matt Garman介绍了亚马逊云科技的AI模型托管平台Amazon Bedrock上的模型蒸馏服务Model Distillation,令小李哥印象十分深刻。该功能可自动化地为特定场景的知识创建一个蒸馏模型。它…...

Amazon MSK 开启 Public 访问 SASL 配置的方法

1. 开启 MSK Public 1.1 配置 MSK 参数 进入 MSK 控制台页面,点击左侧菜单 Cluster configuration。选择已有配置,或者创建新配置。在配置中添加参数 allow.everyone.if.no.acl.foundfalse修改集群配置,选择到新添加的配置。 1.2 开启 Pu…...

LeetCode_438.找到字符串中所有字母异位词

给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 示例 1: 输入: s "cbaebabacd", p "abc" 输出: [0,6] 解释: 起始索引等于 0 的子串是 "cba", 它是 "a…...

一文读懂服务器的HBA卡

什么是 HBA 卡 HBA 卡,全称主机总线适配器(Host Bus Adapter) ,是服务器与存储装置间的关键纽带,承担着输入 / 输出(I/O)处理及物理连接的重任。作为一种电路板或集成电路适配器,HBA…...

Debezium日常分享系列之:对于从Oracle数据库进行快照的性能优化

Debezium日常分享系列之:对于从Oracle数据库进行快照的性能优化 源数据库Kafka Connect监控测试结果 源数据库 Oracle 19c,本地,CDB数据库主机的I/O带宽为6 GB/s,由此主机上运行的所有数据库共享临时表空间由42个文件组成&#x…...

深度学习 Pytorch 基本优化思想与最小二乘法

在正式开始进行神经网络建模之前,我们还需要掌握pytorch中最核心的基础数学工具——autograd(自动微分)模块。虽然对于任何一个通用的深度学习框架都会提供许多自动优化的算法和现成的loss function,但如果想更深入理解神经网络,对深度学习的…...

C# 实现系统信息监控与获取全解析

在 C# 开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途。比如在系统性能优化工具中,需要实时读取 CPU、GPU 资源信息;在一些特殊的输入记录程序里,可能会涉及到键盘监控;而在图形界面开发中&#xf…...

Transformer详解:Attention机制原理

前言 Hello,大家好,我是GISer Liu😁,一名热爱AI技术的GIS开发者,本系列文章是作者参加DataWhale2025年1月份学习赛,旨在讲解Transformer模型的理论和实践。😲 本文将详细探讨Attention机制的原理…...

网络安全技术深度解析与实践案例

网络安全技术深度解析与实践案例 随着信息技术的飞速发展,网络已成为现代社会不可或缺的一部分。然而,网络空间的开放性也带来了各种安全隐患。为了保障网络和数据的安全,网络安全技术显得尤为重要。本文将深入探讨网络安全技术的核心要素,并通过Python代码示例展示其具体…...

JavaScript中提高效率的技巧一

1.生成随机颜色的两种方式 1).生成RandomHexColor const generateRandomHexColor () > {return #${Math.floor(Math.random() * 0xffffff).toString(16).padStart(6, 0)} } generateRandomHexColor() // #a8277c generateRandomHexColor() // #09c20c generat…...

美食推荐系统 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离

个性化美食推荐系统 协同过滤余弦函数推荐美食 Echart数据统计 Springboot Vue Element-UI前后端分离 【亮点功能】 1.SpringbootVueElement-UIMysql前后端分离 2.Echarts图表统计数据, 直观展示数据情况 3.发表评论后,用户可以回复评论, 回复的评论可以被再次回复,…...

ThinkPHP 8的一对多关联

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…...

Django简介与虚拟环境安装Django

目录 1.Django简介 1.1 Django 的核心特点 1.2 Django 的核心组件 1.3 Django 的应用场景 1.4 总结 2.基础环境建立 2.1 创建虚拟环境 2.1.1 使用 virtualenv 创建虚拟环境 2.1.2 使用 venv 创建虚拟环境 2.2 激活虚拟环境 2.2.1 在 Windows 上 2.2.2 在 macOS 或 …...

Redis延迟队列详解

以下是对 Redis 延迟队列的详细解释: 一、什么是 Redis 延迟队列 Redis 延迟队列是一种使用 Redis 实现的消息队列,其中的消息在被消费之前会等待一段时间,这段时间就是延迟时间。延迟队列常用于一些需要延迟处理的任务场景,例如订…...

一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用

一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用 1. 建议按文章顺序从头看是看 第一篇:一文大白话讲清楚啥是个webpack第二篇:一文大白话讲清楚webpack基本使用——1——完成webpack的初步构建然后看本篇,Loader的配置…...

第二代增强-采购申请屏幕增强

这篇文章可能有点乱,但是都是学习的一个过程,问题就是在ME52N修改采购申请增强字段之后,点击保存之后无法更新到数据库,困扰了很久,终于解决了,特此记录 文章目录 需求创建增强结构测试屏幕ZXM02TOP创建屏幕…...

图论DFS:黑红树

我的个人主页 {\large \mathsf{{\color{Red} 我的个人主页} } } 我的个人主页 往 {\color{Red} {\Huge 往} } 往 期 {\color{Green} {\Huge 期} } 期 文 {\color{Blue} {\Huge 文} } 文 章 {\color{Orange} {\Huge 章}} 章 DFS 算法:记忆化搜索DFS 算法&#xf…...

零基础一篇打通Vue极速通关教程

文章目录 写给零基础看的Vue极速掌握教程第1章 Vue简介1.1 Vue 概述1.2 MVVM 模式1.3 WebStorm开发工具1.3.1 WebStorm简介1.3.2 集成Vue开发调试工具 第2章 Vue的事件绑定2.1 Vue基本使用2.1.1 插值表达式2.1.2 注意事项 2.2 Vue事件绑定2.1.1 点击事件2.2.2 键盘事件2.2.3 移…...

商城系统中的常见 BUG

以下是商城系统中一些常见的 BUG: 功能与操作类 支付问题:如无法成功完成支付,支付过程中出现延迟、错误或订单重复支付等,还可能因网络问题导致支付失败或数据不一致。 登录 / 注册问题:用户在注册或登录时可能遇到…...

下定决心不去读研了。。。

大家好,我是苍何。 之前发表过一篇文章,表达了自己读研的困惑和纠结,得到了大家很多的建议,也引起了很多人的共鸣,在留言区分享了自己的故事,看着这些故事,我觉得都够苍何写一部小说了。 可惜苍…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

Matlab实现任意伪彩色图像可视化显示

Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中&#xff0c;如何展示好看的实验结果图像非常重要&#xff01;&#xff01;&#xff01; 1、灰度原始图像 灰度图像每个像素点只有一个数值&#xff0c;代表该点的​​亮度&#xff08;或…...