阿里巴巴提出LLaVA-MoD | 用MoE+知识蒸馏方法,即使2B参数也可干翻Qwen-VL-Chat-7B

本文提出了LLaVA-MoD,它一种新颖的框架,主要是通过从大规模多模态语言模型(-MLLM)中提取知识来有效训练小型多模态语言模型(-MLLM)。

LLaVA-MoD解决了多模态语言模型蒸馏的两个基本挑战:

  1. 首先,通过将稀疏专家混合(MoE)架构集成到语言模型中,优化-MLLM的网络结构,在计算效率和模型表达力之间实现平衡。

  2. 其次,提出了一种逐步知识迁移策略,以确保全面知识迁移。这种策略从模仿蒸馏开始,最小化输出分布之间的KL散度,使学生模型能够模拟教师模型的理解。

除了解决上述问题外,LLaVA-MoD还引入了通过直接偏好优化(DPO)实现的偏好蒸馏,其中关键在于将-MLLM视为参考模型。在这个阶段,-MLLM区分优秀和劣质实例的能力显著增强,最终超越其教师模型,特别是在幻觉基准测试中。

大量实验表明,在各种多模态基准测试中,LLaVA-MoD优于现有模型,同时保持最小激活参数和低计算成本。值得注意的是,仅使用2B个激活参数的LLaVA-MoD,在各个基准测试中的平均优于Qwen-VL-Chat-7B的8.8%,仅使用0.3%的训练数据和23%的可训练参数。这些结果强调了LLaVA-MoD从其教师模型中有效提取全面知识的能力,为开发更高效的MLLM奠定了基础。

代码: https://github.com/shufangxun/LLaVA-MoD

1 Introduction

利用大型语言模型(LLMs)和多模态大型语言模型(MLLMs)的高级指令遵循和推理能力,通常将视觉编码器与LLM结合,以实现各种视觉和跨模态任务(如图像描述和视觉问答)的出色结果。MLLMs的特点是模型规模大和大量训练数据,这使它们具有优越的性能,但也需要大量的计算资源。例如,LLaVA-NeXT的最大版本使用Qwen-1.5-110B作为语言模型,需要18小时的训练,并使用128个H800 GPU。此外,MLLMs面临部署挑战,由于高内存和计算需求。例如,参数较大的模型通常需要高级硬件,并表现出缓慢的推理速度,这显著阻碍了其在移动设备等实际应用中的使用。因此,开发平衡性能和效率的MLLMs已成为一个关键的研究焦点。

之前关于小型多模态大型语言模型(-MLLM)的研究主要集中在开发数据收集和过滤协议以保证高质量训练数据。虽然这样的高质量数据有助于-MLLM缩小与较大对应物之间的性能差距,但它们的效用仍然受到模型能力和高质量数据可用性的限制。随着开源MLLM的出现,一种直观的策略,受传统深度学习任务的启发,涉及利用大规模MLLM(-MLLM)作为教师来通过知识蒸馏(KD)改进-MLLM的训练。

KD通过将学生模型的输出分布与教师模型的输出分布对齐,使得小型模型能够稳定且高效地训练。然而,在MLLM中广泛探索KD作为模型约简技术还为时过早。为了开发一个有效的MLLM蒸馏框架,作者考虑了两个主要挑战。第一个挑战在于设计一个轻量级的架构,保留强大的学习和表达能力,使学生MLLM能够有效地吸收教师MLLM中嵌入的复杂知识。第二个挑战是高效且全面地将这种知识从教师MLLM转移到学生MLLM。

为了应对这两个挑战,本文提出了 LLaVA-MoD,这是一个有效的框架,通过模拟l-MLLM的行为,使用MoE知识蒸馏训练s-MLLM。对于第一个挑战——设计轻量级的s-MLLM结构,一个简单的做法可能就是将l-MLLM的基础语言模型在l-MLLM中的规模缩小,从而创建一个较小的网络。然而,这种直接减少网络参数的方式可能会显著损害模型的表达能力,使其在模拟复杂多模态理解任务时效率较低。作者从稀疏MoE在顺序建模方面的最近成功中得到启示,将稀疏MoE结构引入到密集s-MLLM中。这种方法旨在在缩放减少的同时,保持模型在蒸馏过程中捕捉和表示复杂多模态信息的能力。具体而言,在LLM内配置了几个 FFN 和线性门。每个FFN都像专家一样,从l-MLLM中捕获细粒度知识,而线性门则选择前k个专家以促进最佳知识传递路径。

如图1所示,LLaVA-MoD在各种多模态基准测试中展现出令人印象深刻的性能,同时保持微小的激活参数和低计算资源。例如,LLaVA-MoD-2B在这些基准测试上平均比Qven-VL Chat-7B高出8.8%,仅使用0.3%的训练数据和23%的可训练参数。

此外,它在多个幻觉基准测试上达到了基于RLHF方法(如7B和13B参数)的性能。具体来说,LLaVA-MoD-2B在Object HalBench上的响应级幻觉率比RLHF-V高出8.2%,幻觉率高出21.3%。令人印象的结果证明了MoD框架在将_l_-MLLM转移到_s_-MLLM方面的有效性。

2 Method

LLaVA-MoD包括两个主要组成部分:

  1. s-MLLM架构设计:如图3所示,设计了一个稀疏的s-MLLM,以增强获取专业领域知识的能力。

  2. 蒸馏机制:设计了一个如图2所示的分阶段蒸馏机制,用于将知识从l-MLLM传递给稀疏的s-MLLM。这个过程涉及两个阶段:模仿蒸馏 followed by 偏好蒸馏。

2.1 Architecture Design of Sparse -MLLM

稀疏-MLLM的架构设计在知识蒸馏过程中作为学生模型。

-MLLM定义。如图3所示,-MLLM的基本架构包括三个主要组件:一个视觉编码器、一个大型语言模型(LLM)和一个视觉语言(VL) Adapter 。

对于一个多模态指令会话,作者定义-MLLM将响应处理如下:

输入图像,文本指令。输入图像被重新缩放到336x336,并拼接成576个图像 Token ,每个 Token 大小为14x14。ViT是CLIP视觉编码器,参数为,首先从中提取图像特征。Proj是视觉语言 Adapter ,参数为,作为图像 Token ,将图像特征与词嵌入空间对齐。LLM是大型语言模型,参数为,根据的多个模态 Token 生成响应。

Mixture-of-Experts. 构建 -MLLM 的原则是将 LLM 缩小,同时保留视觉编码器(vision encoder)和视觉语言 Adapter (vision-language adaptor)不变。为实现这一缩小目标,作者通过引入MoE架构来稀疏化密集的 -MLLM。

具体而言,图3说明了这一过程,其中作者应用稀疏上取样技术将N个 FFN 作为专家模块进行复制。此外,还引入了一个线性层作为路由器,它通过预测专家分配的概率动态地激活适当的专家。对于序列中的每个 Token ,首先计算N个专家的路由值:

其中 表示路由器的权重矩阵, 中的每个元素代表激活第个专家的概率。然后,应用 Top-k 策略来确定具有最高 路由值的激活专家:

当激活专家的路由值设置为零时,实际上将他们排除在最终输出之外。输出 是由激活专家的贡献按相应的路由值加权求和得到的:

2.2 Progressive Distillation

作者的渐进蒸馏包括两个不同的阶段,即模拟蒸馏(图2(a))和偏好蒸馏(图2(b))。在模拟蒸馏阶段,学生MLLM 模拟教师MLLM 的一般性和特定知识。在偏好蒸馏阶段,学生MLLM获得教师MLLM的偏好知识,以进一步优化其输出并减少幻觉。作者使用预训练的-MLLM作为教师MLLM,在整个蒸馏过程中都是冻结的。教师和学生的MLLM都处于相同的LLM家族中,确保了一致的词汇空间,这对于学生MLLM准确模拟教师MLLM至关重要。为了简单起见,作者用表示学生,用表示教师。

在蒸馏之前,作者首先通过一个可学习的 Adapter 将视觉编码器与LLM对齐,旨在获得一个良好初始化的密集学生MLLM。LLM和ViT保持冻结,因为它们的预训练参数已经捕获了丰富的视觉和语言知识。只有Proj被优化,以弥合视觉和语言域之间的差距。对于初始化,作者利用广泛使用和筛选的数据集中的常见图像-标题对,该数据集涵盖了各种主题和视觉实体。训练目标是最小化生成的 Token 的交叉熵。

目标函数定义为:

表示在和的条件下,预测的 Token 的概率。

模拟蒸馏。作者将教师MLLM的综合知识分解为一般和专业知识方面,分别进行密集到密集蒸馏和密集到稀疏蒸馏,将这种知识传递给学生MLLM。

密集到密集蒸馏。在这个阶段旨在复制教师MLLM的一般知识。首先获取一般知识至关重要,因为它为各个领域的广泛基础和共同理解提供了一个坚实的基础,使学生MLLM能够发展一个适用于多种场景的基本框架。这个基础支持在继续到专门任务之前具有更全面和灵活的理解。

为此,保持冻结,并共同优化和,可训练参数。作者利用公共图像-标题对和对话数据集。训练目标是最小化密集学生MLLM的输出对数和教师MLLM之间的KL散度(KLD)。

目标函数定义如下:

其中 表示词汇表, 和 分别表示学生在给定 和 的情况下以及教师模型在给定 和 的情况下预测的 Token 的概率。

密排稀缩蒸馏。在此阶段,作者将重点转移到传递教师MLLM的专门专业知识,允许学生MLLM获得高级功能并实现多样化任务中的优越性能。然而,直接以密集形式学习这种知识可能导致效率低下和困难。因此,通过引入多个专家来稀疏化密集的学生MLLM。如第3.1节所述,在内复制N个 FFN (FFNs)并将其作为路由器,将专家与参数共同组成。这种稀疏架构允许学生MLLM针对不同任务和输入选择性地激活最相关的专家,从而在模拟教师专业知识方面获得显著优势。

在训练中,利用多任务数据,只更新专家和 Adapter 。并采用Top-k路由策略选择专家。可训练参数。与前一个阶段一样,作者也采用KLD作为训练目标。此外,还包括标准下一个 Token 预测目标,即最小化学生生成的 Token 的交叉熵损失,以从真实数据中注入监督,从而减少教师模型中的现有偏见。最终目标函数定义为:

偏好蒸馏。在这个阶段是将教师MLLM中的偏好知识进行蒸馏,以指导学生MLLM生成不仅准确且合理的响应,这对于减少幻觉至关重要。在训练过程中有效地利用偏好数据,该数据包括对相同 Prompt 精心配对的正面响应和负面响应。偏好蒸馏策略受到最近在直接偏好优化(DPO)中的进步启发,该方法可以绕过通过离线偏好数据集训练奖励模型的需求。作者观察到在蒸馏过程中,将教师MLLM视为参考模型。教师模型在这个过程中起着至关重要的作用,因为它提供了“好”和“坏”的见解,从而为学生模型建立了一个基本的参考。

具体来说,训练目标是为了优化学生模型,使其在区分正面和负面响应时,给正面响应分配比教师模型更高的概率,同时给负面响应分配比教师模型更低的概率。这个训练过程涉及两个关键的优化方面:

  • 首先,学生模型试图与教师模型在区分正面和负面响应上保持一致。

  • 其次,学生模型旨在通过给正面响应分配更高的概率和给负面响应分配更低的概率,超越教师模型。

作者只在学生模型的混合专家和VL Adapter 上训练,并采用Top-路由策略选择专家。可训练参数为。目标函数定义为:

其中 和 分别表示学生模型对正、负响应的概率, 和 分别表示教师模型对正、负响应的概率。

3 Experiments

3.1 Experimental Settings

实现细节 作者采用了成熟的"ViT-MLP-LLM"架构来证明LLaVA-MoD的有效性。具体来说,使用了一个预训练的CLIP-ViT-L/14作为视觉编码器,并使用一个两层的MLP作为学生和教师模型的 Adapter 。

教师和学生的模型都使用了Qwen-1.5和Qwen-2系列来构建其基本模型。具体来说,教师模型采用了一个7B参数配置,而学生模型则采用了1.8B和0.5B的参数大小。教师模型在常见多模态基准测试上的性能如表1所示。

3.2节中介绍了训练过程,包括模拟蒸馏和偏好蒸馏,每个阶段都有特定的设置。在初始化阶段,首先冻结视觉编码器并优化VL Adapter ,使其将图像 Token 与词向量空间对齐。这一阶段采用交叉熵损失,批量大小为512,学习率为1e-4。

在模拟蒸馏阶段,视觉编码器保持冻结,而LLM和VL Adapter 共同优化,以从教师MLLM中密集到密集地蒸馏通用知识。然后,LLM中的FFN首先转化为稀疏架构,与VL Adapter 共同优化的FFN专家共同优化,以从教师MLLM中密集到稀疏地蒸馏专业知识。这一阶段采用KL散度损失,增加交叉熵损失用于密集到稀疏蒸馏。批量大小为256,学习率调整到2e-5。

在偏好蒸馏阶段,模型继承自模拟蒸馏。视觉编码器保持冻结,与VL Adapter 共同优化的混合FFN专家用于从教师MLLM中蒸馏偏好知识。这一阶段采用DPO损失,优化学生对正响应的概率大于教师,学生对负响应的概率小于教师。批量大小为256,学习率调整到2e-6。在整个过程中,使用Adam优化器并在每个周期中使用16个NVIDIA A100 GPU训练,总共约960 GPU小时。每个训练阶段的详细超参数已在A.2中说明。

**训练数据集。**训练数据包含来自开源数据集的500万样本,每个训练阶段使用不同的数据集。在初始化阶段,使用LLaVA-1.5预训练数据集的0.6百万通用描述符样本(称为LLaVA-1.5-pretrain数据集)来弥合视觉和语言模式之间的鸿沟。在模拟蒸馏中,使用2.4百万通用描述符和对话样本来自教师MLLM,以及1.4百万多任务数据,包括VQA、文档、科学和OCR,来自教师MLLM以获取专业知识。对于偏好蒸馏,使用0.8百万偏好数据样本来转移教师偏好知识。

评估基准。作者在MME、MMB和MMBCN上进行实验。这些涵盖了各种子任务,可以全面评估多模态理解和推理能力。此外,作者在广泛的VQA任务上进行实验,包括通用VQA、文本导向VQA和科学VQA。具体而言,对于通用VQA任务,作者使用VizWiz和GQA来测试通用视觉理解和关系推理。TextVQA用于文本导向VQA任务,侧重于图像中细粒度视觉识别和理解文本。科学QA用于测量科学知识。此外,作者在几个幻觉基准上进行实验,如POPE、Object HalBench、MMHal-Bench和AMBER。

3.2 Main Results

在本节中进行了LLaVA-MoD的实验,以突出其在性能和效率两个方面的优势。对于性能,评估了以理解为导向的基准测试(表2)和以幻觉为导向的基准测试(表3)。对于效率,进行了数据样本和模型大小的比较。

3.2.1 Comprehension-Oriented Benchmarks

表2表明,LLaVA-MoD在以理解为导向的基准测试上表现出色。在2B规模和1B规模的模型中,它分别取得了最先进的平均结果。具体来说,2B规模的LLaVA-MoD通过使用较低的图像分辨率(336 vs. 768)超越了Mini-Gemini-2B,提高了8.1%。而1B规模的LLaVA-MoD通过使用较少的样本(5M vs. 15M)超越了SPHINX-Tiny,提高了13.2%。

此外,LLaVA-MoD-2B的性能甚至匹配并超过了大规模MLLM的性能。具体来说,2B规模的LLaVA-MoD通过使用8.8%的优势超越了Qwen-VL-Chat-7B,并匹配了VILA-3B和MiniCPM-V的性能。这些结果表明,LLaVA-MoD通过蒸馏稀疏MoE架构有效且高效地训练了小型MLLM。

3.2.2 Hallucination-Oriented Benchmarks

如表3所示,LLaVA-MoD在减轻幻觉方面表现出色,甚至超过了其教师模型。这可以归因于两个方面:首先,通过为正响应分配更高的概率,偏好蒸馏鼓励学生模型专注于提供正确和相关的信息。其次,通过为负响应分配较低的概率,偏好蒸馏 discourages错误或不实的信息。利用教师模型作为参考调整响应概率,这种优化使学生模型更准确、可靠地处理幻觉问题,从而超过了教师模型。

此外,LLaVA-MoD 超越了类似的小型模型以及最近的基于RLHF的模型。例如,在Object HalBench上,它在响应 Level 虚实比上比RLHF-V提高了8.2%,在提及 Level 虚实比上提高了21.3%。这表明,以教师模型为参照进行偏好蒸馏是一项具有挑战性的任务,可以鼓励学生模型有效地学习如何减轻虚实感。

3.2.3 Efficiency Comparison

作者将LaVA-MoD与最近的最先进的MLLM(模型)在训练数据和可训练参数方面进行比较。如表2所示,2B大小的LaVA-MoD只需要5M样本,在训练和推理过程中仅激活其总2.2B参数的子集。这表明,仅使用23%的可训练参数和0.3%的训练数据样本,LaVA-MoD比Qwen-VL-Chat实现了8.8%更高的性能。此外,与具有2.8B可训练参数的小型模型MiniCPM-V相比,仅使用1.6%的数据样本和2B参数的LaVA-MoD也实现了优越的性能,进一步强调了其效率。总之,LaVA-MoD实现了数据、参数和计算资源的更高效利用。这不仅使训练和推理速度更快,还为在资源受限的环境中部署高性能模型提供了实用解决方案。

3.3 Ablation Study

在本节中,作者首先分析偏好蒸馏的影响。接下来,作者对仅使用模仿蒸馏训练的模型进行消融研究,以探究作者提出的架构和训练策略在以理解为导向的基准测试上的有效性。作者使用CLIP-ViT-L/14作为默认的视觉编码器。对于学生和教师模型,默认的大型语言模型(LLMs)分别是Qwen-1.5-1.8B和Qwen-1.5-7B。

3.3.1 Impact of Preference Distillation

作者广泛评估了偏好蒸馏,并检查了其对LLaVA-MoD在理解能力和幻觉减轻能力方面的影响。如表4和表5详细说明,偏好蒸馏在所有基准测试上的理解能力改进并不一致,其对幻觉减轻的影响则非常一致。

在所有评估的基准测试中,偏好蒸馏显著减少了幻觉的发生,突显了其在增强LLaVA-MoD的可靠性和事实准确性方面的有效性。这一观察与语言建模领域一致,一直表明RLHF技术倾向于优先减少幻觉,通常是以在其他领域(如原始理解分数)的潜在收益为代价。

3.3.2 Impact of Training Strategy

知识蒸馏在MoE中的训练效率提升。本研究探索了知识蒸馏(KD)的影响,并检查了它相对于监督微调(SFT)如何促进MoE模型训练。实验使用相同的稀疏配置E4T2,其中4位专家初始化,顶部2位专家激活。KD和SFT使用相同的数据集和训练超参数。

训练MoE模型本身就具有挑战性,因为它需要有效地利用大量数据来优化专家的路径。LLaVA-MoD表明,与传统的SFT相比,KD在解决这个挑战上表现出色,在多个基准测试中实现优越的性能。

如表6所示,KD在所有基准测试上都显著优于SFT。具体而言,KD相对于SFT的平均提升为8.1%,在复杂的多任务场景中取得了显著的收益。例如,在MMB和MME基准测试中,KD分别比SFT高出8.2%和10.0%。这些结果突显了KD有效利用多个专家并从大规模MLLM中提取全面知识的能力。通过提炼关键知识,KD不仅最大限度地利用了数据,还实现了相对于SFT的MoE更好的泛化能力。

关注响应可以提高蒸馏泛化性能。本研究探讨了蒸馏目标的影响。默认方法蒸馏响应,作者尝试在蒸馏响应和指令之间进行选择。这两种设置都使用相同的数据集和训练超参数。

表7显示,仅蒸馏响应可以实现优越的性能,在平均性能方面比同时蒸馏响应和指令提高3.1%。这表明在自回归建模中关注响应更有效。一个可能的解释是,模仿指令可能导致过度拟合训练数据的特定指令模式,从而降低模型对未见指令的适应性。模仿教师模型的响应在提高学生的自回归建模泛化能力方面是有效的。

3.3.3 Impact of Model Architecture

稀疏MoE实现有效的知识蒸馏。本研究通过比较稀疏架构和密集架构的性能,探讨了稀疏架构在蒸馏中的作用。作者采用E4T1配置作为稀疏架构,以确保与密集架构相同的激活参数。稀疏和密集架构使用相同的数据集和训练超参数。

表8表明,稀疏混合专家(MoE)架构在各种基准测试中显著优于密集架构,平均提高了3.7%。这种优越性能在复杂的多任务设置中尤为明显,例如多任务混合专家(MME)、多任务混合专家广播(MMB)和多任务混合专家编码网络(MMBCN),在这些设置中,稀疏架构有效地利用多个专家从-MLLM中提取多种知识。这种有效性的根源在于稀疏MoE能够仅激活每个输入的一小部分专家,从而为不同的任务学习专门的知识。这种选择性激活显著降低了计算开销,同时保持了与密集架构相当的计算效率。因此,学生模型可以从教师中有效地学习,而不会引入过高的计算成本。

教师能力在知识蒸馏中至关重要。本研究探讨了在蒸馏过程中教师的影响。具体而言,作者使用CLIP-ViT-L/14作为视觉编码器。对于LLM,Qwen-1.5-7B是强大的教师,而Qwen-1.5-4B是较弱的教师。所有实验都在相同的数据集和训练超参数下进行,以确保公平的比较。

如表9所示,合适的教师可以提高各种基准上的性能。例如,Qwen-1.5-1.8B学生模型在较弱的Qwen-1.5-4B教师上实现平均性能62.3%,在较强的Qwen-1.5-7B教师上实现63.6%。有趣的是,较小的Qwen-1.5-0.5B学生模型在Qwen-1.5-4B或Qwen-1.5-7B教师上显示了微小的改进。这表明教师和学生模型之间的过大容量差距可能阻碍有效知识传递。使用中间容量的中间教师可以弥合这一差距,促进更顺畅的知识传递,提高学生模型的学习效率。

4 Conclusion

在本文中,作者提出了一种名为LLaVA-MoD的新颖框架,用于通过知识蒸馏从大规模模型中高效训练小型多模态语言模型。该框架解决了MLLM蒸馏的两个关键挑战:使用MoE设计增强s-MLLM架构的效率和表达能力平衡,并实现了一种渐进式知识转移策略。

大量实验表明,与具有低激活参数和计算成本的现有模型相比,LLaVA-MoD具有更高的性能。值得注意的是,仅使用20亿激活参数、0.3%的训练数据和23%的可训练参数,LLaVA-MoD就比Qwen-VL-Chat-7B提高了8.8%,这突显了其在知识蒸馏和推动更高效多模态语言模型开发方面的有效性。

5 Limitations

LLaVA-MoD要求教师和学生模型都属于同一类大规模语言模型(LLMs),以确保词汇空间的统一性。未来的研究可以探索涉及异构模型家族的蒸馏技术。此外,加载教师和学生模型需要占用大量的内存。为了实现更有效的蒸馏,一个可行的解决方案是预提取教师模型的输出,只在学习过程中加载学生模型。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

<think>好的,用户想获取关于如何准备LLaVA-1.1-7B和13B模型权重的官方指导。我需要先回忆一下LLaVA项目的相关信息。根据用户提供的引用[^1],官方文档提到了Model Zoo,里面应该包含所有公开的LLaVA检查点和使用权重的说明。首先,用户需要访问Model Zoo页面,找到对应的模型版本。 接下来,步骤可能包括克隆官方仓库,安装依赖项。用户需要确保环境配置正确,比如Python版本、PyTorch版本以及相关的库如transformers和accelerate。然后,下载预训练的视觉模型和语言模型,可能使用提供的脚本或直接下载链接。 用户可能需要合并视觉和语言模型的权重,这通常需要运行特定的脚本,比如官方提供的转换脚本。例如,使用`python -m llava.model.apply_delta`命令来合并基础语言模型和LLaVA的增量权重。这里要确保路径正确,避免文件找不到的错误。 此外,用户可能会遇到依赖项版本不兼容的问题,需要按照官方指定的版本安装。例如,使用特定版本的torch和transformers库。可能还需要注意CUDA版本是否匹配,以确保GPU加速正常。 最后,验证模型是否加载成功,可以通过运行示例代码或官方提供的测试脚本来检查。如果用户遇到问题,可能需要查阅项目的GitHub Issues或社区讨论,寻找常见问题的解决方案。 用户的需求可能不仅限于准备权重,还可能涉及如何微调模型或使用模型进行推理。因此,生成的相关问题可以包括如何微调LLaVA模型,或者在不同硬件上部署的注意事项,以及如何处理多模态输入等。确保回答准确引用官方文档,并引导用户正确操作,避免常见的配置错误。</think>关于LLaVA-1.1-7B/13B模型权重的准备,请按照以下步骤操作: ### 1. 环境准备 - 克隆官方仓库并安装依赖: ```bash git clone https://github.com/haotian-liu/LLaVA.git cd LLaVA pip install -e . ``` 注意需使用Python ≥3.8,PyTorch ≥2.0和transformers ≥4.31.0 ### 2. 权重下载 - **基础语言模型**: - LLaVA-1.1-7B:下载Vicuna-7B-v1.5权重 - LLaVA-1.1-13B:下载Vicuna-13B-v1.5权重 - **视觉模型**: 使用官方提供的CLIP ViT-L/14-336px视觉编码器 ### 3. 权重合并 使用官方提供的delta权重进行融合: ```bash python -m llava.model.apply_delta \ --base [path/to/vicuna_weights] \ --target [output_directory] \ --delta liuhaotian/llava-v1.1-7b-delta-v0 # 13B则替换为llava-v1.1-13b-delta-v0 ``` ### 4. 验证加载 ```python from llava.model import LlavaLlamaForCausalLM model = LlavaLlamaForCausalLM.from_pretrained("[output_directory]") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值