使用 Training Operator 微调大型语言模型

Training Operator 如何在 Kubernetes 上执行微调

此页面展示了 Training Operator 如何实现用于微调大型语言模型的 API

架构

您可以在下图中看到 train Python API 的工作原理

Fine-Tune API for LLMs

  • 用户执行 train API 后,Training Operator 会创建具有适当资源的 PyTorchJob 来微调大型语言模型。

  • 存储初始化器 InitContainer 被添加到 PyTorchJob worker 0,用于使用提供的参数下载预训练模型和数据集。

  • 具有 ReadOnlyMany 访问模式的 PVC 会挂载到每个 PyTorchJob worker 上,以便在 Pod 之间分发模型和数据集。注意:您的 Kubernetes 集群必须支持具有 ReadOnlyMany 访问模式的卷,否则您只能使用单个 PyTorchJob worker。

  • 每个 PyTorchJob worker 运行 LLM Trainer,使用提供的参数微调模型。

Training Operator 使用这些预创建的组件实现 train API

模型提供者

模型提供者下载预训练模型。目前,Training Operator 支持 HuggingFace 模型提供者,用于从 HuggingFace Hub 下载模型。

您可以使用此抽象基类实现自己的模型提供者

数据集提供者

数据集提供者下载数据集。目前,Training Operator 支持 AWS S3HuggingFace 数据集提供者。

您可以使用此抽象基类实现自己的数据集提供者

LLM 训练器

训练器实现训练循环来微调大型语言模型。目前,Training Operator 支持 HuggingFace 训练器来微调大型语言模型。

您可以为其他机器学习用例(如图像分类、语音识别等)实现自己的训练器。

反馈

本页面有帮助吗?


最后修改时间 2025 年 3 月 29 日: website: Add dark theme (#3981) (4f092f1)