Amazon Bedrock 模型定制(Model Customization)
本指南介绍如何在不管理基础设施的前提下,针对具体用例定制 Amazon Bedrock 基础模型,涵盖微调、持续预训练、强化微调和蒸馏四种定制方式。
一、用途与四种定制路径
-
微调(Fine-Tuning,监督学习) 使用带标签的示例(输入-输出配对)将模型适配到特定任务。适用场景:任务特定优化(分类、抽取、生成)、改善领域术语的响应、教授特定输出格式。资料称典型收益为准确率提升 20-40%。
-
持续预训练(Continued Pre-Training,领域适配) 在未标注的领域文本上继续训练,以构建领域知识。适用场景:医疗、法律、金融、技术等领域,专有知识库,行业特定语言。资料称典型收益为领域准确率提升 15-30%。
-
强化微调(Reinforcement Fine-Tuning,2025 年新增) 使用人类反馈强化学习(RLHF)或 AI 反馈(RLAIF)进行对齐。适用场景:提升响应质量与安全性、对齐品牌语气与价值观、减少幻觉。资料称典型收益为准确率提升 40-66%(AWS 于 2025 年公布 66% 增益)。
-
蒸馏(Distillation,教师-学生) 将大模型知识迁移到更小、更快的模型。适用场景:成本优化(小模型更便宜)、降低延迟(推理更快)、在缩小模型规模的同时保持质量。资料称典型收益为达到教师模型 80-90% 的质量,同时降低成本 50-70%。
二、主要能力与支持模型 资料给出支持模型矩阵:Claude 3.5 Sonnet、Claude 3 Haiku、Claude 3 Opus、Cohere Command 支持微调、持续预训练、强化(2025)与蒸馏;Titan Text G1、Titan Text Lite、AI21 Jurassic-2 支持微调、持续预训练与蒸馏,不支持强化;Titan Embeddings 仅支持微调与持续预训练。资料注明可用性因区域而异,请以 AWS 控制台的最新模型支持为准。
三、训练数据格式与要求
微调格式(JSONL):每行包含 prompt 与 completion。要求:最少 32 条示例(建议 1000 条以上),每任务最多 10,000 条示例,每条示例最大 32K tokens。
持续预训练格式(JSONL):每行包含 text(仅未标注文本)。要求:最少 1000 条(建议 10,000 条以上),每任务最多 100,000 条,每条文档最大 32K tokens。
强化微调格式(JSONL):每行包含 prompt、chosen、rejected。要求:最少 100 个偏好对(建议 1000 个以上),每条示例最大 32K tokens,排序分数可选(0.0-1.0)。
蒸馏格式:无需训练数据(仅需提示词)。配置示例中包含 teacherModelId、studentModelId 与 distillationDataSource.promptDataset.s3Uri。提示词数据集要求:最少 1000 条提示词(建议 10,000 条以上),教师模型自动生成补全,学生模型学习匹配教师输出。
四、使用方式(基于 boto3 的快速上手)
- 准备训练数据:以 Python 列表构造 prompt/completion 示例并写入 JSONL 文件。
- 上传到 S3:使用 boto3 客户端上传训练数据与(推荐的)验证数据。
- 创建定制任务:调用 bedrock.create_model_customization_job,指定 jobName、customModelName、roleArn、baseModelIdentifier、trainingDataConfig、validationDataConfig、outputDataConfig 及 hyperParameters(如 epochCount、batchSize、learningRate)。
- 监控训练:调用 get_model_customization_job 获取状态(InProgress、Completed、Failed、Stopped),完成后取得 outputModelArn。
- 部署与测试:使用 bedrock-runtime 的 invoke_model 以自定义模型 ARN 调用并解析结果。
五、各类任务的封装函数示例 资料提供四类操作的 Python 封装:create-fine-tuning-job(customizationType 为 FINE_TUNING,含 epochCount、batchSize、learningRate、learningRateWarmupSteps 等默认超参);create-continued-pretraining-job(customizationType 为 CONTINUED_PRE_TRAINING,默认 epochCount 为 1、较低学习率以保证稳定);create-reinforcement-finetuning-job(customizationType 为 REINFORCEMENT_FINE_TUNING,algorithm 可选 DPO、PPO、RLAIF,含 beta 作为 KL 散度系数,资料称预期准确率提升 40-66%);create-distillation-job(以学生模型为 baseModelIdentifier,trainingDataConfig 中指定 teacherModelIdentifier)。
六、适用场景与限制 适用场景包括:分类与抽取等任务特定优化、医疗/法律/金融等领域适配、品牌语气与安全对齐、以更小模型降低推理成本与延迟。 限制与注意事项:数据须为 JSONL 格式并满足最低与最大示例数量、单条 token 上限;不同模型支持的方法不同;模型可用性因区域而异,需查阅 AWS 控制台;需要具备 Bedrock 与 S3 权限的 IAM 角色;蒸馏无需训练补全数据但需提示词数据集。以上内容均来自资料,未提供的价格、性能实测与具体平台支持细节暂未提供。