本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
用于微调的基础模型和超参数
基础模型的计算成本很高,并且是在大型的、未标注的语料库上训练的。微调预训练的基础模型是一种经济实惠的方式,可以利用其广泛的功能,同时根据自己的小型语料库来自定义模型。微调是一种自定义方法,它涉及进一步的训练,并且会改变模型的权重。
如果您有以下要求,微调可能会很有用:
-
根据特定业务需求自定义模型
-
让模型可以成功处理特定于领域的语言,例如行业术语、技术术语或其他专业词汇
-
针对特定任务增强性能
-
在应用中提供准确、相对的和感知上下文的响应
-
更真实、毒性更小、更符合具体要求的响应
根据使用案例和所选的基础模型,您可以采用两种主要方法进行微调。
-
如果您有兴趣根据特定于领域数据微调模型,请参阅使用域自适应微调大型语言模型 (LLM)。
-
如果您对使用提示和响应样本进行基于指令的微调感兴趣,请参阅使用提示指令微调大型语言模型 (LLM)。
基础模型可供微调
您可以微调以下任何 JumpStart 基础模型:
-
Bloom 3B
-
Bloom 7B1
-
BloomZ 3B FP16
-
BloomZ 7B1 FP16
-
Code Llama 13B
-
Code Llama 13B Python
-
Code Llama 34B
-
Code Llama 34B Python
-
Code Llama 70B
-
Code Llama 70B Python
-
Code Llama 7B
-
Code Llama 7B Python
-
CyberAgentLM2-7B-Chat (-7B-Chat) CALM2
-
Falcon 40B BF16
-
Falcon 40B Instruct BF16
-
Falcon 7B BF16
-
Falcon 7B Instruct BF16
-
Flan-T5 Base
-
Flan-T5 大号
-
Flan-T5 小号
-
Flan-T5 XL
-
Flan-T5 XXL
-
Gemma 2B
-
Gemma 2B Instruct
-
Gemma 7B
-
Gemma 7B Instruct
-
GPT-2 XL
-
GPT-J 6B
-
GPT-Neo 13B
-
GPT-Neo 125M
-
GPT-NEO 27B
-
Ligh GPT t Insuct 6B
-
Llama 2 13B
-
Llama 2 13B 聊天
-
Llama 2 13B Neuron
-
Llama 2 70B
-
Llama 2 70B 聊天
-
Llama 2 7B
-
Llama 2 7B Chat
-
Llama 2 7B Neuron
-
Mistral 7B
-
Mixtral 8x7B
-
Mixtral 8x7b Instruct
-
RedPajama INCITEBase 3B V1
-
RedPajama INCITEBase 7B V1
-
RedPajama INCITE聊天室 3B V1
-
RedPajama INCITEChat 7B V1
-
RedPajama INCITEInstruct 3B V1
-
RedPajama INCITEInstruct 7B V1
-
稳定扩散 2.1
通常支持的微调超参数
微调时,不同的基础模型支持不同的超参数。以下是常用的超参数,可以在训练期间进一步自定义您的模型:
推理参数 | 描述 |
---|---|
|
模型在训练期间通过微调数据集的通过次数。必须是大于 1 的整数。 |
|
完成每批微调训练示例后,模型权重的更新速率。必须是大于 0 的正浮点数。 |
|
是否对模型进行指令训练。必须为 |
|
每个内GPU核或CPU用于训练的批次大小。必须是正整数。 |
|
每个内GPU核或CPU用于评估的批次大小。必须是正整数。 |
|
出于调试目的或更快地进行训练,请将训练示例的数量截断为该值。值 -1 表示模型使用所有训练样本。必须是正整数或 -1。 |
|
出于调试目的或更快地进行训练,请将验证示例的数量截断为该值。值 -1 表示模型使用所有验证样本。必须是正整数或 -1。 |
|
标记化后的最大输入序列总长度。长度超过此值的序列将被截断。如果为 -1, |
|
如果没有验证通道,则训练验证的比例将从训练数据中分开。必须介于 0 和 1 之间。 |
|
如果不存在验证数据,则会将输入训练数据的随机拆分固定为模型使用的训练和验证数据。必须是整数。 |
|
用于预处理的进程数。如果 |
|
低等级适应 (LoRa) r 值,用作权重更新的缩放因子。必须是正整数。 |
|
低等级适应 (LoRa) alpha 值,用作权重更新的缩放因子。通常是大小的 2 到 4 倍 |
|
低等级自适应 (LoRa) 层的丢失值必须是介于 0 和 1 之间的正浮点数。 |
|
如果 |
|
如果是 |
在 Studio 中微调模型时,可以指定超参数值。有关更多信息,请参阅 在 Studio 中微调模型。
在微调模型时,也可以使用覆盖默认的超参数值 SageMaker Python SDK。有关更多信息,请参阅 与课堂一起微调公开可用的基础模型 JumpStartEstimator。