Snap公司开发了SnapGen++,这是一个紧凑型扩散变换器,能在智能手机上直接生成高分辨率图像,时间不到两秒。该模型首次使用了原本为大型服务器模型保留的架构,现在能高效运行在移动设备上。尽管体积小巧,SnapGen++在图像质量测试中超越了参数规模大30倍的竞争对手,如Flux.1-dev和Stable Diffusion 3.5。
根据研究论文,SnapGen++在iPhone 16 Pro Max上仅用1.8秒就能生成1024x1024像素的图像。之前的设备端模型如SnapGen使用U-Net架构,但SnapGen++是首个将更强大的扩散变换器架构引入智能手机的模型。这种架构为Flux和Stable Diffusion 3等大型服务器模型提供动力,但此前其巨大的计算需求使其在移动设备上不切实际。
扩散变换器代表了图像生成的重大飞跃。它们结合了变换器架构的优势,特别是理解复杂文本提示和高效扩展的能力,以及经过验证的扩散方法。结果是比基于U-Net的前代模型产生更连贯和详细的图像。
扩散变换器的核心挑战是其巨大的计算需求,随着图像分辨率的增加呈二次方增长。团队通过一种新的注意力方法解决了这个问题,该方法显著降低了处理负载。模型不是一次性处理所有图像区域,而是将粗略概览与精细局部细节相结合。这种方法将每个推理步骤的延迟从2000毫秒降至300毫秒以下,而不牺牲生成质量。
团队还开发了他们称之为弹性训练的方法。一次训练运行产生三个模型变体:一个拥有30亿参数的Tiny版本用于预算Android设备,一个拥有40亿参数的Small版本用于高端智能手机,以及一个拥有160亿参数的Full版本用于服务器或量化设备端使用。