CLEFT: Language-Image Contrastive Learning with Efficient Large Language Model and Prompt Fine-Tuning
github.com
paper
CLEFT是一种新型的对比语言图像预训练框架,专为医学图像而设计。它融合了医学LLM的预训练、高效微调和提示上下文学习,展现出卓越的性能!该框架由耶鲁大学研发。
最新进展证明了对比语言-图像预训练(CLIP)在自监督表征学习方面取得显著成功。然而,类似CLIP的现有方法通常需要大量GPU资源和长时间训练,因为模型和数据集规模较大,这使其不适用于医疗应用场景中,并非所有都有大规模数据集可供使用。同时,手动从与图像相关联的标签中提取语言模型提示可能会忽略丰富信息样本所包含的内容。我们引入了一种创新的语言-图像对比学习方法CLEFT,在充分利用广泛预训练语言和视觉模型优势时实现高效率微调提示。此外,本文还提出了一种有效策略来基于上下文进行提示学习,以缩小临床诊断数据和简单类别标签之间差距,并充分利用其中丰富信息内容。相较于各种基线算法,在多个胸部X光和乳房X光检查数据集上验证结果显示提出的方法达到了最先进水平。与当前BERT编码器相比,所提出参数高效框架可以减少39%总可训练模型大小,并将可训练语言模型减少至仅4%。
动机
问题
- 资源消耗大:
- 现有的CLIP(Contrastive Language-Image Pre-training)类方法通常需要大量的GPU资源和长时间的训练,这主要是由于模型和数据集规模庞大。这使得这些方法在医疗领域的应用受限,因为医疗数据往往不如自然图像数据丰富。
- 语言模型提示的局限性:
- 现有的CLIP方法中的语言模型提示主要基于与图像绑定的标签手动生成,这可能忽略了训练样本中丰富的信息。
- 手工制作的提示语缺乏多样性,可能导致文本编码器中的灾难性遗忘现象,并限制模型性能。
- 模型大小限制:
- 现有的医疗CLIP方法使用基于BERT的语言模型,其模型大小有限,影响了在嵌入空间中的表达能力,进一步限制了预训练能力。
解决问题的策略
- 引入高效的大型语言模型:
- 利用大规模预训练的语言模型和视觉模型的优势,以弥补医疗数据稀缺的问题。
- 引入GPT-2基础的因果语言模型作为文本编码器,该模型在扩展到数十亿参数时表现出更好的能力。
- 参数高效的微调:
- 采用参数高效的微调(PEFT)模块,以减少训练期间的参数数量,同时保持大型语言模型中的稳健预训练知识。
- 通过在冻结的大型语言模型中注入少量可训练参数,调整注意力层的输出,避免过拟合和灾难性遗忘。
- 学习上下文相关的提示:
- 提出一个高效的策略来学习上下文相关的提示,以弥补信息量丰富的临床诊断数据与简单类标签之间的差距。
- 通过第二阶段的训练,优化可学习的上下文提示标记,提高模型的泛化能力。
方法
1. Boosting CLIP with an LLM
- 基础CLIP框架:
- 包括视觉编码器和文本编码器,通过相应的投影头将图像-文本对编码到特征空间,并映射到同一特征空间以桥接两种模态。
- PEFT LLM作为文本编码器:
- 使用GPT-2因果语言模型代替BERT模型,因为GPT-2在扩展到数十亿参数时表现出更强的能力。
- 引入PEFT模块,在每个Transformer块中注入少量可训练参数,以调整注意力层的输出,同时保持大多数参数冻结。
- 解锁LLM的嵌入层,在预训练期间更新相应的令牌嵌入,以缩小预训练文本数据与CLIP提示之间的领域差距。
- CLIP作为知识蒸馏:
- 将预训练的文本编码器视为教师模型,因为它已经有一个完善的嵌入空间,能够区分不同的样本。
- 视觉编码器作为学生模型,其输出被优化以与教师模型的嵌入空间对齐,从而蒸馏出教师模型中的知识。
2. 学习上下文相关的提示
- 替换手工制作的提示:
- 在预训练后,冻结两个编码器,并用一系列可训练的标记替换原始手工制作的提示。
- 这些可学习的上下文提示标记用于所有类别,以确保其泛化能力。
- 优化可学习的提示:
- 使用零样本分类交叉熵损失来优化这些可学习的上下文提示标记。
- 允许提示标记适应不同的类别,避免潜在的捷径问题。