在亚马逊云科技上高效蒸馏低成本、高精度的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 资源信息;在一些特殊的输入记录程序里,可能会涉及到键盘监控;而在图形界面开发中…...

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 算法…...

零基础一篇打通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: 功能与操作类 支付问题:如无法成功完成支付,支付过程中出现延迟、错误或订单重复支付等,还可能因网络问题导致支付失败或数据不一致。 登录 / 注册问题:用户在注册或登录时可能遇到…...

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

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...