CC3M
收藏github2024-11-19 更新2024-11-28 收录
下载链接:
https://github.com/RE-N-Y/sae
下载链接
链接失效反馈资源简介:
CC3M数据集是一个用于训练和建模的图像和文本数据集,常用于生成模型和稀疏自编码器的训练。
The CC3M dataset is an image-text dataset intended for training and modeling, and is commonly used for training generative models and sparse autoencoders.
创建时间:
2024-11-18
原始信息汇总
数据集概述
数据集名称
Sparse Autoencoders for flow matching models
数据集描述
该数据集用于训练稀疏自编码器(SAE),以解释生成模型的内部机制。数据集包含在CC3M数据集上训练SAE的代码和模型。
数据集内容
代码结构
autoencoder.py: 包含Topk、Standard、JumpReLU和Gated SAE的建模代码,以及在采样激活上训练SAE的代码。fluxsae.py: 包含在FLUX激活上训练SAE的代码。notebooks/saevis.ipynb: 包含获取每个SAE特征的topk激活样本的最小代码。scripts/conversion.py: 包含从HF下载CC3M数据集并加载图像的脚本,还提供提取CLIP激活并保存为safetensors格式的工具。
可用检查点
-
CLIP SAEs on text pooled activations:
- cc3m-text-topk-lr-3e-4-k-4-expansion-4
- cc3m-text-topk-lr-3e-4-k-16-expansion-4
- cc3m-text-topk-lr-3e-4-k-64-expansion-4
- cc3m-text-topk-lr-3e-4-k-128-expansion-4
-
CLIP SAEs on vision activations (penultimate layer):
- cc3m-vision-topk-lr-3e-4-k-4-expansion-4
- cc3m-vision-topk-lr-3e-4-k-16-expansion-4
- cc3m-vision-topk-lr-3e-4-k-64-expansion-4
- cc3m-vision-topk-lr-3e-4-k-128-expansion-4
-
FLUX SAEs on block outputs:
- cc3m-single_transformer_blocks.9
- cc3m-single_transformer_blocks.37
- cc3m-transformer_blocks.0-0
- cc3m-transformer_blocks.0-1
- cc3m-transformer_blocks.18-0
- cc3m-transformer_blocks.18-1
快速开始
示例代码展示了如何使用预训练的SAE模型进行编码和解码操作。
开放研究问题
- 在FLUX上采样激活的最佳位置是什么?
- 给定一个不错的IP-adapter,我们能否使用CLIP SAE来引导生成?
- SAE能否成为新的LoRA?它是否在风格、内容和构图方面提供了足够的可控性?
未整理的实验笔记和想法
- 推荐使用Topk SAE,它简单且有效。
- Topk SAE的辅助损失尚未正确实现。
- Ghost grads尚未实现。
- 编码器/解码器初始化为单位范数列。
- 在训练期间,解码器列被归一化为单位范数。
- 在CLIP激活上训练SAE非常便宜。
- 如果SAE训练在流匹配模型上变得可靠,我们只需要训练一个好的SAE模型,而不需要为每个模型训练LoRA。
- 在某种意义上,MLP已经是SAE。
- 使用CLIP SAE/FLUX SAE引导FLUX的生成似乎无效。
TODOs
- [ ] 使FLUX SAE更可靠,尝试不同的采样位置。
- [ ] 研究sdxl-unbox论文,了解他们如何使用SAE进行SDXL引导。
致谢
实现部分参考了OpenAI的Topk SAE和dictionary_learning仓库。感谢作者提供了可修改的实现。
AI搜集汇总
数据集介绍

构建方式
CC3M数据集的构建基于稀疏自编码器(Sparse Autoencoder)技术,旨在解析生成模型的内部机制。该数据集通过从CLIP和FLUX模型中采样激活,训练稀疏自编码器,从而生成具有代表性的特征集。具体构建过程中,首先从HF下载CC3M数据集并加载图像,然后提取CLIP激活并保存为safetensors格式。接着,使用这些激活数据训练不同类型的稀疏自编码器,包括Topk、Standard、JumpReLU和Gated SAEs,最终生成一系列预训练的检查点。
特点
CC3M数据集的显著特点在于其高度稀疏性和自编码器的多样性。通过稀疏自编码器,数据集能够有效捕捉生成模型中的关键特征,减少冗余信息。此外,数据集提供了多种预训练检查点,涵盖了从文本池化激活到视觉激活的不同层级,使得研究人员能够灵活选择适合其研究需求的模型。这些特点使得CC3M在解析和操控生成模型方面具有显著优势。
使用方法
使用CC3M数据集时,用户可以通过加载预训练的稀疏自编码器检查点,快速启动模型训练和特征提取。具体步骤包括:首先,加载所需的稀疏自编码器模型和CLIP模型;然后,通过处理器处理输入的图像和文本数据,获取激活状态;接着,利用稀疏自编码器对这些激活进行编码和解码,实现特征的重构和操控。此外,数据集还提供了脚本和工具,用于下载和处理原始数据,以及提取和保存CLIP激活,极大地简化了使用流程。
背景与挑战
背景概述
CC3M数据集,全称为Conceptual Captions 3 Million,是一个大规模的图像-文本对数据集,由Google AI于2018年创建。该数据集的核心研究问题在于通过大量的图像和文本对来训练和评估视觉和语言模型的性能,特别是在图像描述生成和图像检索任务中。CC3M数据集的构建旨在解决现有数据集在规模和多样性上的不足,从而推动计算机视觉和自然语言处理领域的研究进展。其影响力在于为研究人员提供了一个丰富的资源,用于开发和测试新的模型和算法,特别是在多模态学习领域。
当前挑战
CC3M数据集在构建过程中面临了多个挑战。首先,数据集的规模庞大,涉及从互联网上抓取和清洗数百万对图像和文本,这需要高效的爬虫技术和强大的数据清洗能力。其次,图像和文本的多样性带来了标注一致性的问题,确保每对图像和文本的相关性是一个复杂的过程。此外,数据集的多样性也意味着需要处理多种语言和文化的文本,增加了跨文化理解的难度。最后,数据集的应用领域广泛,从图像描述生成到图像检索,每个应用场景都有其特定的技术挑战,如模型的泛化能力和实时处理效率。
常用场景
经典使用场景
在生成模型领域,CC3M数据集被广泛用于训练稀疏自编码器(SAE),以解析生成模型的内部机制。通过CC3M数据集,研究者能够训练SAE模型,从而在CLIP和FLUX模型中提取关键激活特征。这种应用不仅有助于理解生成模型的底层结构,还能为模型优化提供新的视角。
解决学术问题
CC3M数据集在学术研究中解决了生成模型内部机制解析的关键问题。通过训练SAE模型,研究者能够深入探索生成模型的激活模式,从而揭示模型在处理图像和文本时的内在逻辑。这一研究不仅推动了生成模型理论的发展,还为实际应用中的模型优化提供了理论支持。
衍生相关工作
基于CC3M数据集的研究衍生了一系列相关工作,特别是在生成模型和自编码器领域。例如,研究者们利用CC3M数据集训练的SAE模型,进一步探索了生成模型的控制性和可解释性。此外,CC3M数据集还启发了在流匹配模型中应用SAE的研究,推动了生成模型技术的创新和发展。
以上内容由AI搜集并总结生成



