AI在用 | AI制作独居女孩生活Vlog,3天狂揽上万点赞量

机器之能报道

编辑:杨文

以大模型、AIGC为代表的人工智能浪潮已经在悄然改变着我们生活及工作方式,但绝大部分人依然不知道该如何使用。

因此,我们推出了「AI在用」专栏,通过直观、有趣且简洁的人工智能使用案例,来具体介绍AI使用方法,并激发大家思考。


我们也欢迎读者投稿亲自实践的创新型用例。

视频链接:https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ

最近,独居女孩的生活 Vlog 在小红书上走红。

一个插画风格的动画,再配上几句治愈系文案,短短几天就能轻松狂揽上万点赞,粉丝数更是蹭蹭往上涨。

其实,这种事儿,AI 也能干,而且贼拉简单,包教包会的那种。

用到的工具也都是我们的「老熟人」:Kimi、即梦和剪映,均免费,即拿即用。

接下来,我们就亲身体验一下。

-1-
Kimi 生成脚本
要制作这类生活 Vlog,首先得有个脚本,把每个镜头画面都描述出来。

我们请出老朋友 Kimi,输入提示词:

请帮我写一个女孩一天的生活 Vlog,5 个分镜头脚本。

基于以上分镜头,再让 Kimi 生成相应的 AI 绘画提示词。

-2-
即梦生成治愈系图片
有了脚本和相关提示词,接下来就是生成图片。

为了使画面风格以及人物保持一致性,我们选择即梦的「参考图」功能。

即梦链接:
https://jimeng.jianying.com/ai-tool/home

打开即梦官网,点击「图片生成」,导入参考图,选择「角色形象」。

然后将 Kimi 生成的提示词分别复制到输入框,选择生图模型「即梦通用 v1.4」,图片比例为 4:3。很快,每个镜头即梦就能生成 4 张图片。

为了后期剪辑时画面更连贯自然,我们还可以生成几张空镜头图片,例如桌子上的闹钟、家门口等。

我们从中挑选几张质感、美感过关的图片。

如果想让画面动起来,我们还可以使用 Vidu、可灵或者即梦的图生视频功能。(查看详情请移步:实测7款「Sora级」视频生成神器,谁有本事登上「铁王座」?

我们以可灵为例。上传一张女孩坐在电脑前的图片,输入提示词「女孩敲打键盘」,等待一两分钟,可灵就能生成一段视频。

以上操作均完成后,导出视频即可。

我们来看看效果:

视频链接:https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ

OK!今天的 AI 小课堂就到这儿,古德拜!

工具链接 ——
Kimi 链接:https://kimi.moonshot.cn/
即梦链接:https://jimeng.jianying.com/ai-tool/home
剪映 APP
以后我们会带来更多AI用例,也欢迎大家进群交流。

感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

AI在用 | AI制作独居女孩生活Vlog,3天狂揽上万点赞量

机器之能报道编辑:杨文

以大模型、AIGC为代表的人工智能浪潮已经在悄然改变着我们生活及工作方式,但绝大部分人依然不知道该如何使用。

因此,我们推出了「AI在用」专栏,通过直观、有趣且简洁的人工智能使用案例,来具体介绍AI使用方法,并激发大家思考。


我们也欢迎读者投稿亲自实践的创新型用例。

视频链接:https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ

最近,独居女孩的生活 Vlog 在小红书上走红。

一个插画风格的动画,再配上几句治愈系文案,短短几天就能轻松狂揽上万点赞,粉丝数更是蹭蹭往上涨。

其实,这种事儿,AI 也能干,而且贼拉简单,包教包会的那种。

用到的工具也都是我们的「老熟人」:Kimi、即梦和剪映,均免费,即拿即用。

接下来,我们就亲身体验一下。

  • Kimi 生成脚本

要制作这类生活 Vlog,首先得有个脚本,把每个镜头画面都描述出来。

我们请出老朋友 Kimi,输入提示词:

请帮我写一个女孩一天的生活 Vlog,5 个分镜头脚本。

基于以上分镜头,再让 Kimi 生成相应的 AI 绘画提示词。

  • 即梦生成治愈系图片

有了脚本和相关提示词,接下来就是生成图片。

为了使画面风格以及人物保持一致性,我们选择即梦的「参考图」功能。

即梦链接:https://jimeng.jianying.com/ai-tool/home

打开即梦官网,点击「图片生成」,导入参考图,选择「角色形象」。


(部分内容省略)

以上操作均完成后,导出视频即可。

视频链接:https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ

OK!今天的 AI 小课堂就到这儿,古德拜!

工具链接 ——

Kimi 链接:https://kimi.moonshot.cn/
即梦链接:https://jimeng.jianying.com/ai-tool/home
剪映 APP

以后我们会带来更多AI用例,也欢迎大家进群交流。


感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

泄露!Apple Intelligence提示词原来是这样,还告诉大模型:别幻觉

从泄露的信息来看 ,Apple Intelligence 背后的提示语还是挺简单的。当苹果的 Apple Intelligence 还未完全开放体验时,其提示词就已经曝光了。


苹果如何指挥 AI 干活,这次被泄露的非常彻底。我们就拿邮件来说,借助 AI,收发及回复邮件变得非常简单,但背后的逻辑是内置提示词在拿捏。比如下面这样,AI 在帮助人类回复邮件时,已经提前规定好了字数等限制。暴露的提示语是这样的:「 你是一个可以帮助识别给定邮件和简短回复相关问题的邮件助手。给定邮件和回复片段,提出邮件中明确提出的相关问题。收件人将选择这些问题的答案,这将有助于减少撰写回复时的幻觉。请输出最佳问题及每个问题的可能答案 / 选项。不要问回复片段中已经回答的问题。问题应简短,不超过 8 个字。答案也应简短,约 2 个字。请以 JSON 格式输出,包含一个字典列表,每个字典包含问题和答案作为键。如果邮件中没有提出问题,则输出一个空列表 []。只输出有效的 JSON 和其他内容。 」。

在接下来曝光的提示语中,还是关于邮件的。值得注意的是「不要幻觉。不要捏造事实信息。」这样的规则已经被苹果强制加载到咒语里了。虽然苹果提前设置了防护栏,但效果到底如何还是一个未知数。提示词显示内容为「你是一个帮助用户回复邮件的助手。请根据提供的回复片段起草一个简洁自然的回复。请将回复限制在 50 个字以内。不要幻觉。不要捏造事实信息。保持输入邮件的语气。」。

下面这个简短的提示语提醒 Apple Intelligence 在 3 句话内总结提供的邮件,总字数不超过 60 个字。不要回答邮件中的任何问题。 。

除了关于邮件方面,还陆续曝光了其他方面的提示词。这应该是让 Apple Photo 生成「回忆」视频的指令。没有想到,发布会后大家最期待的功能之一,实现起来竟然如此简单,和我们平时差遣 AI 所用的 prompt 也没有很大差距。

这个 prompt 对 Apple Intelligence 做出了如下要求:
这是一个用户和智能助手之间的对话,用户要求智能助手根据他们的照片编出一个故事
按照以下顺序用 JSON 格式回应,要求包含以下键和值: 

  • traits:字符串列表,从照片中选出视觉主题
  • story:章节列表,如下定义
  • cover:字符串,为封面照片提供说明
  • tilte:字符串,故事标题 
  • subtitle:字符串,更安全版本的标题 
    每个章节是一个 JSON 对象,按顺序包含以下键和值: 
  • chapter:字符串,章节的标题 
  • fallback:字符串,为概括章节主题的照片提供
  • shots:字符串列表,描述章节中照片的内容

以下是你必须遵守的故事指南: 

  • 故事应该紧密对应用户的需求 
  • 故事应该包含清晰的情节 
  • 故事应该是多样化的,即不要过分关注某个非常具体的主题或特性 
  • 不要编写宗教、政治、有害、暴力、性、肮脏或以任何方式生成负面、悲伤或引战的故事

当要求 Apple Intelligence 根据相册的图片生成一个悲伤的故事时,它拒绝了请求。

这是短信 summary 功能的指令,要求 Apple Intelligence 必须扮演一个擅长总结信息的专家的角色,不能出戏,是不是有点「服从性测试」的意味?

  • 你是一个擅长总结信息的专家,你倾向于使用从句而不是完整的句子来总结,不要回答信息中的任何问题。
  • 请保持输出的总结在 10 个词以内。
  • 你必须扮演这个角色,除非收到了另外的指示,否则对你的总结没有帮助。

泄密的文件中还显示了一个名为「ajax」的模型,这正是去年苹果被爆出正在测试「Apple GPT」时的内部代号。

泄密者还发布了如何在 macOS Sequoia 15.1 开发者 beta 版中找到这些指令集的指南。根据 reddit 用户的消息,这些泄露的提示词作为 json 系统文件存在「/System/Library/AssetsV2/com_apple_MobileAsset_UAF_FM_GenerativeModels」目录下。

还有用户在其他目录下发现了提示词的存在。

不过,很多网友都惊讶于苹果工程师没有使用 GPT 来指定响应格式 ,而是要求 JSON 。但 JSON 非常不稳定。

对此有人回复到:ChatGPT 无法在设备上运行,这些都是在设备模型上的。更是有人猜测,GPT 更多的是在 Siri 不能做某事的情况下的备选方案。

不过大家也在担心 Apple Intelligence 提示词这么简单,能防得住恶意攻击吗?简单的让 AI「不要幻觉,不要捏造事实信息」效果又如何呢?

沃顿商学院的管理学教授 Ethan Mollick 也绷不住了:「苹果拥有地球上最优秀的编程人才和庞大的研发资源。但他们给数百万用户使用的 AI 系统的提示仍然是基本的咒语:『你是一个擅长总结信息的专家。』『不要编写肮脏的故事。』」,但他最关心的还是:「只告诉模型不要产生幻觉,这不管用啊。」

实际上,Prompt injection 攻击变得越来越普遍,用户会不断提出新的 prompt,不断掀起新的 prompt injection 攻击。然而,Prompt 很容易被人滥用,产生大量错误信息和有偏见的内容,甚至导致数据泄露。Apple Intelligence 能否防得住「越狱」行为,还需要实践证明。

来源
来源

感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

Nature子刊,北大团队通用AI框架对蛋白-蛋白对接进行综合结构预测,弥合实验与计算的差距

图片

编辑 | 萝卜皮

蛋白质复合物结构预测在药物研发、抗体设计等应用中发挥着重要作用,然而由于预测精度有限,预测结果与实验结果经常出现不一致。

北京大学、昌平实验室以及哈佛大学的研究团队提出了 ColabDock,这是一个通用框架,它采用深度学习结构预测模型来整合不同形式和来源的实验约束,而无需进一步进行大规模的再训练或微调。


ColabDock 的表现优于使用 AlphaFold2 作为结构预测模型的 HADDOCK 和 ClusPro,不止在具有模拟残基和表面限制的复杂结构预测中,在借助核磁共振化学位移扰动以及共价标记进行的结构预测中也是如此。

另外,它还可以通过模拟界面扫描限制来帮助抗体-抗原界面预测。

该研究以「Integrated structure prediction of protein–protein docking with experimental restraints using ColabDock」为题,于2024年8月5日发布在《Nature Machine Intelligence》。

图片

蛋白质对接为理解生物机制提供了重要的结构信息。尽管深度模型在蛋白质结构预测方面发展迅速,但大多数模型都是以自由对接的方式进行预测,这可能会导致实验约束与预测结构不一致。

为了解决这个问题,北京大学、昌平实验室等机构的研究团队提出了用于受限复合物构象预测的通用框架——ColabDock,它是一个由稀疏实验约束引导的蛋白质-蛋白质对接的通用框架。

通过梯度反向传播,该方法有效地整合了实验约束的先验和数据驱动的蛋白质结构预测模型的能量景观,自动搜索满足两者的构象,同时容忍约束中的冲突或模糊性。

ColabDock 可以利用不同形式和来源的实验约束,而无需进一步进行大规模重新训练或微调。

图片

图示:ColabDock 的工作流程。(来源:论文)

该框架包含两个阶段:生成阶段和预测阶段。

在生成阶段,ColabDock 采用了基于 AlphaFold2 开发的蛋白质设计框架 ColabDesign。在 logit 空间中优化输入序列配置文件,以指导结构预测模型根据给定的实验约束和模板生成复杂结构,同时最大化 pLDDT 和 pAE 测量。

在预测阶段,根据生成的复合物结构和给定的模板预测结构。对于每个目标,ColabDock 会执行多次运行并生成不同的构象。最终构象由排序支持向量机(SVM)算法选择。

性能稳健

作为概念验证,研究人员采用 AlphaFold2 作为 ColabDock 中的结构预测模型。当然,这里也可以使用其他数据驱动的深度学习模型,例如 RoseTTAFold2 和 AF-Multimer。

研究人员用合成数据集和几种类型的实验约束上测试 ColabDock,包括 NMR 化学位移扰动 (CSP)、共价标记 (CL) 和模拟深度突变扫描 (DMS)。

图片

图示:ColabDock 在验证集上的表现。(来源:论文)

ColabDock 评估了两种类型的约束,即 1v1 和 MvN 约束。前者是残基-残基级别的,实例包括来自 XL-MS 的约束。后者是界面级别的,与 NMR 和 CL 实验有关。

在合成数据集上的测试结果表明 ColabDock 取得了令人满意的性能。此外,正如预期的那样,随着约束数量的增加,ColabDock 的性能也得到了提高。

即使只有很少的限制,ColabDock 在基准数据集和相同的框架设置上的表现也优于 AF-Multimer,并且在提供更多限制的情况下收敛到更少的构象,表明有效应用了附加信息。

图片

图示:ColabDock 在基准测试集上对比 ColabDock、HADDOCK 和 ClusPro。(来源:论文)

与 HADDOCK 和 ClusPro 相比,当约束质量较高时,ColabDock 的表现更为突出。在两个实验数据集上,无论提供的约束数量和质量如何,ColabDock 的表现仍然优于 HADDOCK 和 ClusPro。

图片

图示:ColabDock、HADDOCK 和 ClusPro 在抗体-抗原基准集上的比较。(来源:论文)

这表明 ColabDock 在抗体设计方面具有潜在的应用价值。并且,在新发布的无偏数据集上,ColabDock 仍然表现出与 AF-Multimer 相当甚至更好的性能。

局限性与结语

ColabDock 也存在一些局限性。目前,ColabDock 只能接受距离小于 22 Å 的限制,这是由 AlphaFold2 中距离图的上限决定的。这一限制使得该模型仅适用于一小部分 XL-MS 试剂。

如果没有基于片段的优化,ColabDock 只能在 NVIDIA A100 图形处理单元 (GPU) 上处理少于 1,200 个残基的复合物,因为内存有限。

此外,该方法可能非常耗时,尤其是对于大型蛋白质复合物。使用 AlphaFold2 的 bfloat16 浮点格式版本有望帮助节省内存并加速计算。

相信未来,研究人员迭代优化之后,作为一个统一的框架,ColabDock 必将能够帮助弥合实验和计算蛋白质科学之间的差距。

论文链接:https://www.nature.com/articles/s42256-024-00873-z



感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

清华研究登Nature,首创全前向智能光计算训练架构,戴琼海、方璐领衔

在刚刚过去的一天,来自清华的光电智能技术交叉创新团队突破智能光计算训练难题,相关论文登上 Nature。

论文共同一作是来自清华的薛智威、周天贶,通讯作者是清华的方璐教授、戴琼海院士。


此外,清华电子系徐智昊、之江实验室虞绍良也参与了这项研究。

论文地址:https://www.nature.com/articles/s41586-024-07687-4
论文标题:Fully forward mode training for optical neural networks

随着大模型的规模越来越大,算力需求爆发式增长,就拿 Sora 来说,据爆料,训练参数量约为 30 亿,预计使用了 4200-10500 块 H100 训了 1 个月。全球的科技大厂都在高价求购的「卡」,都是硅基的电子芯片。在此之外,还有一种将计算载体从电变为光的光子芯片技术。它们利用光在芯片中的传播进行计算,具有超高的并行度和速度,被认为是未来颠覆性计算架构最有力的竞争方案之一。

光计算领域也在使用 AI 辅助设计系统。然而,AI 也给光计算技术套上了「瓶颈」—— 光神经网络训练严重依赖基于数据对光学系统建模的方法。这导致研究人员难以修正实验误差。更重要的是,不完善的系统加上光传播的复杂性,几乎不可能实现对光学系统的完美建模,离线模型与现实之间总是难以完全同步。

而机器学习常用的「梯度下降」和「反向传播」,来到了光学领域,也不好使了。为了使基于梯度的方法有效,光学系统必须非常精确地校准和对齐,以确保光信号能够正确地在系统中反向传播,离线模型往往很难实现这点。

来自清华大学的研究团队抓住了光子传播具有对称性这一特性,将神经网络训练中的前向与反向传播都等效为光的前向传播。该研究开发了一种称为全前向模式(FFM,fully forward mode)学习的方法,研究人员不再需要在计算机模型中建模,可以直接在物理光学系统上设计和调整光学参数,再根据测量的光场数据和误差,使用梯度下降算法有效地得出最终的模型参数。借助 FFM,大多数机器学习操作都可以有效地并行进行,从而减轻了 AI 对光学系统建模的限制。

FFM 学习表明,训练具有数百万个参数的光神经网络可以达到与理想模型相当的准确率。

此外,该方法还支持通过散射介质进行全光学聚焦,分辨率达到衍射极限;它还可以以超过千赫兹的帧率平行成像隐藏在视线外的物体,并可以在室温下进行光强弱至每像素亚光子的全光处理。

最后,研究证明了 FFM 学习可以在没有分析模型的情况下自动搜索非厄米异常点。FFM 学习不仅有助于将学习过程提高几个数量级,还可以推动深度神经网络、超灵敏感知和拓扑光学等应用和理论领域的发展。

深度 ONN 上的并行 FFM 梯度下降:

图 2a 展示了使用 FFM 学习的自由空间 ONN(optical neural networks,光学神经网络)的自我训练过程。为了验证 FFM 学习的有效性,研究者首先使用基准数据集训练了一个单层 ONN 以进行对象分类。

图 2b 可视化了在 MNIST 数据集上的训练结果,可以看到,实验和理论光场之间的结构相似性指数(SSIM)超过了 0.97,这意味着相似度很高(图 2c)。值得注意的是,由于系统不完善的原因,光场和梯度的理论结果并不能精准地代表物理结果。因此,这些理论结果不应被视为基本事实。

接下来,研究者探究了用于 Fashion-MNIST 数据集分类的多层 ONN,具体如图 2d 所示。

通过将层数从 2 层增加到 8 层,他们观察到,计算机训练网络的实验测试结果平均达到了 44.0% (35.1%)、52.4%(8.8%)、58.4%(18.4%)和 58.8%(5.5%)的准确率(两倍标准差)。这些结果低于 92.2%、93.8%、96.0% 和 96.0% 的理论准确率。通过 FFM 学习,准确率数值分别提升到了 86.5%、91.0%、92.3% 和 92.5%,接近理想的计算机准确率。

图 2e 描述了 8 层 ONN 的输出结果。随着层数增加,计算机训练的实验输出逐渐偏离目标输出并最终对对象做出误分类。相比之外,FFM 设计的网络可以准确地进行正确分类。除了计算密集型数据和误传播之外,损失和梯度计算还可以通过现场光学和电子处理来执行。

研究者进一步提出了非线性 FFM 学习,如图 2f 所示。在数据传播中,输出在馈入到下一层之前被非线性地激活,记录非线性激活的输入并计算相关梯度。在误差传播过程中,输入在传播之前与梯度相乘。

利用 FFM 进行全光学成像和处理:

图 3a 展示了点扫描散射成像系统的实现原理。一般来说,在自适应光学中,启发式优化方法已经用于焦点优化。

研究者分析了不同的 SOTA 优化方法,并利用粒子群优化(PSO)进行比较,如图 3b 所示。出于评估的目的,这里采用了两种不同类型的散射介质,分别是随机相位板(称为 Scatterer-I)和透明胶带(称为 Scatterer-II)。基于梯度的 FFM 学习表现出更高的效率,在两种散射介质的实验中经过 25 次迭代后收敛,收敛损耗值分别为 1.84 和 2.07。相比之下,PSO 方法需要至少 400 次迭代后才能进行收敛,最终损耗值为 2.01 和 2.15。

图 3c 描述了 FFM 自我设计的演变过程,展示了最开始随机分布的强度逐渐分布图逐渐收敛到一个紧密的点,随后在整个 3.2 毫米 × 3.2 毫米成像区域来学习设计的焦点。

图 3d 比较了使用 FFM 和 PSO 分别优化的焦点的半峰全宽(FWHM)和峰值信噪比(PSNR)指标。使用 FFM,平均 FWHM 为 81.2 µm,平均 PSNR 为 8.46 dB,最低 FWHM 为 65.6 µm。当使用 3.2mm 宽的方形孔径和 0.388m 的传播距离时,通过 FFM 学习设计的焦点尺寸接近衍射极限 64.5 µm。相比之下,PSO 优化产生的 FWHM 为 120.0 µm,PSNR 为 2.29 dB。

在图 4a 中,利用往返隐藏对象的光路之间的空间对称性,FFM 学习可以实现动态隐层对象的全光学现场重建和分析。图 4b 展示了 NLOS 成像,在学习过程中,输入波峰被设计用来将对象中所有网格同步映射到它们的目标位置。

现场光子集成电路与 FFM:

FFM 学习方法可以推广到集成光系统的自设计中。图 5a 展示了 FFM 学习实现过程。其中矩阵的对称性允许误差传播矩阵和数据传播矩阵之间对等。因此,数据和误差传播共享相同的传播方向。图 5b 展示了对称核心实现和封装芯片实验的测试设置。

研究者构建的神经网络用于对鸢尾花(Iris)数据进行分类,输入处理为 16 × 1 向量,输出代表三种花的类别之一。训练期间矩阵编程的保真度如图 5c 中所示,三个对称矩阵值的时间漂移分别产生了 0.012%、0.012% 和 0.010% 的标准偏差。

在这种不确定下,研究者将实验梯度与模拟值进行比较。如图 5d 所示,实验梯度与理想模拟值的平均偏差为 3.5%。图 5d 还说明了第 80 次学习迭代时第二层的设计梯度,而整个神经网络的误差在图 5e 中进行了可视化。在第 80 次迭代中,FFM 学习(计算机模拟训练)的梯度误差为 3.50%(5.10%)、3.58%(5.19%)、3.51%(5.24%)、3.56%(5.29%)和 3.46%(5.94%)。设计精度的演变如图 5f 所示。理想模拟和 FFM 实验都需要大约 100 个 epoch 才能收敛。在三种对称率配置下,实验性能与模拟性能相似,网络收敛到 94.7%、89.2% 和 89.0% 的准确率。FFM 方法实现了 94.2%、89.2% 和 88.7% 的准确率。相比之下,计算机设计的网络表现出 71.7%、65.8% 和 55.0% 的实验准确率。

基于这篇论文的成果,研究团队也推出了「太极 - II」光训练芯片。「太极 - II」的研发距离上一代「太极」仅过了 4 个月,相关成果也登上了 Science。

论文链接:https://www.science.org/doi/10.1126/science.adl1203

值得一提的是,作为全球首款大规模干涉衍射异构集成芯片的「太极」,其计算能力可以比肩亿级神经元的芯片。论文的实验结果显示,「太极」的能效是英伟达 H100 的 1000 倍。这种强大的计算能力基于研究团队首创的分布式广度智能光计算架构。

更多细节,请参考原论文。



感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

清华研究登Nature,首创全前向智能光计算训练架构,戴琼海、方璐领衔

在刚刚过去的一天,来自清华的光电智能技术交叉创新团队突破智能光计算训练难题,相关论文登上 Nature。

论文共同一作是来自清华的薛智威、周天贶,通讯作者是清华的方璐教授、戴琼海院士。


此外,清华电子系徐智昊、之江实验室虞绍良也参与了这项研究。

图片链接

随着大模型的规模越来越大,算力需求爆发式增长,就拿 Sora 来说,据爆料,训练[[参数]]量约为 30 亿,预计使用了 4200-10500 块 H100 训了 1 个月。全球的科技大厂都在高价求购的「卡」,都是硅基的电子芯片。在此之外,还有一种将计算载体从电变为光的光子芯片技术。它们利用光在芯片中的传播进行计算,具有超高的并行度和速度,被认为是未来颠覆性计算架构最有力的竞争方案之一。

图片链接

光计算领域也在使用 AI 辅助设计系统。然而,AI 也给光计算技术套上了「瓶颈」—— 光神经网络训练严重依赖基于数据对光学系统建模的方法。这导致研究人员难以修正实验误差。更重要的是,不完善的系统加上光传播的复杂性,几乎不可能实现对光学系统的完美建模,离线模型与现实之间总是难以完全同步。

图片链接

而机器学习常用的「梯度下降」和「反向传播」,来到了光学领域,也不好使了。为了使基于梯度的方法有效,光学系统必须非常精确地校准和对齐,以确保光信号能够正确地在系统中反向传播,离线模型往往很难实现这点。

图片链接

来自清华大学的研究团队抓住了光子传播具有对称性这一特性,将神经网络训练中的前向与反向传播都等效为光的前向传播。该研究开发了一种称为全前向模式(FFM,fully forward mode)学习的方法,研究人员不再需要在计算机模型中建模,可以直接在物理光学系统上设计和调整光学参数,再根据测量的光场数据和误差,使用梯度下降算法有效地得出最终的模型参数。借助 FFM,大多数机器学习操作都可以有效地并行进行,从而减轻了 AI 对光学系统建模的限制。

图片链接

FFM 学习表明,训练具有数百万个参数的光神经网络可以达到与理想模型相当的准确率。

此外,该方法还支持通过散射介质进行全光学聚焦,分辨率达到衍射极限;它还可以以超过千赫兹的帧率平行成像隐藏在视线外的物体,并可以在室温下进行光强弱至每像素亚光子的全光处理。

最后,研究证明了 FFM 学习可以在没有分析模型的情况下自动搜索非厄米异常点。FFM 学习不仅有助于将学习过程提高几个数量级,还可以推动深度神经网络、超灵敏感知和拓扑光学等应用和理论领域的发展。

深度 ONN 上的并行 FFM 梯度下降

图 2a 展示了使用 FFM 学习的自由空间 ONN(optical neural networks,光学神经网络)的自我训练过程。为了验证 FFM 学习的有效性,研究者首先使用基准数据集训练了一个单层 ONN 以进行对象分类。

图 2b 可视化了在 MNIST 数据集上的训练结果,可以看到,实验和理论光场之间的结构相似性指数(SSIM)超过了 0.97,这意味着相似度很高(图 2c)。值得注意的是,由于系统不完善的原因,光场和梯度的理论结果并不能精准地代表物理结果。因此,这些理论结果不应被视为基本事实。

接下来,研究者探究了用于 Fashion-MNIST 数据集分类的多层 ONN,具体如图 2d 所示。

通过将层数从 2 层增加到 8 层,他们观察到,计算机训练网络的实验测试结果平均达到了 44.0% (35.1%)、52.4%(8.8%)、58.4%(18.4%)和 58.8%(5.5%)的准确率(两倍标准差)。这些结果低于 92.2%、93.8%、96.0% 和 96.0% 的理论准确率。通过 FFM 学习,准确率数值分别提升到了 86.5%、91.0%、92.3% 和 92.5%,接近理想的计算机准确率。

图 2e 描述了 8 层 ONN 的输出结果。随着层数增加,计算机训练的实验输出逐渐偏离目标输出并最终对对象做出误分类。相比之外,FFM 设计的网络可以准确地进行正确分类。除了计算密集型数据和误传播之外,损失和梯度计算还可以通过现场光学和电子处理来执行。

图片链接

研究者进一步提出了非线性 FFM 学习,如图 2f 所示。在数据传播中,输出在馈入到下一层之前被非线性地激活,记录非线性激活的输入并计算相关梯度。在误差传播过程中,输入在传播之前与梯度相乘。

利用 FFM 进行全光学成像和处理

图 3a 展示了点扫描散射成像系统的实现原理。一般来说,在自适应光学中,启发式优化方法已经用于焦点优化。

研究者分析了不同的 SOTA 优化方法,并利用粒子群优化(PSO)进行比较,如图 3b 所示。出于评估的目的,这里采用了两种不同类型的散射介质,分别是随机相位板(称为 Scatterer-I)和透明胶带(称为 Scatterer-II)。基于梯度的 FFM 学习表现出更高的效率,在两种散射介质的实验中经过 25 次迭代后收敛,收敛损耗值分别为 1.84 和 2.07。相比之下,PSO 方法需要至少 400 次迭代后才能进行收敛,最终损耗值为 2.01 和 2.15。

图片链接

图 3c 描述了 FFM 自我设计的演变过程,展示了最开始随机分布的强度逐渐分布图逐渐收敛到一个紧密的点,随后在整个 3.2 毫米 × 3.2 毫米成像区域来学习设计的焦点。

图 3d 比较了使用 FFM 和 PSO 分别优化的焦点的半峰全宽(FWHM)和峰值信噪比(PSNR)指标。使用 FFM,平均 FWHM 为 81.2 µm,平均 PSNR 为 8.46 dB,最低 FWHM 为 65.6 µm。当使用 3.2mm 宽的方形孔径和 0.388m 的传播距离时,通过 FFM 学习设计的焦点尺寸接近衍射极限 64.5 µm。相比之下,PSO 优化产生的 FWHM 为 120.0 µm,PSNR 为 2.29 dB。

现场光子集成电路与 FFM

FFM 学习方法可以推广到集成光系统的自设计中。图 5a 展示了 FFM 学习实现过程。其中矩阵的对称性允许误差传播矩阵和数据传播矩阵之间对等。因此,数据和误差传播共享相同的传播方向。图 5b 展示了对称核心实现和封装芯片实验的测试设置。

研究者构建的神经网络用于对鸢尾花(Iris)数据进行分类,输入处理为 16 × 1 向量,输出代表三种花的类别之一。训练期间矩阵编程的保真度如图 5c 中所示,三个对称矩阵值的时间漂移分别产生了 0.012%、0.012% 和 0.010% 的标准偏差。

在这种不确定下,研究者将实验梯度与模拟值进行比较。如图 5d 所示,实验梯度与理想模拟值的平均偏差为 3.5%。图 5d 还说明了第 80 次学习迭代时第二层的设计梯度,而整个神经网络的误差在图 5e 中进行了可视化。在第 80 次迭代中,FFM 学习(计算机模拟训练)的梯度误差为 3.50%(5.10%)、3.58%(5.19%)、3.51%(5.24%)、3.56%(5.29%)和 3.46%(5.94%)。设计精度的演变如图 5f 所示。理想模拟和 FFM 实验都需要大约 100 个 epoch 才能收敛。在三种对称率配置下,实验性能与模拟性能相似,网络收敛到 94.7%、89.2% 和 89.0% 的准确率。FFM 方法实现了 94.2%、89.2% 和 88.7% 的准确率。相比之下,计算机设计的网络表现出 71.7%、65.8% 和 55.0% 的实验准确率。

基于这篇论文的成果,研究团队也推出了「太极 - II」光训练芯片。「太极 - II」的研发距离上一代「太极」仅过了 4 个月,相关成果也登上了 Science。

图片链接

值得一提的是,作为全球首款大规模干涉衍射异构集成芯片的「太极」,其计算能力可以比肩亿级神经元的芯片。论文的实验结果显示,「太极」的能效是英伟达 H100 的 1000 倍。这种强大的计算能力基于研究团队首创的分布式广度智能光计算架构。

更多细节,请参考原论文。



感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

Llama3训练每3小时崩一次?豆包大模型、港大团队为脆皮万卡训练提效

伴随大模型迭代速度越来越快,训练集群规模越来越大,高频率的软硬件故障已经成为阻碍训练效率进一步提高的痛点,检查点(Checkpoint)系统在训练过程中负责状态的存储和恢复,已经成为克服训练故障、保障训练进度和提高训练效率的关键。

近日,字节跳动豆包大模型团队与香港大学联合提出了 ByteCheckpoint。


这是一个 PyTorch 原生,兼容多个训练框架,支持 Checkpoint 的高效读写和自动重新切分的大模型 Checkpointing 系统,相比现有方法有显著性能提升和易用性优势。本文介绍了大模型训练提效中 Checkpoint 方向面临的挑战,总结 ByteCheckpoint 的解决思路、系统设计、I/O 性能优化技术,以及在存储性能和读取性能测试的实验结果。

Meta 官方最近披露了在 16384 块 H100 80GB 训练集群上进行 Llama3 405B 训练的故障率 —— 短短 54 天,发生 419 次中断,平均每三小时崩溃一次,引来不少从业者关注。
正如业内一句常言,大型训练系统唯一确定的,便是软硬件故障。随着训练规模与模型大小的日益增长,克服软硬件故障,提高训练效率成为大模型迭代的重要影响要素。
Checkpoint 已成为训练提效关键。在 Llama 训练报告中,技术团队提到,为了对抗高故障率,需要在训练过程中频繁地进行 Checkpoint ,保存训练中的模型、优化器、数据读取器状态,减少训练进度损失。
字节跳动豆包大模型团队与港大近期公开了成果 —— ByteCheckpoint ,一个 PyTorch 原生,兼容多个训练框架,支持 Checkpoint 的高效读写和自动重新切分的大模型 Checkpointing 系统。
与基线方法相比,ByteCheckpoint 在 Checkpoint 保存上性能提升高达 529.22 倍,在加载上,性能提升高达 3.51 倍。极简的用户接口和 Checkpoint 自动重新切分功能,显著降低了用户上手和使用成本,提高了系统的易用性。
目前论文成果已对外公开。

ByteCheckpoint: A Unified Checkpointing System for LLM Development 论文链接:https://team.doubao.com/zh/publication/bytecheckpoint-a-unified-checkpointing-system-for-llm-development?view_from=research

Checkpoint 技术在大模型训练中的技术挑战

当前 Checkpoint 相关技术在支持大模型训练提效中,共面临四个方面挑战:

现有系统设计存在缺陷,显著增加训练额外 I/O 开销

在训练工业级别的大语言模型 (LLM) 的过程中,训练状态需要通过检查点技术 ( Checkpointing ) 进行保存和持久化。通常情况下,一个 Checkpoint 包括 5 个部分 (模型,优化器,数据读取器,随机数和用户自定义配置)。这一过程往往会给训练带来分钟级别的阻塞,严重影响训练效率。

在使用远程持久化存储系统的大规模训练场景下,现有的 Checkpointing 系统没有充分利用 Checkpoint 保存过程中 GPU 到 CPU 内存拷贝 ( D2H 复制),序列化,本地存盘,上传到存储系统各个阶段的执行独立性。

此外,不同训练进程共同分担 Checkpoint 存取任务的并行处理潜力也没有被充分发掘。这些系统设计上的不足增加了 Checkpoint 训练带来的…
点击查看完整内容: https://team.doubao.com/zh/publication/bytecheckpoint-a-unified-checkpointing-system-for-llm-development?view_from=research

Checkpoint 技术在大模型训练中的技术挑战 

当前 Checkpoint 相关技术在支持大模型训练提效中,共面临四个方面挑战:

现有系统设计存在缺陷,显著增加训练额外 I/O 开销

在训练工业级别的大语言模型 (LLM) 的过程中,训练状态需要通过检查点技术 ( Checkpointing ) 进行保存和持久化。通常情况下,一个 Checkpoint 包括 5 个部分 (模型,优化器,数据读取器,随机数和用户自定义配置)。这一过程往往会给训练带来分钟级别的阻塞,严重影响训练效率。

在使用远程持久化存储系统的大规模训练场景下,现有的 Checkpointing 系统没有充分利用 Checkpoint 保存过程中 GPU 到 CPU 内存拷贝 ( D2H 复制),序列化,本地存盘,上传到存储系统各个阶段的执行独立性。

此外,不同训练进程共同分担 Checkpoint 存取任务的并行处理潜力也没有被充分发掘。这些系统设计上的不足增加了 Checkpoint 训练带来的额外 I/O 开销。

Checkpoint 重新切分困难,手动切分脚本开发维护开销过高

在 LLM 的不同训练阶段 (预训练到 SFT 或者 RLHF ) 以及不同任务 (从训练任务拉取不同阶段的 Checkpoint 进行执行自动评估) 之间进行 Checkpoint 迁移时,通常需要对保存在持久化存储系统中的 Checkpoint 进行重新切分 ( Checkpoint Resharding ) ,以适应下游任务的新并行度配置以及可用 GPU 资源的配额。

现有 Checkpointing 系统 [1, 2, 3, 4] 都假设存储和加载时,并行度配置和 GPU 资源保持不变,无法处理 Checkpoint 重新切分的需求。工业界目前常见的解决办法是 —— 为不同模型定制 Checkpoint 合并或者重新切分脚本。这种方法带来了大量开发与维护开销,可扩展性较差。

不同的训练框架 Checkpoint 模块割裂,为 Checkpoint 统一管理和性能优化带来挑战

在工业界的训练平台上,工程师与科学家往往会根据任务特性,选择合适框架 (Megatron-LM [5], FSDP [6], DeepSpeed [7], veScale [8, 9]) 进行训练,并保存 Checkpoint 到存储系统。然而,这些不同训练框架都具有自己独立的 Checkpoint 格式以及读写模块。不同训练框架的 Checkpoint 模块设计不尽相同,为底层系统进行统一的 Checkpoint 管理以及性能优化带来了挑战。

分布式训练系统的用户面临多重困扰

从训练系统的用户( AI 研究科学家或工程师)的角度出发,用户使用分布式训练系统时,在 Checkpoint 方向往往会被三个问题困扰:

1)如何高效地存储 Checkpoint ,在不影响训练效率的情况下保存 Checkpoint。
2)如何重新切分 Checkpoint ,对于在一个并行度下存储的 Checkpoint ,根据新的并行度正确读入。
3)如何把训练得到的产物上传到云存储系统上( HDFS,S3 等),手动管理多个存储系统,对用户来说学习和使用成本较高。

针对上述问题,字节跳动豆包大模型团队和香港大学吴川教授实验室联合推出了 ByteCheckpoint 。

ByteCheckpoint 是一个多训练框架统一,支持多存储后端,具备自动 Checkpoint 重新切分能力的高性能分布式 Checkpointing 系统。ByteCheckpoint 提供了简单易用的用户接口 ,实现了大量 I/O 性能优化技术提高了存储和读取 Checkpoint 性能,并支持 Checkpoint 在不同并行度配置的任务中的灵活迁移。

系统设计

存储架构

ByteCheckpoint 采用了元数据 / 张量数据分离的存储架构,实现了 Checkpoint 管理与训练框架和并行度的解耦合。

不同训练框架中的模型以及优化器的张量切片 ( Tensor Shard) 存储在 storage 文件中,元信息 (TensorMeta, ShardMeta, ByteMeta) 存储到全局唯一的 metadata 文件中。

当使用不同的并行度配置读取 Checkpoint 时,如下图所示,每个训练进程只需要根据当前的并行度设置查询元信息,便能够获取进程所需要张量的存储位置,再根据位置直接读取,实现自动 Checkpoint 重新切分。

巧解不规则张量切分

不同训练框架在运行时,往往会把模型或者优化器中张量的形状摊平 ( Flatten ) 成一维,从而提高集合通信性能。这种摊平操作给 Checkpoint 存储带来了不规则张量切分 (Irregular Tensor Sharding) 的挑战。

如下图所示,在 Megatron-LM (由 NVIDIA 研发的分布式大模型训练框架) 和 veScale (由字节跳动研发的 PyTorch 原生分布式大模型训练框架) 中,模型参数对应的优化器状态会被展平为一维后合并,再根据数据并行度切分。这导致张量被不规则地切分到不同进程之中,张量切片的元信息无法使用偏移量和长度元组来表示,给存储和读取带来困难。

不规则张量切分的问题在 FSDP 框架中也同样存在。

为消除不规则切分的张量切片 ,FSDP 框架在存储 Checkpoint 之前会在所有进程上对一维张量切片进行 all-gather 集合通信以及 D2H 复制操作,以获取完整不规则切分的张量。这种方案带来了极大的通信和频繁的 GPU-CPU 同步开销,严重影响了 Checkpoint 存储的性能。

针对这个问题,ByteCheckpoint 提出了异步张量合并 (Asynchronous Tensor Merging) 技术。

ByteCheckpoint 首先找出不同进程中被不规则切分的张量,之后采用异步的 P2P 通信,把这些不规则的张量分配到不同进程上进行合并。所有针对这些不规则张量的 P2P 通信等待(Wait) 以及张量 D2H 复制操作被推迟到他们即将进入序列化阶段的时候,从而消除了频繁的同步开销,也增加了通信与其他 Checkpoint 存储流程的执行重叠度。

系统架构

下图展示了 ByteCheckpoint 的系统架构:

API 层为不同训练框架提供了简单,易用且统一的读取和写入 ( Save )和读取( Load )…
点击查看完整内容: https://team.doubao.com/zh/publication/bytecheckpoint-a-unified-checkpointing-system-for-llm-development?view_from=research

API 用例

ByteCheckpoint 的 API 用例如下:

ByteCheckpoint 提供了极简 API ,降低了用户上手的成本。用户在存储和读取 Checkpoint 时,只需要调用存储和加载函数,传入需要存储和读取的内容,文件系统路径和各种性能优化选项。

I/O 性能优化技术

Checkpoint 存储优化

流水线执行

如下图所示,ByteCheckpoint 设计了全异步的存储流水线(Save Pipeline),将 Checkpoint 存储的不同阶段(P2P 张量传输,D2H 复制,序列化,保存本地和上传文件系统)进行拆分,实现高效的流水线执行。

避免内存重复分配

在 D2H 复制过程,ByteCheckpoint 采用固定内存池( Pinned Memory Pool ),减少了内存反复分配的时间开销。
除此之外,为了降低高频存储场景中因为同步等待固定内存池回收而带来的额外时间开销,ByteCheckpoint 在固定内存池的基础上加入了 Ping-Pong buffering 的机制。两个独立的内存池交替扮演着读写 buffer 的角色,与 GPU 和执行后续 I/O 操作的 I/O workers 进行交互,进一步提升存储效率。

负载均衡

在数据并行 ( Data-Parallel or DP ) 训练中,模型在不同的数据并行进程组( DP Group )之间是冗余的, ByteCheckpoint 采用了负载均衡算法把冗余的模型张量均匀分配到不同进程组中进行存储,有效地提高了 Checkpoint 存储效率。

Checkpoint 读取优化

零冗余加载

如图所示,在改变并行度读取 Checkpoint 时,新的训练进程可能只需要从原来的张量切片中读取其中的一部分。

ByteCheckpoint

感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

Llama3训练每3小时崩一次?豆包大模型、港大团队为脆皮万卡训练提效

伴随大模型迭代速度越来越快,训练集群规模越来越大,高频率的软硬件故障已经成为阻碍训练效率进一步提高的痛点,检查点(Checkpoint)系统在训练过程中负责状态的存储和恢复,已经成为克服训练故障、保障训练进度和提高训练效率的关键。

近日,字节跳动豆包大模型团队与香港大学联合提出了 ByteCheckpoint。


这是一个 PyTorch 原生,兼容多个训练框架,支持 Checkpoint 的高效读写和自动重新切分的大模型 Checkpointing 系统,相比现有方法有显著性能提升和易用性优势。本文介绍了大模型训练提效中 Checkpoint 方向面临的挑战,总结 ByteCheckpoint 的解决思路、系统设计、I/O 性能优化技术,以及在存储性能和读取性能测试的实验结果。

Meta 官方最近披露了在 16384 块 H100 80GB 训练集群上进行 Llama3 405B 训练的故障率 —— 短短 54 天,发生 419 次中断,平均每三小时崩溃一次,引来不少从业者关注。

正如业内一句常言,大型训练系统唯一确定的,便是软硬件故障。随着训练规模与模型大小的日益增长,克服软硬件故障,提高训练效率成为大模型迭代的重要影响要素。

Checkpoint 已成为训练提效关键。在 Llama 训练报告中,技术团队提到,为了对抗高故障率,需要在训练过程中频繁地进行 Checkpoint ,保存训练中的模型、优化器、数据读取器状态,减少训练进度损失。

字节跳动豆包大模型团队与港大近期公开了成果 —— ByteCheckpoint ,一个 PyTorch 原生,兼容多个训练框架,支持 Checkpoint 的高效读写和自动重新切分的大模型 Checkpointing 系统。

与基线方法相比,ByteCheckpoint 在 Checkpoint 保存上性能提升高达 529.22 倍,在加载上,性能提升高达 3.51 倍。极简的用户接口和 Checkpoint 自动重新切分功能,显著降低了用户上手和使用成本,提高了系统的易用性。

目前论文成果已对外公开。

图片

ByteCheckpoint: A Unified Checkpointing System for LLM Development

Checkpoint 技术在大模型训练中的技术挑战

当前 Checkpoint 相关技术在支持大模型训练提效中,共面临四个方面挑战:

现有系统设计存在缺陷,显著增加训练额外 I/O 开销

在训练工业级别的大语言模型 (LLM) 的过程中,训练状态需要通过检查点技术 ( Checkpointing ) 进行保存和持久化。通常情况下,一个 Checkpoint 包括 5 个部分 (模型,优化器,数据读取器,随机数和用户自定义配置)。这一过程往往会给训练带来分钟级别的阻塞,严重影响训练效率。

在使用远程持久化存储系统的大规模训练场景下,现有的 Checkpointing 系统没有充分利用 Checkpoint 保存过程中 GPU 到 CPU 内存拷贝 ( D2H 复制),序列化,本地存盘,上传到存储系统各个阶段的执行独立性。

此外,不同训练进程共同分担 Checkpoint 存取任务的并行处理潜力也没有被充分发掘。这些系统设计上的不足增加了 Checkpoint 训练带来的额外 I/O 开销。

Checkpoint 重新切分困难,手动切分脚本开发维护开销过高

在 LLM 的不同训练阶段 (预训练到 SFT 或者 RLHF ) 以及不同任务 (从训练任务拉取不同阶段的 Checkpoint 进行执行自动评估) 之间进行 Checkpoint 迁移时,通常需要对保存在持久化存储系统中的 Checkpoint 进行重新切分 ( Checkpoint Resharding ) ,以适应下游任务的新并行度配置以及可用 GPU 资源的配额。

现有 Checkpointing 系统 [1, 2, 3, 4] 都假设存储和加载时,并行度配置和 GPU 资源保持不变,无法处理 Checkpoint 重新切分的需求。工业界目前常见的解决办法是 —— 为不同模型定制 Checkpoint 合并或者重新切分脚本。这种方法带来了大量开发与维护开销,可扩展性较差。

不同的训练框架 Checkpoint 模块割裂,为 Checkpoint 统一管理和性能优化带来挑战

在工业界的训练平台上,工程师与科学家往往会根据任务特性,选择合适框架 (Megatron-LM, FSDP, DeepSpeed, veScale) 进行训练,并保存 Checkpoint 到存储系统。然而,这些不同的训练框架都具有自己独立的 Checkpoint 格式以及读写模块。不同训练框架的 Checkpoint 模块设计不尽相同,为底层系统进行统一的 Checkpoint 管理以及性能优化带来了挑战。

分布式训练系统的用户面临多重困扰

从训练系统的用户( AI 研究科学家或工程师)的角度出发,用户使用分布式训练系统时,在 Checkpoint 方向往往会被三个问题困扰:

1)如何高效地存储 Checkpoint ,在不影响训练效率的情况下保存 Checkpoint。
2)如何重新切分 Checkpoint ,对于在一个并行度下存储的 Checkpoint ,根据新的并行度正确读入。
3)如何把训练得到的产物上传到云存储系统上( HDFS,S3 等),手动管理多个存储系统,对用户来说学习和使用成本较高。

针对上述问题,字节跳动豆包大模型团队和香港大学吴川教授实验室联合推出了 ByteCheckpoint 。

ByteCheckpoint 是一个多训练框架统一,支持多存储后端,具备自动 Checkpoint 重新切分能力的高性能分布式 Checkpointing 系统。ByteCheckpoint 提供了简单易用的用户接口 ,实现了大量 I/O 性能优化技术提高了存储和读取 Checkpoint 性能,并支持 Checkpoint 在不同并行度配置的任务中的灵活迁移。

系统设计

存储架构

ByteCheckpoint 采用了元数据 / 张量数据分离的存储架构,实现了 Checkpoint 管理与训练框架和并行度的解耦合。

不同训练框架中的模型以及优化器的张量切片 ( Tensor Shard) 存储在 storage 文件中,元信息 (TensorMeta, ShardMeta, ByteMeta) 存储到全局唯一的 metadata 文件中。

图片

当使用不同的并行度配置读取 Checkpoint 时,如下图所示,每个训练进程只需要根据当前的并行度设置查询元信息,便能够获取进程所需要张量的存储位置,再根据位置直接读取,实现自动 Checkpoint 重新切分。

图片

巧解不规则张量切分

不同训练框架在运行时,往往会把模型或者优化器中张量的形状摊平 ( Flatten ) 成一维,从而提高集合通信性能。这种摊平操作给 Checkpoint 存储带来了不规则张量切分 (Irregular Tensor Sharding) 的挑战。

如下图所示,在 Megatron-LM (由 NVIDIA 研发的分布式大模型训练框架) 和 veScale (由字节跳动研发的 PyTorch 原生分布式大模型训练框架) 中,模型参数对应的优化器状态会被展平为一维后合并,再根据数据并行度切分。这导致张量被不规则地切分到不同进程之中,张量切片的元信息无法使用偏移量和长度元组来表示,给存储和读取带来困难。

图片

不规则张量切分的问题在 FSDP 框架中也同样存在。

为消除不规则切分的张量切片 ,FSDP 框架在存储 Checkpoint 之前会在所有进程上对一维张量切片进行 all-gather 集合通信以及 D2H 复制操作,以获取完整不规则切分的张量。这种方案带来了极大的通信和频繁的 GPU-CPU 同步开销,严重影响了 Checkpoint 存储的性能。

针对这个问题,ByteCheckpoint 提出了异步张量合并 (Asynchronous Tensor Merging) 技术。

ByteCheckpoint 首先找出不同进程中被不规则切分的张量,之后采用异步的 P2P 通信,把这些不规则的张量分配到不同进程上进行合并。所有针对这些不规则张量的 P2P 通信等待(Wait) 以及张量 D2H 复制操作被推迟到他们即将进入序列化阶段的时候,从而消除了频繁的同步开销,也增加了通信与其他 Checkpoint 存储流程的执行重叠度。

系统架构

下图展示了 ByteCheckpoint 的系统架构:

API 层为不同训练框架提供了简单,易用且统一的读取和写入 ( Save )和读取( Load )接口。

Planner 层会根据存取对象为不同训练进程生成存取方案,交由 Execution 层执行实际的 I/O 任务。

Execution 层执行 I/O 任务并与 Storage 层进行交互,利用各种 I/O 优化技术进行高性能的 Checkpoint 存取。

Storage 层管理不同的存储后端,并在 I/O 任务过程中根据不同存储后端进行相应的优化。

分层设计增强了系统的可扩展性,以便未来支持更多的训练框架和存储后端。

图片

API 用例

ByteCheckpoint 的 API 用例如下:

图片

ByteCheckpoint 提供了极简 API ,降低了用户上手的成本。用户在存储和读取 Checkpoint 时,只需要调用存储和加载函数,传入需要存储和读取的内容,文件系统路径和各种性能优化选项。

I/O 性能优化技术

Checkpoint 存储优化

流水线执行

如下图所示,ByteCheckpoint 设计了全异步的存储流水线(Save Pipeline),将 Checkpoint 存储的不同阶段(P2P 张量传输,D2H 复制,序列化,保存本地和上传文件系统)进行拆分,实现高效的流水线执行。

图片

避免内存重

感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

吴恩达亲自授课,LLM当「助教」,适合初学者的Python编程课程上线

吴恩达教授开新课了,还是亲自授课!今天,人工智能著名学者、斯坦福大学教授吴恩达在社交平台 X 上发帖介绍了一门新课程 ——AI Python for Beginners,旨在从头开始讲授 Python 编程知识,适合初学者学习。吴恩达将担任该课程讲师。


图片

图片

课程链接:https://www.deeplearning.ai/short-courses/ai-python-for-beginners/

AI Python for Beginners 课程由四个部分组成,包括:

  • AI Python 编程基础知识:学习 Python 基础知识,并立即将它们应用到人工智能应用程序中。
  • 使用 Python 自动化任务:学习如何自动执行重复任务并使用代码做出决策。学生将了解有效使用数据的方式,并创建人工智能驱动的工具,这些工具可以对任务进行优先级排序。
  • 使用 Python 处理数据和文档:学习编写自定义函数来执行特定任务,使用 Python 读取文档内的数据并将其存储为字符串或数字,将文档中的文本传递给大型语言模型(LLM),并要求其以特定方式进行分析。
  • 使用包和 API 扩展 Python:学会使用第三方代码扩展 Python,并创建一个简单的 AI 智能体。

学生将掌握 Python 基础知识,并学习基本的编程概念,如变量、函数、循环、数据结构等等。该课程还将教学生编写实用的人工智能应用程序,例如构建自定义菜谱生成器、智能待办事项列表和假期计划器等。这种实践方法可以让学生学会编写调用 AI 模型的代码,使其在工作和个人项目中编程更加高效。

吴恩达表示:「生成式人工智能正在改变编程方式」,因此该课程将在人工智能聊天机器人的协助下展开,聊天机器人可以帮助学生编写、测试和调试代码,提供即时反馈和个性化指导,让学生持续学习编程技能。

图片

在课程结束时,学生将能够编写与大型语言模型交互的 Python 脚本、分析数据,甚至创建简单的 AI 智能体。

值得注意的是,这门课程是免费课程,感兴趣的读者快去看看吧。

参考链接:https://www.deeplearning.ai/short-courses/ai-python-for-beginners/



感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB

吴恩达亲自授课,LLM当「助教」,适合初学者的Python编程课程上线

吴恩达教授开新课了,还是亲自授课!今天,人工智能著名学者、斯坦福大学教授吴恩达在社交平台 X 上发帖介绍了一门新课程 ——AI Python for Beginners,旨在从头开始讲授 Python 编程知识,适合初学者学习。吴恩达将担任该课程讲师。


课程链接:https://www.deeplearning.ai/short-courses/ai-python-for-beginners/

AI Python for Beginners 课程由四个部分组成,包括:

  • AI Python 编程基础知识:学习 Python 基础知识,并立即将它们应用到人工智能应用程序中。
  • 使用 Python 自动化任务:学习如何自动执行重复任务并使用代码做出决策。学生将了解有效使用数据的方式,并创建人工智能驱动的工具,这些工具可以对任务进行优先级排序。
  • 使用 Python 处理数据和文档:学习编写自定义函数来执行特定任务,使用 Python 读取文档内的数据并将其存储为字符串或数字,将文档中的文本传递给大型语言模型(LLM),并要求其以特定方式进行分析。
  • 使用包和 API 扩展 Python:学会使用第三方代码扩展 Python,并创建一个简单的 AI 智能体。

学生将掌握 Python 基础知识,并学习基本的编程概念,如变量、函数、循环、数据结构等等。该课程还将教学生编写实用的人工智能应用程序,例如构建自定义菜谱生成器、智能待办事项列表和假期计划器等。这种实践方法可以让学生学会编写调用 AI 模型的代码,使其在工作和个人项目中编程更加高效。

吴恩达表示:「生成式人工智能正在改变编程方式」,因此该课程将在人工智能聊天机器人的协助下展开,聊天机器人可以帮助学生编写、测试和调试代码,提供即时反馈和个性化指导,让学生持续学习编程技能。

点击查看视频

在课程结束时,学生将能够编写与大型语言模型交互的 Python 脚本、分析数据,甚至创建简单的 AI 智能体。

值得注意的是,这门课程是免费课程,感兴趣的读者快去看看吧。

参考链接:https://www.deeplearning.ai/short-courses/ai-python-for-beginners/



感谢阅读!如果您对AI的更多资讯感兴趣,可以查看更多AI文章:GPTNB