今年 2 月,OpenAI 推出的文生视频模型Sora引发技术圈热议。Sora生成的视频画质精良逼真,堪比影视 CG 效果,很多人认为它将颠覆电影工业。但 Sora 走闭源路线, 使得国内学术界和业界纷纷开始思考如何复现 Sora,在视频生成领域也能占有一席之地?
一支来自北大和兔展的科研团队积极筹备开源版 Sora,并命名为Open-Sora Plan,旨在通过开源版Sora来推动视频生成技术的发展,让全世界的人都能参与进来。由于视频生成对算力和数据的要求较高,Open-Sora Plan亟待澎湃算力做支撑。
无独有偶,3 月,华为启航昇腾原生计划,呼吁更多原生力量的加入。双方一拍即合。短短的一个月后, Open-Sora Plan 正式推出,在华为昇腾的支持下,Open-Sora Plan 兼容文生图和文生视频,其生成的视频精致流畅,可媲美电影效果。更重要的是Open-Sora Plan 完全开源,开发者可基于自己的需求进行模型定制,大大提升了开发效率,因此 Open-Sora Plan 一经发布立即引起国内外 AI 开发者的关注,很快冲上 GitHub Trending 全球榜单第一,目前已收获 11500+Star,获得 14 万多次访问。(地址:https://github.com/PKU-YuanGroup/Open-Sora-Plan)
随着科技新浪潮的加速翻涌,Open-Sora Plan 和昇腾两者究竟是如何双向奔赴,跑出创新加速度?
“从怀疑到惊喜,昇腾成长速度和生态发展远超预期,越用越顺手”
当 Sora 以雷霆之势展现在人们面前,北京大学深圳研究生院助理教授、Open-Sora Plan发起人袁粒就深刻意识到:“视频生成的 ChatGPT 时刻已经来了,我们不能袖手旁观,必须行动起来!”
袁粒的研究方向为深度视觉神经网络设计和多模态机器学习,并在北大建立了视频相关的课题组。去年,袁粒团队研发了广受好评的ChatExcel和ChatLaw等垂直领域产品,并因此拥有了深厚的技术积累。然而,技术探索的过程总是充满各类挑战:
北大是众多高科技人才聚集地,团队在技术上充满信心。但在项目初期针对视频生成技术的高算力要求时,团队却面临着算力资源缺口的问题。视频生成不仅需要处理高分辨率和高帧率的数据,还依赖于复杂的神经网络架构以及大规模且多样化的训练数据集,这些因素都对计算资源提出了极高的要求。视频生成每次实验和迭代优化都需要大量的GPU资源,使得算力成为项目推进的关键瓶颈。尽管团队在高校内已拥有一些算力支持,但在大模型时代,如果要实现类似Sora视频生成,原有的算力资源远远不够。
在国产计算科技快速发展的当下,团队将目光投向昇腾。他们惊喜地发现,昇腾打造了性能卓越且易于使用的 AI 基础软硬件平台,为开发者提供坚实的 AI 算力底座。目前有 50 多个业界主流大模型基于昇腾孵化及适配,可以说,昇腾已支撑起近一半的中国原创大模型。那么昇腾是否可以完美适配 Open-Sora Plan 项目?
事实上,袁粒团队原本使用英伟达A100作为其计算平台。因此当团队初次接触昇腾时,对它持有怀疑的态度。经过一段时间的体验,团队发现昇腾生态具有高度的开放性和包容性,例如,通过CANN的支持,昇腾实现高效能的并行计算,显著加快大规模数据集的处理速度,这对于需要大量计算资源的科学研究尤为重要。Ascend C接口类库简化AI应用的开发流程,不仅降低开发者的入门门槛,还提开发效率。此外,算子加速库进一步优化算法运行性能,为科研人员提供更为灵活的选择。更重要的是,昇腾生态深度开放,全面支持业界各类框架、加速库及三方社区生态,并提供全流程迁移工具,可快速实现大模型和应用的适配,目前已支持ChatGLM、LLaMA2、GPT、BLOOM等业界主流大模型。
这些支持正帮助许多高校科研开发者,使得昇腾成为一个很有吸引力的选择项。团队开始尝试使用昇腾进行 Open-Sora Plan完整的训练和推理。很快,他们对昇腾的表现经历了从怀疑到满意的快速转变。
当回忆往事时,袁粒表示:“当时我们进行计算平台选型时,在尝试多个平台后,我们最后坚定选择了昇腾。从最初的怀疑到刚接触的还行,再到深入接触后的惊喜,昇腾的成长速度和生态丰富程度远远超出了我的预期,深入合作后发现很多惊喜,我们越用越顺手。”
这得益于产品的易用性,大大降低了开发者的入门门槛。团队成员是从零开始接触昇腾,上手使用的速度却相当快。袁粒从中观察到,昇腾的学习门槛在逐步降低,社区内容的支持也正逐渐丰富,这是昇腾生态逐步完善实现的结果。
在开放性上,今年昇腾开放了 CANN 8.0,全新升级的算子加速库有效帮助开发者构筑差异化能力。目前基于CANN开发的融合算子数量已扩充到 80 多个,覆盖了目前主流大模型,帮助了更多不同领域的创新者基于昇腾算力进行原生创新。袁粒清晰地感受到,昇腾正逐渐从华为独创走向社区共创,形成了以开发者为中心的开放生态。
事实上,袁粒表示Open-Sora Plan 选择昇腾作为计算平台,不仅仅是因为上述提到的技术优势,更是因为面对当前风云变幻的国际环境,开发者的技术基座是不稳定的,面临着被掣肘的风险。因此拥抱国产生态是大势所趋。“未来五年,谁越早拥抱国产生态,谁就能更快地转变整个发展态势。随着昇腾等国产算力和生态的崛起,如果不切换赛道,我们将逐渐失去这些资源。我们必须快速拥抱这一趋势,不要迟疑。” 袁粒如是说。
“借助昇腾,性能提升10.7%,加快模型训练速度”
纵然袁粒团队拥有开发ChatExcel、ChatLaw 的成功经验,但从 0 到 1 复现 Sora 这个大工程的过程中并非一帆风顺,而是摸着石头过河,不断试错。
在过程中,袁粒表示:“昇腾为我们提供了很多支持。” 团队借助开放的昇腾基础软件与调优工具来释放硬件性能,快速支撑原生训练。
在代码运行层面,PyTorch 是当前最主流的 AI 框架之一,而torch_npu作为算力底座可以支持其无缝训练和推理。通过Adapter的方式,开发者可以在不修改原有训练脚本的情况下,在PyTorch 环境中使用昇腾NPU进行模型开发和优化,大大降低了迁移和开发的难度。同样地,Open-Sora Plan 使用 torch_npu 进行开发,整体代码可以无缝在昇腾NPU上训练和推理,有效提升模型的训练和推理速度。
在开发效率上,当视频生成模型的规模达到百亿甚至更大时,需要进行模型切分,并在多个节点上进行模型并行。昇腾MindSpeed分布式加速套件,提供丰富的大模型分布式并行算法及并行策略,在计算、通信以及内存等方面深度优化,提高计算效率,在有效训练时长里获得最大的计算能力。
袁粒团队想通过昇腾平台和MindSpeed套件,充分发挥scaling law,训练更大规模的模型以生成更高质量的视频。文生视频场景涉及VAE,LLM,DiT三个模块,在基于deepspeed框架训练时,开全重计算的情况下,DiT模型最大能开到60亿参数规模,相对而言,在MindSpeed-MM套件的模型并行和序列并行等技术的加持下,DiT模块可以做到数百亿参数规模,能真正支持企业级规模的模型训练。此外,袁粒还分享了一组数据:在 MindSpeed的SmartSwap特性的优化下,Open-Sora Plan的内存可通过Swap针对性降低FA重计算开销,实现了性能提升10.7%,有效加快模型的训练速度。同时,袁粒老师还提到正在研发在多模特领域使能MindSpeed-MM的计算通信并行特性,以隐藏模型并行和序列并行等带来的通信开销,预计进一步可提升模型端到端6%以上性能。
不仅性能提升显著,MindSpeed还大幅提高了系统的稳定性。在一次大规模训练中,袁粒团队观察到使用MindSpeed和昇腾硬件的稳定性远高于其他计算平台—基于昇腾,Open-Sora Plan连续运行一周而不中断;而使用其他平台时,在运行一两天后会有中断的情况。值得一提的是,MindSpeed能够保持集群在高功率状态下稳定运行,提高整个集群的利用率。这表明,昇腾提供的集群解决方案,使得 MindSpeed 与 NPU 高度适配,进一步提升了系统的整体稳定性和效率。
目前,大多数视频生成模型的规模在几十亿到百亿参数之间,而团队的目标是运行 300亿 参数规模的大模型。这项工作仍在紧锣密鼓地进行中,Open-Sora Plan 基于MindSpeed套件的支持,可以实现高效的参数扩散和模型并行,从而在相同的算力情况下支持更大规模的模型实验,因此团队有信心可以实现这一目标。
同时,算子是模型的灵魂,算子的能力决定模型的能力。异构计算架构CANN开放自定义算子开发能力,使能开发者快速构建差异化的算子。基于此,团队做了相关算子的融合和算法开发以更好地支持自己的算法和应用。通过使用CANN进行调优,Open-Sora Plan模型性能有显著的提升。
袁粒表示,“我们积极和昇腾在算子开发、CANN精度调优等方面联合创新,打通视频生成模型在昇腾训练和推理的‘任督二脉’,未来不管是做视频生成的企业还是个人开发者,都可以放心使用昇腾来进行训练和推理。”
一次成功的尝试,往往带来的不仅是个体本身的受益,还能为后来者树立标杆,开辟新道路。Open-Sora Plan 与昇腾的合作便是如此。目前某大厂基于Open-Sora适配情况,已计划扩容5K昇腾NPU原生训练;华为内部团队以及某互联网团队等也在使用Open-Sora来协作开发。
“我们很开心看到越来越多的公司基于 Open-Sora Plan 开源模型进行微调和产品化,Open-Sora Plan开源的意义正越来越具象化。”袁粒说。
昇腾助力, 新版 Open-Sora Plan生成视频媲美电影效果
在昇腾澎拜算力的支持下,Open-Sora Plan 迅速迭代升级:4 月初, Open-Sora Plan v1.0 发布;5月,发布v1.1版本;7月,推出v1.2版本;10月底,发布最新v1.3版本,推出社区首个视频生成领域可行的稀疏化3D Attention——Skiparse Attention 、支持93*640*640内任意分辨率任意时长文生视频和图生视频等新特性。
1、使用更高效的WFVAE架构,保证重建质量的同时显存占用大幅降低,编码速度大幅提升
随着视频生成模型向更高分辨率和更长持续时间的方向发展,视频VAE的计算成本呈指数级增长,且变得不可持续。大部分人通过使用tiling来减少推理内存消耗以解决这个问题。然而,在高分辨率、长持续时间的场景中,tiling会显著增加推理时间。此外,由于tiling对延迟有损,它可能会导致生成的视频中出现阴影或闪烁等视觉伪影。
Open-Sora Plan 使用全新WFVAE 架构来处理:
在之前的VAE架构中,由于缺乏在视频压缩过程中传输主导能量的“高速公路”,这意味着在模型训练过程中必须逐步建立这条路径,从而导致模型参数和结构的冗余。Open-Sora Plan通过小波变换分解视频,发现视频中的大部分能量集中在低频带。因此在 WFVAE 模型设计中,并为LLL子带的能量创建了一条更有效的传输路径,从而简化模型架构,减少推理时间,降低了内存消耗。
2、社区首个视频生成领域可行的稀疏化3D Attention——Skiparse Attention
在视频生成模型中,交替的2+1D时空块是一种常用的方法,但这样将会缺乏远程建模,限制了它们的性能上限。因此,像CogVideoX、Meta Movie Gen和Open-Sora Plan v1.2 等模型采用全3D Attention作为降噪器,与2+1D的模型相比,有效提高了视觉保真度和运动质量。然而,这需要计算每个剪辑编码中所有标记的Attention,这大大增加了训练成本。例如,Open-Sora Plan v1.2训练了一个27亿参数的模型,在93x720p下每步需要100秒,在93x480p下每步骤需要15秒以上,严重限制了有限计算资源下的可扩展性。
为了在保证足够性能的同时加速训练,团队创新提出了社区首个视频生成领域可行的稀疏化3D Attention——Skiparse Attention。具体来说,在固定稀疏率下,通过两种交替的跳跃-聚集方法组织候选标记以引起注意。这种方法保持了操作的全局性,同时有效地减少了FLOPS,从而能够更快地训练3D Attention 模型,在实验中,单步训练速度提升50%,单步推理速度提升70%。
3、更多的数据量,更好的数据处理pipeline
团队对原始的Panda70m数据进行随机抽样,发现许多视频是静态的、多字幕的、运动模糊的。为了解决这个问题,新版Open-Sora Plan设计一个视频筛选pipeline,筛选出高质量的视频内容,大约留下 27% 质量较好的视频。
4、Prompt Refiner,优化短文本输入
用户提供的说明文字通常少于10个单词,当前训练数据的文本标注密集,训练和推理之间的这种不一致可能会导致视觉质量差和文本对齐弱。新版Open-Sora Plan 收集说明文字,进行分类,并用 ChatGPT 进行重写,使用LLaMa 3.1进行LoRA微调,用1 H100在30分钟内完成训练,从而提高视觉质量和文本对齐度。
5、动态分辨率和动态持续时间策略,便于使用不同长度的视频
Open-Sora Plan新版保持v1.2版本的bucket策略,在训练过程中预先定义每个视频的形状,并通过采样器聚合相同形状的数据。最后,数据加载器根据聚合索引检索数据。
以下是由最新版Open-Sora Plan 生成的一段 98 秒《黑神话:悟空》视频,讲述天命人选择不带金箍,而是上天庭为芸芸众生向诸神讨一个公道,最终和心上人归隐山林的结局。故事情节完整,画面效果惊艳,堪比电影效果:
袁粒表示,“如果没有昇腾的支持,Open-Sora Plan 就无法生成这段《黑神话:悟空》视频了。”一个视频生成模型可能需要训练2-4个星期,甚至更长的时间,以Open-Sora Plan为例,当大模型训练时,只要有一个环节出现问题,训练要重来,因此算力平台的稳定性对大模型而言至关重要。昇腾拥有较大的稳定性优势,袁粒欣喜地看到越来越多开发者团队选择昇腾来训练大模型。
携手昇腾,Open-Sora Plan 迈进开源视频生成的第一梯队,共创 “双原生模型”
袁粒表示,“在视频生成开源领域,目前 Open-Sora Plan 位于第一梯队。”在短短的半年时间里,Open-Sora Plan累计新增代码 8 万行,累计更新模型和代码数百次,融合开源社区的贡献上百次,代码被克隆上千次。如今,Open-Sora Plan受到社区和业界的持续关注,有多项后继视频生成开源项目和闭源模型部分借鉴其实现方式。
尽管已取得一些成果,袁粒客观地分析道,当前模型与Sora存在一些差距。在算力规模上,Open-Sora Plan 目前仅使用到 Sora 十分之一的算力规模。尽管如此,通过高性价比的方式,Open-Sora Plan依旧展现出了不错的性能。团队希望携手昇腾,持续迭代逐步缩小与Sora的差距。
Open-Sora Plan的整体发展计划正在稳步进行,他们已完成第一阶段的工作,发布最新版本。目前正在进行第二阶段的工作,预计生成数十分钟的长视频,目标是基于模型的成熟商业化落地应用。在3~5年里,即在第三阶段将致力于理解和生成统一的世界模型。在这个过程中,Open-Sora Plan获得华为昇腾团队提供的国产算力支持,同时积极与华为生态融合,部分算法如MoH、MoE与硬件规划方案结合,以实现更高效的计算性能和资源利用率,进而推动Open-Sora Plan的快速迭代。
袁粒回顾年初 Open-Sora Plan 的目标,仅仅是为开发者提供一个开源的视频生成模型,便于用户使用预训练模型结合自己的数据进行微调。然而一路走到现在,这个目标已经实现。甚至除了国内大厂和创业团队,一家日本企业也开始使用Open-Sora Plan进行定制化开发。
下一步,袁粒希望在技术创新上,团队能够探索出一条既能融合理解与生成、又优于单独模型的路径——即双原生模型。双原生模型包括两个方面:一是昇腾原生模型,二是多模态视频生成与理解的原生模型。具体而言,当前的视频生成模型在理解和生成过程中采用独立的模式,即理解任务和生成任务分别由不同的模型执行。例如,用户输入文本时,系统首先使用GPT-4等语言模型进行文本解析,再调用视频生成模型来完成视频生成任务。这种做法虽然有效,但并不是一个统一的架构。
因此,袁粒团队的目标是将理解和生成过程统一起来。通过构建统一的双原生模型,不仅可以提高系统的整体效率和性能,还能更好地适应多模态数据的处理需求,为用户提供更加流畅和自然的交互体验,迈向更高的技术创新台阶。为此,团队计划启动一个新的项目,搭建新的架构来进一步推动这目标的落地。昇腾在技术、人才上给予了Open-Sora Plan大力的支持,未来将与Open-Sora Plan共创视频生成的“双原生模型”,并通过开源促进技术社区的共同进步,帮助Open-Sora Plan走向世界。
校企联创,跑出创新加速度
科技的未来,离不开基础技术的持续突破和人才的涌现,还有生态链各方的协同合作。大道不孤,众行致远。Open-Sora Plan基于开源初心,集结昇腾等多方力量参与到项目建设中。
“我们每天与华为昇腾团队交流讨论,一起头脑风暴,共同进行代码和算法开发。他们的专业建议和底层算子开发支持,使我们的工作更加高效。我们还会每周进行定期评审和会议讨论,确保项目的稳步推进。” 袁粒表示。
与高校科研携手攻克难关 ,将最新的科研成果落地,让更多学生参与到高质量的科研实践中,真正去解决产业中的科学问题,这种模式也是华为所倡导的。 今年,华为联合一批头部高校,共建昇腾科教创新卓越中心与孵化中心,通过前沿技术合作、创新课题资助、顶级专业竞赛等,培养一批昇腾AI卓越研究人才。
今年 5 月,在鲲鹏昇腾开发者大会2024 上,全新发布了鲲鹏昇腾原生人才高校促进计划,加速创新力量的培养。在华为全连接大会2024上,昇腾围绕算子、模型、应用开发、集群运维等场景,全面升级了昇腾AI基础软件:
面向算子创新,异构计算架构CANN进一步开放、Ascend C编程语言全面升级,使能开发者快速构建差异化、更具竞争力的算子;昇腾独创NB2.0通信算法,将带宽利用率从40%提升到了60%以上,通信算子的执行耗时下降40%以上。
面向模型创新,昇思MindSpore 2.4新版本通过原生亲和超节点技术及增强的分布式并行能力,使能大模型训练加速;昇腾率先实现Step级的CKPT保存技术,可以做到万亿模型训练任务分钟级续训,保障大规模集群下的月级稳定训练。
面向应用创新,通过提供昇腾推理引擎、场景化SDK,支撑开发者快速完成推理应用部署,加速大模型的创新落地;全新发布昇腾分布式加速套件MindSpeed 1.0,预置100+模型、60+加速算法及10余种微调算法,使能从预训练到增量训练全流程加速。通过训推同架构的算子和模型支持,实现“零”算子适配开发,小时级完成模型从训练到推理的转换,推理应用天级上线。
面向集群高效运维,CCAE集群自治引擎提供跨域全栈管理能力,训前支持健康状态检测和预防性维护,训练中支持400+典型故障的动态隔离,保障训练任务的稳定运行。
通过以上举措,昇腾不仅为Open-Sora Plan等项目提供了坚实的技术支撑,还提升了创新速度,并吸引更多的科研创新力量参与进来昇腾积极联合各方力量不断探索,开发更多能够服务于工作、生活和产业的可落地方案和应用,推动和加速AI与行业场景深度融合,为构建一个可持续发展的AI产业生态奠定了坚实基础。