分类: AI

  • “闭门造车”之多模态模型方案浅谈

    前言

    大家好,今天我要和大家聊聊一个即便我闭门造车也能侃侃而谈的热门话题——多模态模型。近期Google的Gemini 1.5和OpenAI的Sora再次点燃了大家对多模态技术的热情。虽然我没有亲身实践过这些大模型,但凭借一些文本生成和图像生成的经验,我依然可以带大家一探究竟。

    问题背景

    多模态模型,简而言之,就是能同时处理图文混合的模型。有人可能会想,这不就是烧钱堆显卡,然后用Transformer“一把梭”搞定吗?其实没那么简单。文本生成一直有明确的方向——语言模型。而图像生成则没有这样清晰的路线,VAE、GAN、Flow、Diffusion等方法各显神通,原因就在于图像生成需要对连续变量进行概率建模,这比文本生成复杂得多。

    离散之路

    既然连续难搞,那能不能把图像离散化,套用文本生成的框架呢?答案是可以的,这也是目前的主流思路。图像本质上是离散的,比如一幅n \times n大小的RGB图像,就是3n^2个0~255的整数。我们可以通过VQ-VAE或者VQ-GAN这样的“图像Tokenizer”进行离散化,然后用文本生成的方式处理这些离散的图像Token。

    压缩损失

    虽然听起来很美好,但图像Tokenizer有一个大问题——信息损失。为了提高生成速度,通常会对图像进行高度压缩,这导致图像细节严重缺失。参考SEED的重构效果,虽然整体语义保持,但细节完全不同。无损压缩是理想状态,但目前的技术还达不到这个水平。

    扩散模型

    面对信息损失的问题,如果限定无损压缩,那么扩散模型是一个不错的选择。扩散模型通过将标准高斯分布映射为目标分布,有足够的熵源来保证生成效果。相比之下,Flow模型虽然设计上可逆,但效果上限不如扩散模型。因此,扩散模型成为了图像生成的首选。

    Patch输入

    一个大胆的想法是直接以原始图像的Patch作为输入,用Transformer进行处理。这样可以避免特征间的孤立问题。实验表明,这种做法是可行的,虽然训练步数较多,但在多模态大模型训练中的步数本身就很大,所以这不算大问题。

    文章小结

    本文介绍了一种多模态模型的设计构思,即直接以原始图像的Patch作为图像输入,文本部分常规预测下一个Token,图像部分用加噪图像重构原图。这种组合能够以最保真的方式实现多模态生成。虽然这只是我闭门造车的一些想法,但希望能给大家带来一些启发。

    参考文献

    苏剑林. (Feb. 21, 2024). 《“闭门造车”之多模态模型方案浅谈》[Blog post]. Retrieved from 科学空间


    希望大家喜欢这篇文章,欢迎分享和讨论!

  • 以蒸馏的名义:“从去噪自编码器到生成模型”重现江湖

    前言

    今天我们要聊的,是一篇名为《Score identity Distillation: Exponentially Fast Distillation of Pretrained Diffusion Models for One-Step Generation》的论文。顾名思义,这篇论文探讨了如何更快、更好地蒸馏扩散模型。即便你对蒸馏一无所知,看到这里也不必担心,咱们一步步来。

    蒸馏模型:从繁到简的艺术

    常规蒸馏步骤

    蒸馏的常规步骤是什么呢?简单来说,就是随机采样大量输入,然后用扩散模型生成相应的输出,用这些输入输出作为训练数据对,来监督训练一个新模型。但是,这种方法需要教师模型迭代多次(比如1000次)才能生成高质量输出,费时费力,还容易造成效果损失。有没有更高效的方法呢?

    Score Identity Distillation(SiD)

    这篇论文提出了一种名为“Score identity Distillation(SiD)”的方法。虽然名字高大上,但其实思路很简单:它利用了一些恒等式来设计和推导整个框架。不过,这些恒等式本身并不新,名字只是为了显得高端而已。

    重现江湖:从去噪自编码器到生成模型

    初级形式

    假设我们有一个训练好的教师扩散模型,它需要多步采样才能生成高质量图片。我们的目标是训练一个单步采样的学生模型,即一个类似GAN的生成器,只需输入噪声就能生成图像。如果我们有大量的输入输出对,那么直接监督训练就可以了,但如果没有呢?

    SiD采用了一个看似绕但很聪明的思路:如果学生模型生成的数据分布和目标分布很相似,那么用学生模型生成的数据集去训练一个扩散模型,它也应该和教师模型相似。

    点睛之笔

    谈到GAN,有些人可能会“闻之色变”,因为它们容易训崩。但SiD提出了一个有效的解决方案:通过恒等变换,尽量消除优化目标对某些变量的依赖,使得训练更加稳定。

    恒等变换

    具体来看,SiD通过一系列恒等变换,将优化目标简化为一个更易处理的形式。这些变换利用了概率密度定义和贝叶斯公式,使得训练过程更高效。

    实践中的挑战与解决方案

    训练中的坑

    虽然理论上SiD的方法看起来很美,但在实际操作中仍然存在一些挑战。例如,如何在不牺牲效果的前提下减少显存需求。论文提出了未来可以尝试对预训练模型加LoRA来进一步节省显存。

    延伸思考

    SiD的方法虽然已经很完善,但仍有改进空间。比如,是否可以进一步简化恒等变换,或者引入新的优化策略来提高训练效率。

    文章小结

    总的来说,SiD通过一系列精妙的恒等变换和优化策略,成功地将复杂的多步扩散模型蒸馏为单步生成模型。这不仅提高了生成效率,还减少了对训练数据和计算资源的需求。未来,随着更多改进和优化的引入,SiD有望在更加广泛的应用场景中展现其价值。


    参考文献

    苏剑林. (May. 01, 2024). 《以蒸馏的名义:“从去噪自编码器到生成模型”重现江湖 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/10085

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 借一步网
Page Stats: PV: 1146 | UV: 717
Last updated: 2025-06-17 06:43:21
沪ICP备2024052574号-1