预训练模型是一种机器学习模型,预先在大型数据集上针对特定任务(通常是通用型)进行过训练,然后可以针对不同但相关的任务重复使用或微调。与从零开始训练模型相比,预训练模型为开发团队节省了时间、数据和计算资源。
构建预训练模型需要大量资源、基础设施和专业知识,通常由大型科技公司、学术机构、非营利组织和开源社区共同完成。在深度学习等领域,模型往往需要数百万个参数,预训练模型为从业者提供了起点,使其在构建机器学习应用时避免每次都“重新发明轮子”。
模型训练就是“教”机器学习模型在一组与最终用例相关的示例数据集上优化其性能。这些训练数据必须类似于模型将要处理的现实问题,只有这样,模型才能学习数据的模式和关系,进而根据新数据做出准确的预测。
这个学习过程涉及调整模型的参数,即数学函数中的权重和偏差,其构成其底层机器学习算法。此类调整旨在获得更准确的输出。
从数学上讲,这个过程的目标是最小化用于量化模型输出误差的损失函数。当输出低于某个阈值时,该模型即被视为“已训练”。而在强化学习中,目标则正好相反:模型参数的优化旨在最大化奖励函数,而非最小化损失函数。
模型训练需要收集和预处理数据、将训练数据输入模型、测量损失、优化参数以及测试验证数据的性能等一系列过程。不断重复这一工作流,直到获得令人满意的结果为止。训练可能还涉及调整超参数(影响学习过程但本身不可“学习”的结构性选择),这个过程称为超参数调整。
预训练模型的主要优点在于,开发人员无需从零开始,而是可以使用那些已经学习过通用功能(例如,语言结构或视觉形状)的模型,并在更小的特定领域数据集上对其微调。微调是迁移学习的几种类型之一;而迁移学习则指使预训练模型适应新用途的一系列技术的总称。
使用预训练的模型可以加速开发进程,并允许初创公司等可能缺乏足够算力、数据或基础架构的小型实体,也能够体验最先进的模型。这就好比买一件成衣,然后根据穿着者的身材量身修改。
使用预训练模型意味着,从业者可以直接使用那些已经在现实场景中验证、基准测试和检验的架构。这可以降低风险,并有助于确保可靠性。热门的预训练模型通常附带详尽的文档、教程和代码,可用于根据具体项目需求来调整模型。
众多组织都在使用预训练的大型语言模型 (LLM) 来推运自然语言处理 (NLP) 用例,例如问答、情感分析、语义分割、生成式 AI等。这份详尽的 LLM 列表囊括了许多最受欢迎的选项。其他 AI 模型专攻于计算机视觉领域,如物体检测和图像分类模型。
对于基于图像的模型而言,最早出现且最具影响力的资源之一是 ImageNet,这一海量数据集已成为计算机视觉的行业基准。诸如 ResNet 和 Inception 等经 ImageNet 上训练的架构,是计算机视觉工作流的基础。这些模型擅长功能提取,能够识别对新图像分类有用的边缘、纹理和形状。
目前有许多模型中心和库,可供组织托管预训练模型。以下是一些最典型的例子:
PyTorch Hub 是一个预训练模型存储库,旨在促进研究的可重复性,并简化在 Python PyTorch 生态系统中的使用预训练模型的过程。
TensorFlow Hub 是一个经训练的模型库,可以进行微调并可随时随地部署。BERT 模型和 Faster R-CNN(卷积神经网络)等模型,仅需几行代码即可复用。
Hugging Face Models 专注于 NLP 和视觉模型,提供最先进的模型(如 BERT、GPT 等)以及用于推理和训练的工具和教程。IBM Granite 系列的预训练模型均可在 Hugging Face 上找到。这些模型开放、高性能、可信,并针对业务用例进行了优化。Granite 包含用于语言、视觉、语音和时间序列等方面的模型。
Kaggle 是一个数据科学与机器学习平台,为竞赛、数据集以及社区协作和学习提供空间。
GitHub 是一个专有的开发者平台,允许开发人员创建、存储、管理和分享他们的代码。许多研究人员和公司会在这里的资源库中发布经预训练的模型,并附带代码、权重和文档。
NVIDIA NGC 目录提供专为 GPU 加速而优化的预训练模型,涵盖计算机视觉、医学成像和语音 AI 等领域。
OpenAI Models 通过 API 提供其生成式预训练的变换器模型,即 GPT,例如 ChatGPT 聊天机器人、Codex 和 DALL-E。通过 OpenAI API 或 Azure OpenAI 等平台,基于云进行访问,而非直接下载。
KerasHub 是一个预训练模型库,旨在简单、灵活和快速地提供主流架构的 Keras 3。
深入了解 watsonx 组合中基础模型库,从容自信地为您的业务扩展生成式 AI。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。