微調基礎模型 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

微調基礎模型

基礎模型耗費大量計算,並且在一個大型的無標籤語料庫上進行過訓練。微調預先訓練過的基礎模型是一種經濟實惠的方式,可以利用其廣泛的功能,又能在您自己的小型語料庫上自訂模型。微調是一種涉及進一步訓練的自訂方法,並且會改變模型的權重。

有以下需求時,微調可能對您有用:

  • 根據特定業務需求自訂您的模型

  • 您的模型可以成功使用網域特定的語言,例如行業術語、技術術語或其他專業詞彙

  • 針對特定任務增強效能

  • 應用程式中的準確、相對和上下文感知回應

  • 更以事實為基礎,毒性更低,更符合特定要求的反應

根據您的使用案例和選擇的基礎模型,您可以採取兩種主要方法進行微調。

  1. 如果您有興趣在特定網域資料上微調模型,請參閱網域適應性微調

  2. 如果您對使用提示詞和回應範例的指令式微調感興趣,請參閱指令式微調

可用於微調的基礎模型

您可以微調下列任何 JumpStart 基礎模型:

  • 綻放 3B

  • 綻放

  • 布卢姆兹 3B FP16

  • 布卢姆兹 7B1 FP16

  • 代碼駱駝

  • 代碼駱駝 Python

  • 代碼駱駝

  • 代碼駱駝 Python

  • 代碼駱駝 70B

  • 代碼駱駝 70B Python

  • 代碼駱駝 7B

  • 代碼駱駝 7B Python

  • CyberAgentLM2-7B-聊天 (-7B-聊天) CALM2

  • 獵鷹 BF16

  • 獵鷹 40B 指示 BF16

  • 獵鷹 7B BF16

  • 獵鷹 7B 指示 BF16

  • 法蘭 T5 基地

  • 法蘭-T5 大號

  • 法蘭-T5 小

  • 法蘭-T5 XL

  • 法蘭-T5 號 XXL

  • 傑瑪 2B

  • 傑瑪 2B 指示

  • 傑瑪 7B

  • 傑瑪 7B 指示

  • GPT-2 加大

  • GPT-J

  • GPT-新

  • GPT-新 125 米

  • GPT-NEO 2.7 乙

  • 燈光GPT指示

  • 美洲駝

  • 美洲駝 2 13 B 聊天

  • 美洲駝神經元

  • 美洲駝

  • 美洲駝 2 70B 聊天

  • 美洲駝

  • 美洲駝 2 7B 聊天

  • 美洲駝神經元

  • 米斯特拉尔

  • 8x7 百分比混音

  • 8x7b 混音指示

  • RedPajama INCITE第 1 集基地

  • RedPajama INCITE7B 基地 V1

  • RedPajama INCITE聊天

  • RedPajama INCITE聊天第一版

  • RedPajama INCITE指示

  • RedPajama INCITE指示 7B V1

  • 穩定擴散 2.1

常見支援的微調超參數

微調時,不同的基礎模型支持不同的超參數。以下是常見支援的超參數,可在訓練期間進一步自訂模型:

推論參數 描述

epoch

模型在訓練期間透過微調資料集所接受的傳遞數目。必須是大於 1 的整數。

learning_rate

在完成每批微調訓練範例之後,模型權重的更新速率。必須是大於 0 的正浮點數。

instruction_tuned

是否要指示訓練模型。必須是 'True''False'

per_device_train_batch_size

每個GPU核心或CPU訓練的批次大小。必須是正整數。

per_device_eval_batch_size

每個GPU核心或CPU評估的批次大小。必須是正整數。

max_train_samples

為了進行偵錯或更快速的訓練,請將訓練範例的數目截斷為此值。值 -1 表示模型使用所有訓練範例。必須是正整數或 -1。

max_val_samples

為了進行偵錯或更快速的訓練,請將驗證範例的數目截斷為此值。值 -1 表示模型使用所有驗證範例。必須是正整數或 -1。

max_input_length

標記化後的最大總輸入序列長度。超過此長度的序列將被截斷。如果 -1,max_input_length則設置為 1024 的最小值,並由標記生成器model_max_length定義。如果設置為一個正值,max_input_length被設置為所提供的值的最小值和由標記生成器model_max_length定義。必須是正整數或 -1。

validation_split_ratio

如果沒有驗證通道,則訓練資料中的訓練驗證分割比例。必須介於 0 和 1 之間。

train_data_split_seed

如果驗證資料不存在,這會將輸入訓練資料的隨機拆分修正為模型使用的訓練和驗證資料。必須是整數。

preprocessing_num_workers

用於預處理的處理序數目。如果None,主要過程用於預處理。

lora_r

低階適應(LoRa)r 值,作為重量更新的縮放因子。必須是正整數。

lora_alpha

低階適應(LoRa)alpha 值,作為權重更新的縮放因子。一般尺寸的 2 到 4 倍lora_r。必須是正整數。

lora_dropout

低階調整 (LoRa) 圖層的捨棄值必須是 0 到 1 之間的正浮點數。

int8_quantization

如果True,模型加載 8 位精度進行訓練。

enable_fsdp

如果True,訓練會使用完整分割資料平行處理原則。

您可以在 Studio 中微調模型時指定超參數值。如需詳細資訊,請參閱在 Studio 中微調基礎模型

您也可以在使用微調模型時覆寫預設的超參數值。 SageMaker Python SDK如需詳細資訊,請參閱使用班級微調公開可用的JumpStartEstimator基礎模型