简介:Segmind开源了经过知识蒸馏技术训练的SD-Small和SD-Tiny模型,这两个压缩模型分别比基础模型少35%和55%的参数,同时保持了相当的图像保真度。文章介绍了知识蒸馏的原理、训练过程及模型应用。
近年来,人工智能社区在开发更大、更高性能的语言和图像模型方面取得了显著进展,如Falcon 40B、LLaMa-2 70B、SD2.1等。然而,随着模型规模的扩大,如何使它们体量更小、运行更高效、更易于访问,成为了新的挑战。Segmind公司一直致力于解决这一问题,通过开源和加速技术推动生成式AI的发展。
在此背景下,Segmind开源了其压缩的SD模型——SD-Small和SD-Tiny的权重和训练代码。这两个模型是基于知识蒸馏(KD)技术训练的,旨在保持基础模型性能的同时,大幅度减少模型的参数和计算量。预训练的检查点可以在Hugging Face平台上获取。
知识蒸馏是一种模型压缩的有效解决方案,它的核心思想是通过蒸馏训练让小模型学习到大模型的泛化能力。在这个过程中,一个性能较好的大模型(老师模型)首先被训练出来,然后使用其输出作为软标签,真实标签作为硬标签,两者联合训练一个小模型(学生模型)。通过这种方式,学生模型能够保留大模型的性能,同时降低模型的大小和复杂性。
在SD-Small和SD-Tiny的训练中,Segmind采用了块移除知识蒸馏方法。这种方法通过移除一些UNet层来简化模型结构,并训练学生模型权重以模仿大模型的输出。具体来说,他们使用diffusers库训练了两个压缩模型,分别是Small(微小版本)和Tiny(极小版本),分别比基础模型少了35%和55%的参数,同时实现了与基础模型相当的图像保真度。
为了实现这一目标,Segmind在损失函数中包含了三个组成部分:目标图像隐变量和生成图像隐变量之间的传统损失、老师生成的图像隐变量和学生生成的图像隐变量之间的损失,以及最重要的特征级损失,即老师和学生每个块输出之间的损失。这些损失函数共同构成了知识蒸馏训练的基础。
此外,Segmind还开源了蒸馏训练的代码,并将预训练检查点上传到了Hugging Face平台。用户可以通过diffusers中的DiffusionPipeline来使用这些模型。例如,通过提供一段文字描述,模型可以生成与之对应的图像。这些模型在推理速度上也比原始基础模型快了一倍,使得它们在实际应用中更加高效。
然而,需要注意的是,蒸馏模型目前还处于早期阶段,输出可能还不具备生产水平的质量。这些模型最好用作针对特定概念或风格进行微调或LoRA训练的基础。Segmind已经在Realistic Vision v4.0模型生成的人像图像上微调了他们的sd-tiny模型,并取得了接近原始模型产生的图像质量,同时参数减少了近40%。
总之,Segmind开源的SD-Small和SD-Tiny模型为生成式AI的轻量化提供了新的解决方案。通过知识蒸馏技术,这两个模型在保持高性能的同时,大幅度减少了参数和计算量。未来,随着开源社区的共同努力和持续改进,这些蒸馏SD模型有望实现更广泛的采用和应用。
值得一提的是,在生成式AI领域,除了模型轻量化外,如何提高模型的生成效率和质量也是重要研究方向之一。例如,千帆大模型开发与服务平台就提供了丰富的算法和工具支持,帮助用户快速构建和优化自己的生成式AI模型。同样,曦灵数字人和客悦智能客服等应用也在不断探索和创新,以提供更加智能化和人性化的服务体验。对于SD-Small和SD-Tiny这样的轻量化模型来说,它们可以与这些平台和应用相结合,进一步拓展生成式AI的应用场景和边界。