本文经AI新媒体量子位授权转载(公众号ID:QbitAI),转载请联系出处。《AI绘画》是2022年最火的抖音特效游戏,用户只需输入一张图片,AI就会根据图片生成一张动漫风格的图片。由于生成的图片效果具有一定的“盲盒”属性,画风精致漂亮又带点傻傻,一经推出就引起了广大用户的参与热情,单日投稿量高达抖音724w,也引发了“如何驯服AI”“谁来替我说话”等讨论和分享。据抖音“AI绘画”特效首页显示,已有2758.3万用户使用过该特效。作为抖音SSS级特效,《AI绘画》的峰值QPS(每秒请求数)也高达1.4w。如何保证用户的实时体验对技术环节提出了非常高的挑战,抖音是怎么做到的呢?带着这样的疑问,我们聊了聊《AI绘画》背后的项目组——抖音特效,字节跳动智能创作团队。专门训练的动漫风格模型抖音的特效在很多方面都应用了AI技术。2021年的“漫画脸”特效也是3天内提交数千万的爆款,采用的是GAN技术。这次,抖音的“AI绘画”使用了时下最流行的多模态生成技术。这是一种跨模态生成技术,从文本生成图片/视频/3D。具体来说,通过大规模数据训练,以文本或少量其他低成本信息为指导,可控地生成任意场景的图片。/视频/3D等内容在AIGC等方向具有巨大的潜在应用价值。据了解,随着DALLE的问世,字节跳动智能创作团队在2021年初开始跟进和规划相关技术。在今年8月底发布StableDiffusion后,抖音特效团队迅速推出了“AI绘画”这个项目。StableDiffusion是一种用于文本生成图像的多模态生成模型。与GAN相比,StableDiffusion具有更强的多样性和程式化,形式更加多样。同一个模特可以做很多不同的风格。同时,后者对性能和计算资源的要求大大降低,自身的开源属性也可以进行各种微调、调用和修改。△基本模型架构StableDiffusion的逻辑是以图像对应文本标注的形式训练模型。一个“文本+图像”构成了一个数据对。首先,通过高斯分布给图像添加噪声。添加噪声后,再训练一个网络去噪,使模型根据噪声恢复出新的图像。为了能够使用文本来控制模型生成的内容,StableDiffusion使用了预训练的CLIP模型来指导结果的生成。CLIP模型使用大量的文本和图像对进行训练,可以衡量任意图像和文本之间的相关性。在正向生成图像的过程中,除了去噪,模型还需要让图像在CLIP的文本特征的引导下生成。这样,在不断生成的过程中,输出的结果会越来越接近给定的文本描述。抖音《AI绘画》是一种利用图片生成图片的策略。首先在图片中加入噪声,然后在文本的引导下使用训练好的Vincent图模型去噪。△图片生成图片的逻辑过程字节跳动智造团队作为技术支持方,在StableDiffusion开源模型的基础上构建了一个十亿数据量的数据集,训练了两个模型,一个是general-目的DiffusionModel模型可以生成油画和水墨画风格的图片;另一个是动漫风格的扩散模型模型。△通用模型DiffusionModel生成的图像风格△动画风格DiffusionModel生成的图像风格使用“漫画图像+文字”数据对训练漫画风格模型。为了让动画风模型产生更好更丰富的效果,字节跳动智创团队特地在数据集中加入了赛博朋克、像素风等不同风格的数据,用于动画风模型的优化训练。抖音特效在动画风格中得到了广泛的探索。在观察了以往用户对不同风格的反馈后,抖音《AI画》这次选择了精致的漫画风动画风格。字节跳动智造团队在优化算法端的同时,为抖音特效产品端提供文字界面提示,方便产品端进一步微调效果。通过输入文字,生成的图片效果更接近预期的外观——风格化程度“不会特别可爱,与原图有一定的相似度,但不会特别逼真”。此外,该模型还采用了同时生成正负文本指导的策略。除了描述生成图片内容和风格的正面条件外,还通过负面提示对模型生成结果进行优化。通过限制生成效果和内容,可以有效提升模型在图像细节方面的生成质量,大大降低生成包含暴力、色情等敏感内容的图像的风险。抖音“AI绘画”还针对不同场景优化了风格效果。首先,基于图像理解的基本能力,对用户图像进行场景分类,如人像、宠物、后景等,对于包含人像的场景,进一步检测性别、人数、年龄等属性。针对不同的细分场景,有多组优化后的样式效果作为候选。在模型选择上,90%的人像和50%的背景使用漫画模型,其他使用具有艺术风格的普通模型。此外,部分场景还具有一定概率的彩蛋效果,如人像性别反转等效果。研发DiffusionModel加速算法节省数万推理GPU消耗与传统生成模型(GAN)相比,扩散模型(StableDiffusion)的模型体积和计算量更大,AI绘画需要时间-耗时且繁重的推理过程。上线了抖音的一个平台,DAU1亿级别,技术服务端,内存占用和GPU推理时间都很高,峰值QPS过万。如何支持庞大的调用和复杂的推理是一个很大的挑战。为了缓解线上GPU资源消耗,字节跳动智造团队研发了DiffusionModel加速算法、采样步数缩减算法、高效模型图融合技术、服务端推理部署框架等,并与NVIDIA技术团队优化高速性能神经网络推理库,针对AI绘画模型进行多维度推理优化。上述一系列优化方案显着降低了推理时间消耗、显存占用,并提高了服务器端部署框架的数据吞吐量。与基准模型相比,QPS提升4倍以上,节省数万推理GPU消耗,保证道具在抖音平台的巅峰时期高效稳定运行。无分类器引导扩散模型最近被证明在高分辨率图像生成中非常有效,但是此类模型的缺点是它们需要两个模型推理来进行单步图像生成,从而使图像生成非常昂贵。为了解决这个问题,字节跳动智造团队针对无分类器引导扩散模型提出了一种蒸馏算法AutoML-GFD(AutoMLGuidance-FusionDistillation),通过知识蒸馏将条件引导信息和无条件信息结合起来。融合,在执行单步图像生成时减少模型的推理次数和资源需求。同时在蒸馏过程中,在不改变模型推理输入的情况下,将负面提示和尺度引导信息蒸馏到模型中,以达到更好的效果;在DiffusionModel的训练和采样过程中,使用time-awaresampling针对重要时间步的效果进行了优化,与benchmark模型相比可以进一步减少推理步数;蒸馏算法整体压测提升200%。在服务端,通过模型图融合、高效CUDA算子、OFFloadPreCompute、前后处理算子融合、多线程并发等手段,配合字节跳动自研Lighten推理引擎和Ivory可视化服务框架中,多段模型ConvertFailed、显存溢出等问题可以提高模型推理效率。△算法加速后生成的风格化画面效果火山引擎机器学习平台推理速度提升3.47倍。抖音同款智能绘图产品已经上B,随着AIGC的应用越来越多样化和广泛,用户的痛点也随之浮出水面。以StableDiffusion为例,一次完整的预训练需要在128块A100计算卡上运行25天左右,用户支付数百万。高昂的研发成本是用户最大的痛点之一。同时,AIGC产品也在快速演进,对性能和资源提出了更高的要求。字节跳动旗下的云服务平台VolcanoEngine针对此类问题提供了解决方案,推动了AIGC行业的发展。VolcanoEngine机器学习平台构建自研高性能算子库,同时支持训练加速和推理加速。在全面提升AI计算性能的基础上,不断追求内存节省和简单适配,同时支持多张GPU卡。带来更多低成本、便捷的部署方案。在推理场景下,基于StableDiffusion模型的端到端推理速度达到66.14it/s,比PyTorch推理速度快3.47倍,运行时GPU显存降低60%。在客户AI视频创作的AIGC推理业务实践中,火山引擎高性能算子库搭载客户推理模型,助力推理性能翻倍,GPU资源占用减半,为客户节省成本费用的50%。在训练场景中,使用该高性能算子库可以将上述StableDiffusion模型在128张A100张上的训练时间从25天减少到15天,训练性能提升40%。同时,由于AIGC模型在训练时占用了大量GPU内存容量,未优化的模型只能在最高端的A10080GBGPU卡上运行。VolcanoEngine高性能算子库通过减少大量的中间运算,将运行时GPU显存占用率降低50%,使大部分模型可以从A100迁移到成本更低的V100或A30等GPU卡上运行,摆脱了特定计算卡的限制,不需要额外的模型转换工作。这样,以AIGC场景为代表,无论是迭代速度还是单次训练成本,都取得了显着的性能提升和成本节约。此外,火山引擎还面向企业客户推出了智能绘图产品,为企业收集数据、训练模型、优化性能节省了时间和成本。AI绘图能力。
