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

Meta AI动画生成功能的规模化部署与优化策略

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

Meta推出Meta AI的目标是为人们提供利用生成式AI(GenAI)提升生产力和激发创造力的新方式。然而,GenAI也伴随着规模化的挑战。当Meta在部署新的GenAI技术时,Meta也专注于尽可能快速且高效地向人们提供这些服务。

Meta AI的动画生成功能允许用户生成短动画,并且在这一方面Meta面临着独特的挑战。为了在大规模应用中实现此功能,Meta的图像动画生成模型必须能够服务于使用Meta产品和服务的数十亿用户,并且做到快速生成、极少出错且资源高效。

以下是Meta如何通过延迟优化、流量管理和其他新颖技术成功部署Meta AI动画生成功能的过程。

优化生成图像动画的延迟

在将动画生成功能推向Meta应用家族和Meta AI网站之前,使动画模型的运行速度变得更快是Meta的首要任务之一。Meta希望用户能够体验到仅需几秒钟就能看到动画生成的魔力。这不仅从用户角度重要,而且模型越快、效率越高,Meta就能使用更少的GPU,从而实现可持续的规模化发展。Meta在创建带有视频扩散的动画贴纸、加速图像生成的Imagine Flash、以及通过块缓存加速扩散模型方面的工作帮助Meta开发出实现大幅度延迟优化的新技术。

减半浮点精度

这些优化技术之一是将浮点精度减半。Meta将模型从float32转换为float16,这加快了推理时间,主要有两个原因。首先,模型的内存占用减少了一半。其次,16位浮点运算比32位运算速度更快。对于所有模型,Meta使用bfloat16,一种用于训练和推理的float16变体,以获取这些优势。

改进时序注意力扩展

第二项优化是改进了时序注意力扩展。时序注意力层在时间轴和文本条件之间进行注意力计算,需要将上下文张量复制以匹配时间维度或帧数。以前,这是在传递到交叉注意力层之前完成的。然而,这导致了性能提升不理想。Meta选择的优化实现通过利用重复张量是相同的这一事实,在通过交叉注意力线性投影层之后进行扩展,从而减少计算和内存消耗。

利用DPM-Solver减少采样步骤

第三项优化使用了DPM-Solver。扩散概率模型(DPMs)是一种功能强大且有影响力的模型,能够生成高质量的结果,但其速度较慢。其他可能的解决方案,如去噪扩散隐式模型或去噪扩散概率模型,虽然可以提供高质量的生成,但需要更多的采样步骤。Meta利用了DPM-Solver和线性对数信噪比时间,将采样步骤减少到15步。

结合引导和步骤蒸馏

Meta实施的第四项优化是结合引导和步骤蒸馏。通过初始化教师和学生权重相同的模型,Meta进行了步骤蒸馏,训练学生模型在单步内模仿教师模型的多个步骤。引导蒸馏方面,Meta通过无分类器引导的方式实现了条件图像生成。这要求每个求解步骤都进行有条件和无条件的前向传递。然而,在Meta的场景中,每步有三个前向传递:无条件、图像条件和完整的文本与图像条件。通过引导蒸馏,Meta将这三个前向传递合并为一个,使推理时间缩短了三倍。最后,通过训练学生模型同时模仿无分类器引导和多步骤操作,Meta的最终模型只需八步求解,每步只需要一次通过U-Net。

PyTorch优化

最后一项优化涉及部署和架构,包含两项转化。首先是利用TorchScript进行脚本化和冻结。通过将模型转换为TorchScript,Meta获得了许多自动优化,包括连续折叠、多个操作的融合以及减少计算图的复杂性。这三项优化帮助Meta提高了推理速度,而冻结技术通过将图中的动态计算值转化为常量,进一步减少了总操作数。

虽然这些优化对于Meta的初次发布至关重要,但Meta还在持续突破界限。例如,Meta将所有媒体推理从TorchScript迁移到基于PyTorch 2.0的解决方案,这为Meta带来了多项提升。通过在组件级别利用pytorch.compile进行优化,以及在新架构中启用上下文并行和序列并行等高级优化技术,Meta实现了从减少高级功能的开发时间到改进跟踪、支持多GPU推理的全面胜利。

在大规模部署图像动画

在完全优化模型后,Meta面临的新挑战是如何在全球范围内运行此模型,支持来自世界各地的流量,同时保持快速的生成时间,尽量减少故障,并确保GPU可以用于公司内的其他重要用例。

Meta首先查看了以前AI生成媒体的流量数据,包括其发布时和随时间推移的流量情况。Meta使用这些信息来估算可以预期的请求数量,并利用模型速度的基准测试来确定需要多少GPU来容纳这些请求。在扩大规模后,Meta开始进行负载测试,以查看是否可以处理各种流量水平,解决各种瓶颈,直到Meta能够处理发布时预计的流量为止。

在测试过程中,Meta注意到动画请求的端到端延迟比预期高,并且高于Meta在构建上述所有优化后看到的情况。调查显示,流量在全球范围内被路由,导致显著的网络和通信开销,增加了生成时间。为了解决这个问题,Meta利用了流量管理系统,该系统获取服务的流量或负载数据并使用这些数据计算路由表。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Jenkins+Docker | K8S虚拟化实现网站自动部署 简单流程 未完待续,,
  • 多人协作开发git merge合并功能出现冲突时解决思路
  • 如何识别视频里的声音转化为文字?视频转文字方法
  • nacos注册中心与配置中心
  • 环境变量与开机自启手册
  • Redis key的过期时间和永久有效
  • Maven的相关配置和语法解释
  • 如何处理在学校Linux连接不上服务器
  • 培训第三十七天(Dockerfile与registry)
  • 设计模式—工厂模式
  • Redux的中间件原理分析
  • R 语言学习教程,从入门到精通,R 绘图 中文支持(25)
  • C语言迷宫制造
  • 写个IDEA插件
  • C语言基础(二十)
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • extract-text-webpack-plugin用法
  • github从入门到放弃(1)
  • Java 网络编程(2):UDP 的使用
  • Java读取Properties文件的六种方法
  • jquery ajax学习笔记
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Selenium实战教程系列(二)---元素定位
  • tweak 支持第三方库
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue UI框架库开发介绍
  • vue学习系列(二)vue-cli
  • 初识 beanstalkd
  • 从tcpdump抓包看TCP/IP协议
  • 高程读书笔记 第六章 面向对象程序设计
  • 基于HAProxy的高性能缓存服务器nuster
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 移动端解决方案学习记录
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # Java NIO(一)FileChannel
  • # Redis 入门到精通(九)-- 主从复制(1)
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #include到底该写在哪
  • (12)目标检测_SSD基于pytorch搭建代码
  • (C语言)球球大作战
  • (Java数据结构)ArrayList
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二) 初入MySQL 【数据库管理】
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (十三)MipMap
  • (循环依赖问题)学习spring的第九天
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ***通过什么方式***网吧
  • ***原理与防范
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • /run/containerd/containerd.sock connect: connection refused