DINO-X,2024年11月20号IDEA Research 开发的具有最佳开放世界物体检测性能的统一的以物体为中心的视觉模型。为了使长尾物体检测变得简单,DINO-X 扩展了其输入选项以支持文本提示、视觉提示和自定义提示。
一,DINO-X:
摘要
在本文中,我们介绍了DINO-X,这是由IDEA Research开发的以物体为中心的视觉模型,具有迄今为止最好的开放世界目标检测性能。
DINO-X采用与接地DINO 1.5相同的基于变压器的编码器-解码器架构,以追求开放世界对象理解的对象级表示。为了使长尾目标检测更容易,DINO-X扩展了其输入选项,以支持文本提示、视觉提示和自定义提示。有了这样灵活的提示选项,我们开发了一个通用的对象提示符来支持无提示的开放世界检测,使得在不需要用户提供任何提示的情况下检测图像中的任何东西成为可能。
为了增强模型的核心能力,我们构建了一个拥有超过1亿个高质量接地样本的大规模数据集,称为grounded-100m,以提高模型开放词汇的检测性能。在这样一个大规模的基础数据集上进行预训练可以得到一个基本的对象级表示,这使得DINO-X能够集成多个感知头,同时支持多个对象感知和理解任务,包括检测、分割、姿态估计、object captioning(图片内容描述)、基于对象的QA等。
DINO-X包含两个模型:
Pro模型:性能最强的型号,增强感知能力,适用于多种场合。
Edge模型:高效模型针对更快的推理速度进行了优化,更适合部署在边缘设备上。
实验结果证明了DINO-X的优越性能。具体来说,DINO-X Pro模型在COCO、LVIS-minival和LVIS-val zero-shot目标检测基准上分别达到 56.0AP、59.8 AP和52.4 AP。值得注意的是,它在LVIS-minival和LVIS-val的罕见类别上的得分分别为63.3 AP和56.5 AP,都比之前的SOTA性能提高了5.8 AP。这样的结果表明,它在识别长尾物体方面的能力得到了显著提高。
我们的演示和API将在_https://github.com/IDEA-Research/DINO-X-API_上发布。
1 简 介
近年来,目标检测逐渐从闭集(closed-set)检测模型演变为开集(open-set)检测模型,即可以根据用户提供的提示识别对应的对象。这样的模型有许多实际应用,例如增强机器人在动态环境中的适应性,协助自动驾驶汽车快速定位和对新物体做出反应,提高多模态大语言模型(MLLMs)的感知能力,减少它们的幻觉,并提高其响应的可靠性。
在本文中,我们介绍了DINO-X,它是由IDEA Research开发的统一的以物体为中心的视觉模型,具有迄今为止最好的开放世界目标检测性能。DINO-X以接地DINO 1.5为基础,采用相同的Transformer编码器-解码器架构,并采用开集检测作为其核心训练任务。
为了使长尾目标检测更容易,DINO-X在模型的输入阶段采用了更全面的提示设计。传统的纯文本提示模型虽然取得了很大的进步,但由于难以收集足够多样化的训练数据来覆盖各种应用,因此仍然难以覆盖足够范围的长尾检测场景。为了克服这一不足,在DINO-X中,我们扩展了模型体系结构,以支持以下三种类型的提示:
(1)文本提示:这涉及根据用户提供的文本输入来识别想要的对象,这可以覆盖大多数检测场景。
(2)视觉提示:除了文本提示外,DINO-X还像T-Rex2一样支持视觉提示,进一步覆盖了仅靠文本无法很好描述的检测场景。
(3)自定义提示符:为了解决更多的长尾检测问题,我们在DINO-X中特别引入了自定义提示符,它可以作为预定义的或用户调整的提示符嵌入来实现,以满足定制需求。
通过提示调优,我们可以针对不同的领域或特定于功能的提示创建领域定制的提示,以满足各种功能需求。例如,在DINO-X中,我们开发了一个通用的对象提示符,以支持无提示的开放世界对象检测,使检测给定图片中的任何对象成为可能,而无需用户提供任何提示。
为了实现强大的接地性能,我们从不同的来源收集和整理了超过1亿个高质量的接地样品,称为Grounding-100M。在这样一个大规模的基础数据集上进行预训练可以得到一个基本的对象级表示,这使得DINO-X能够整合多个感知头,同时支持多个对象感知和理解任务。除了用于物体检测的盒头,DINO-X还实现了三个额外的头:
(1) 用于预测被检测对象的分割掩码的Mask Head****,
(2) 用于预测特定类别更具语义意义的关键点的Keypoint Head,
(3) 用于为每个被检测对象生成细粒度描述性标题的Language Head。
通过集成这些头,DINO-X可以对输入图片提供更详细的对象级理解。
在图1中,我们列出了各种示例来说明DINO-X支持的对象级视觉任务。与接地DINO 1.5类似,DINO-X也包括两个模型:
DINO-X Pro模型,它为各种场景提供增强的感知能力,
DINO-X边缘模型,它优化了更快的推理速度,更适合部署在边缘设备上。
实验结果证明了DINO-X的优越性能。如图2所示,我们的DINO-X Pro模型在COCO、LVIS minival和LVIS-val zero-shot转移基准上分别达到了56.0 AP、59.8 AP和52.4 AP。值得注意的是,它在LVIS-minival和LVIS-val基准的罕见类别中得分为63.3 AP和56.5 AP,比接地DINO 1.6 Pro提高了5.8 AP和5.0 AP,比接地DINO 1.5 Pro提高了7.2 AP和11.9 AP,突出了其识别长尾物体的能力显著提高。
2 方法
2.1 模型架构
DINO-X的总体框架如图3所示。继接地DINO 1.5之后,我们还开发了两个DINO-X型号的变体:一个更强大和全面的“Pro”版本,DINO-X Pro,以及一个更快的“Edge”版本,称为DINO-X Edge,将分别在2.1.1和2.1.2节中详细介绍。
2.1.1 DINO-X Pro
DINO-X Pro模型的核心架构类似于接地DINO 1.5。我们利用预训练的ViT模型作为其主要视觉骨干,并在特征提取阶段采用深度早期融合策略。不同于接地DINO 1.5,进一步扩展了模型在检测长尾物体方面的能力。我们扩大了DINO-X Pro在输入阶段的提示支持。除了文本提示外,我们还扩展了DINO-X Pro,支持视觉提示和自定义提示,以满足各种检测需求。文本提示可以覆盖日常生活中常见的大多数物体检测场景,而视觉提示则可以在文本提示因数据稀缺和描述性限制而达不到要求的情况下增强模型的检测能力。自定义提示被定义为一系列专门的提示,可以通过提示调优技术进行微调,以扩展模型在更长尾、特定领域或特定功能的场景中检测对象的能力,而不会影响其他功能。通过进行大规模的接地预训练,我们从DINO-X的编码器输出中获得了一个基本的对象级表示。这样一个鲁棒的表示使我们能够通过引入不同的感知头来无缝地支持多个对象感知或理解任务。因此,DINO-X能够生成跨不同语义级别的输出,从粗级别(如边界框)到更细粒度的级别(包括掩码、关键点和对象标题)。
我们将在下面的段落中首先介绍DINO-X中支持的提示符。
文本提示编码器:接地DINO[33]和接地DINO 1.5[47]均采用BERT[9]作为文本编码器。然而,BERT模型仅在文本数据上进行训练,这限制了它在需要多模态对齐的感知任务中的有效性,例如开放世界检测。因此,在DINO-X Pro中,我们使用预训练的CLIP[65]模型作为文本编码器,该模型在广泛的多模态数据上进行了预训练,从而进一步提高了模型在各种开放世界基准中的训练效率和性能。
**视觉提示编码器:**我们采用T-Rex2[18]的视觉提示编码器,将其集成在一起,通过使用框和点两种格式的用户自定义视觉提示来增强目标检测。使用正弦-余弦层将这些提示转换为位置嵌入,然后投影到统一的特征空间中。该模型使用不同的线性投影分离框和点提示。然后,我们采用与T-Rex2相同的多尺度可变形交叉注意层,以用户提供的视觉提示为条件,从多尺度特征图中提取视觉提示特征。
定制提示:在实际用例中,我们经常会遇到定制场景需要微调模型的情况。在DINO-X Pro中,我们定义了一系列专门的提示,称为定制提示,可以通过提示调优[26]技术对其进行微调,以资源高效和经济有效的方式覆盖更多的长尾、特定于领域或特定于功能的场景,而不会影响其他功能。例如,我们开发了一个通用的对象提示符来支持无提示的开放世界检测,使检测图像内的任何对象成为可能,从而扩展了其在屏幕解析[35]等领域的潜在应用。给定输入图像和用户提供的提示,无论是文本提示、视觉提示还是自定义提示,DINO-X都会在提示和从输入图像中提取的视觉特征之间进行深度特征融合,然后对不同的感知任务应用不同的头部。更具体地说,实现的头部将在下面的段落中介绍。
Box Head:在接地DINO之后,我们采用语言引导的查询选择模块,选择与输入提示最相关的特征作为解码器对象查询。然后将每个查询送到Transformer解码器中并逐层更新,随后是一个简单的MLP层,该层预测每个对象查询对应的边界框坐标。与接地DINO类似,我们使用L1损耗
和G-IoU损耗进行边界box回归,同时使用对比损耗将每个对象查询与输入提示对齐进行分类。
Mask Head:根据Mask2Former和Mask DINO的核心设计,我们通过融合变压器编码器的1/4分辨率骨干特征和上采样的1/8分辨率特征来构建像素嵌入图。然后,我们在Transformer解码器的每个对象查询和像素嵌入图之间进行点积,以获得查询的掩码输出。为了提高训练效率,我们只将来自主干的1/4分辨率特征图用于掩码预测。并且我们也遵循[24,4]在最终的掩码损失计算中只计算采样点的掩码损失。
Keypoint Head:关键点头从DINO-X获取关键点相关的检测输出,例如人或手,作为输入,并利用单独的解码器解码对象关键点。每个检测输出都被视为查询并扩展为多个关键点,然后将其发送到多个可变形的Transformer解码器层,以预测所需的关键点位置及其可见性。这个过程可以看作是一种简化的ED-Pose算法,它不需要考虑对象检测任务,而只关注关键点检测。在DINO-X中,我们为人和手实例化了两个关键点头,它们分别有17个和21个预定义的关键点。
Language Head:语言头是一个任务提示生成小型语言模型,用于增强DINO-X理解区域上下文和执行本地化以外的感知任务的能力,例如对象识别、图像内容理解、文本识别和基于区域的视觉问答(VQA)。我们的模型架构如图4所示。对于任何从DINO-X中检测到的对象,我们首先使用RoIAlign操作符从DINO-X主干特征中提取其区域特征,并结合其查询嵌入形成我们的对象标记。然后,我们应用一个简单的线性投影来确保它们的维度与文本嵌入对齐。轻量级语言解码器将这些区域表示与任务令牌集成在一起,以自动回归的方式生成输出。可学习的任务令牌使语言解码器能够处理各种任务。
2.1.2 DINO-X边缘
继接地DINO 1.5 Edge之后,DINO-X Edge还利用EfficientViT作为高效特征提取的骨干,并结合了类似的Transformer编码器-解码器架构。为了进一步提高DINO-X Edge模型的性能和计算效率,我们在以下几个方面对模型架构和训练技术进行了改进:
更强的文本提示编码器:为了实现更有效的区域级多模态对齐,DINO-X Edge采用与Pro模型相同的CLIP文本编码器。在实践中,文本提示嵌入可以在大多数情况下进行预计算,并且不会影响视觉编码器和解码器的推理速度。使用更强的文本提示编码器通常会带来更好的结果。
知识蒸馏:在DINO-X Edge中,我们从Pro模型中提取知识以提高Edge模型的性能。具体来说,我们利用了基于特征的蒸馏和基于响应的蒸馏,这两种方法分别在Edge模型和Pro模型之间对齐特征和预测逻辑。与接地DINO 1.6 Edge相比,这种知识转移使DINO-X Edge能够实现更强的zero-shot能力。
改进的FP16推理:我们采用一种归一化技术进行浮点乘法,使模型量化到FP16而不影响精度。这就产生了一个推理速度为20.1 FPS,比接地DINO 1.6 Edge的15.1 FPS提高33%,比接地DINO 1.5 Edge的10.7 FPS提高87%。
3 数据集构建与模型训练
数据收集:为了确保核心的开放词汇目标检测能力,我们开发了一个高质量和语义丰富的接地数据集,该数据集由从网络上收集的1亿多张图像组成,称为ground-100M。我们使用来自T-Rex2的训练数据和一些额外的工业场景数据进行基于视觉提示的接地预训练。我们使用开源分割模型,如SAM和SAM2,为ground-100M数据集的一部分生成伪掩码注释,该数据集作为我们掩码头的主要训练数据。我们从ground-100M数据集中采样了一个高质量的数据子集,并利用它们的框注释作为我们的无提示检测训练数据。我们还收集了超过1000万个区域理解数据,涵盖了对象识别、区域字幕、OCR和语言头部训练的区域级QA场景。
模型训练:为了完成训练多个视觉任务的挑战,我们采用了两阶段策略。
在第一阶段,我们对基于文本提示的检测、基于视觉提示的检测和对象分割进行了联合训练。在这个训练阶段,我们没有纳入任何来自COCO、LVIS和V3Det数据集的图像或注释,这样我们就可以在这些基准测试上评估模型的zero-shot检测性能。这种大规模的接地预训练确保了DINO-X出色的开放词汇接地性能,并产生了基本的对象级表示。
在第二阶段,我们冻结了DINO-X骨干,并添加了两个关键点头(用于人和手)和一个语言头,每个头都被单独训练。通过增加更多的头部,我们极大地扩展了DINO-X执行更细粒度感知和理解任务的能力,例如姿势估计、图像内容理解、基于对象的QA等。随后,我们利用提示调整技术并训练了通用对象提示符,允许在保留模型其他功能的同时进行无提示的任何对象检测。这样的两阶段训练方法有几个优点:
(1) 它确保模型的核心接地能力不受引入新能力的影响,
(2) 它还验证了大规模接地预训练可以作为以对象为中心的模型的稳健基础,允许无缝转移到其他开放世界的理解任务。
4 评价
在本节中,我们将比较DINO-X系列模型及其相关工作的各种功能。最好和次好的结果以粗体和下划线表示。
4.1 DINO-X Pro
4.1.1 开放世界检测与分割
零样本目标检测和分割基准评估:继Grounding DINO 1.5 Pro之后,我们在COCO基准上评估了DINO-X Pro的零样本目标检测和分割能力,前者包括80个常见的类别,后者具有更丰富和更广泛的类别长尾分布。如表1所示,与以前最先进的方法相比,DINO-X Pro显示出显著的性能改进。具体来说,在COCO基准上,与接地DINO 1.5 Pro和接地DINO 1.6 Pro相比,DINO-X Pro分别增加了1.7box AP和0.6boxAP。在LVIS-minival和LVIS-val基准测试中,DINO-X Pro分别达到59.8box AP和52.4 box AP,比之前表现最好的接地DINO 1.6 Pro型号分别高出2.0 AP和1.1 AP。
值得注意的是,对于LVIS稀有类的检测性能,DINO-X在LVIS-minival上达到63.3 AP,在LVIS-val上达到56.5 AP,比之前的SOTA 接地DINO 1.6 Pro型号分别显著提高5.8 AP和5.0 AP,显示了DINO-X在长尾目标检测场景中的卓越能力。
在分割指标方面,我们将DINO-X与最常用的通用分割模型(接地SAM[48]系列)在COCO和LVIS零射击实例分割基准上进行了比较。接地SAM在LVIS实例分割基准测试中实现了最佳的零弹性能,采用接地DINO 1.5 Pro进行zero-shot检测,SAM- huge进行分割。DINO-X在COCO、LVIS-minival和LVIS-val zero-shot实例分割基准上分别达到了37.9、43.8和38.5的掩码AP分数。与接地SAM相比,DINO-X在性能上仍有明显的差距,这表明了为多任务训练统一模型的挑战。然而,DINO-X通过为每个区域生成相应的掩码而不需要多个复杂的推理步骤,显著提高了分割效率。我们将在未来的工作中进一步优化掩码头的性能。
基于视觉提示的检测基准评估:为了评估DINO-X的视觉提示目标检测能力,我们进行了少样本目标计数基准实验。在这个任务中,每个测试图像都伴随着三个代表目标物体的视觉范例框,并且需要模型输出目标物体的计数。我们使用FSC147和FSCD-LVIS数据集来评估性能,这两个数据集都具有密集分布着小物体的场景。具体来说,FSC147主要由单目标场景组成,其中每张图像只存在一种类型的物体,而FSCD-LVIS则侧重于包含多种物体类别的多目标场景。对于FSC147,我们报告了平均绝对误差(MAE)度量,对于FSCD-LVIS,我们使用平均精度(AP)度量。根据先前的工作[17,18],视觉范例框被用作交互式视觉提示。如表2所示,DINO-X的性能达到了最先进的水平,在实际的视觉提示目标检测中显示出强大的能力。
4.1.2 关键点检测
人体2D关键点基准评估:我们将DINO-X与其他相关作品在COCO、CrowdPose和Human-Art基准上进行了比较,如表3所示。我们采用基于oks的平均精度(AP)作为主要指标。请注意,姿势头部是在MSCOCO, CrowdPose和Human-Art上联合训练的。因此,评估不是零拍设置。但由于我们冻结了DINO-X的骨干,只训练了姿态头部,因此对目标检测和分割的评估仍然遵循零镜头设置。在多个姿态数据集上进行训练,我们的模型可以有效地预测各种人物风格的关键点,包括日常场景、拥挤环境、闭塞和艺术表现。虽然我们的模型实现的AP比ED-Pose低1.6(主要是由于姿态头部中可训练参数的数量有限),但它优于CrowdPose和Human-Art上的现有模型。
对人手2D关键点基准的评估:除了评估人体姿势外,我们还以正确定位关键点的百分比(PCK)作为测量,在HInt基准[42]上展示了手姿势结果。PCK是用来评价关键点定位精度的度量。如果关键点的预测位置和地面真值位置之间的距离低于指定的阈值,则认为关键点是正确的。我们使用0.05盒子大小的阈值,即PCK@0.05。在训练过程中,我们将HInt、COCO和OneHand10K[59]训练数据集(比较方法HaMeR[42]的一个子集)结合起来,并在HInt测试集上评估性能。如表4所示,DINO-X在PCK@0.05指标上的表现最好,说明其具有较强的高精度手姿估计能力。
4.1.3 对象级视觉语言理解
对对象识别的评估:我们用对象识别基准上的相关工作来验证我们语言头的有效性,这些基准需要识别图像中指定区域中对象的类别。继Osprey之后,我们使用语义相似度(SS)和语义IoU(S-IOU),在对象级LVIS-val和部件级PACO-val数据集上评估语言头的对象识别能力。如表5所示,我们的模型在LVIS-val数据集上的SS和S-IoU分别达到71.25%和41.15%,超过Osprey的SS和S-IoU分别达到6.01%和2.06%。在PACO数据集上,我们的模型不如Osprey。请注意,我们没有在我们的语言头部训练中包括LVIS和PACO,我们模型的性能是以零样本的方式实现的。在PACO上较低的性能可能是由于我们的训练数据与PACO之间的差异。与Osprey相比,我们的模型只有1%的可训练参数。
区域标题的评价:我们在视觉基因组和RefCOCOg上评估我们模型的区域标题质量。评估结果如表6所示。值得注意的是,基于冷冻DINO-X骨架提取的对象级特征,在不使用任何视觉基因组训练数据的情况下,我们的模型在视觉基因组基准上以零样本的方式实现了142.1CIDEr得分。此外,在对视觉基因组数据集进行微调后,我们仅使用轻量级语言头设置了201.8CIDEr分数的最新结果。
4.2 DINO-X Edge
零样本目标检测基准评估:为了评估DINO-X Edge的零射击目标检测能力,我们在ground-100M上进行预训练后,对COCO和LVIS基准进行了测试。如表7所示,DINO-X Edge在COCO基准测试上的性能大大优于现有的实时开集检测器。DINO-X Edge在LVIS-minival和LVIS-val上也分别达到48.3 AP和42.0 AP,在长尾检测场景下表现出出色的零样本检测能力。
我们使用NVIDIA Orin NX上的FP32和FP16 TensorRT模型来评估DINO-X Edge的推理速度,以每秒帧数(FPS)来衡量性能。还包括在A100 GPU上PyTorch模型和FP32 TensorRT模型的FPS结果。†表示使用最新官方代码再现了YOLO-World的结果。利用浮点乘法中的归一化技术,我们可以在不牺牲性能的情况下将模型量化到FP16。在输入大小为640×640的情况下,DINO-X Edge的推理速度达到了20.1 FPS,与接地DINO 1.6 Edge相比提高了33%(从15.1 FPS增加到20.1 FPS)。
5 案例分析与定性可视化(Case Analysis and Qualitative Visualization)
在本节中,我们将可视化DINO-X模型在各种实际场景中的不同功能。图像主要来自COCO、LVI、V3Det、SA-1B和其他公开资源。我们对他们的贡献深表感谢,这些贡献极大地造福了社区。
5.1 开放世界目标检测
如图5所示,DINO-X演示了基于给定文本提示检测任何对象的能力。它可以识别各种各样的对象,从常见的类别到长尾类和密集的对象场景,展示了其强大的开放世界对象检测能力。
图5:使用DINO-X进行开放世界物体检测
5.2 长标题短语接地
如图6所示,DINO-X展示了一种令人印象深刻的能力,可以根据长标题中的名词短语在图像中定位相应的区域。将详细标题中的每个名词短语映射到图像中的特定对象的能力标志着深度图像理解的重大进步。这一特征具有相当大的实用价值,例如使多模态大语言模型(mllm)能够生成更准确、更可靠的响应。
图6:用DINO-X接地的长标题短语
5.3 开放世界对象分割和视觉提示计数
如图7所示,除了接地DINO 1.5之外,DINO-X不仅可以基于文本提示进行开放世界对象检测,还可以为每个对象生成相应的分割掩码,提供更丰富的语义输出。此外,DINO-X还支持通过在目标对象上绘制边界框或点来基于用户定义的视觉提示进行检测这一功能在物体计数场景中展示了卓越的可用性。
图7:使用DINO-X进行开放世界对象分割和视觉提示对象计数
5.4 无提示对象检测与识别
在DINO-X中,我们开发了一个非常实用的功能,称为无提示对象检测,它允许用户在不提供任何提示的情况下检测输入图像中的任何对象。如图8所示,当与DINO-X的语言头相结合时,该功能无需任何用户输入即可无缝检测和识别图像中的所有物体。
图8:使用DINO-X进行无提示目标检测和识别
5.5 密集区域说明
如图9所示,DINO-X可以为任何指定区域生成更细粒度的标题。此外,借助DINO-X的语言头,我们还可以执行诸如基于区域的QA和其他区域理解任务。目前,这个功能还在开发阶段,会在我们的下一个版本中发布。
图9:使用DINO-X的密集区域标题
5.6 人体和手部姿势估计
如图10所示,DINO-X可以根据文本提示通过关键点头预测特定类别的关键点。在COCO,CrowdHuman和human-art数据集的组合上训练,DINO-X能够预测各种场景中的人体和手部关键点。
图10:DINO-X对人体和手部的姿态估计
5.7 与接地DINO 1.5 Pro的对比
我们将DINO-X与之前的先进型号进行了并排比较,接地DINO 1.5 Pro和接地DINO 1.6 Pro。如图11所示,在接地DINO 1.5的基础上,DINO-X进一步增强了其语言理解能力,同时在密集目标检测场景中提供了出色的性能。
图11:接地DINO 1.5 Pro、接地DINO 1.6 Pro和DINO-X的比较
6 结论
本文提出了DINO-X,一种强大的以对象为中心的视觉模型,以推进开放集对象检测和理解领域。旗舰型号DINO-X Pro在COCO和LVIS零样本基准测试中刷新记录,检测精度和可靠性显着提升。为了让长尾物体检测变得简单,DINO-X 不仅支持基于文本提示的开放世界检测,还支持视觉提示和定制场景的自定义提示的物体检测。此外,DINO-X将其能力从检测扩展到更广泛的感知任务,包括分割、姿态估计和对象级理解任务。为了在边缘设备上实现更多应用的实时目标检测,我们还开发了DINO-X Edge模型,该模型进一步扩展了DINO-X系列模型的实际用途。
7 模型体验
体验地址:https://deepdataspace.com/playground/grounding_dino
如何学习大模型 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 的正确特征了。