本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
網域適應性微調可讓您利用預先訓練的基礎模型,並使用有限的網域特定資料為特定任務進行調整。如果提示詞工程無法提供足夠的自訂功能,您可以使用網域調整微調,讓您的模型使用領域特定語言,例如產業術語、技術用語或其他專業資料。此微調程序會改變模型的權重。
若要在網域特定的資料集上微調模型:
-
準備您的訓練資料。如需說明,請參閱準備和上傳訓練資料以進行網域調整微調。
-
建立您的微調訓練任務。如需說明,請參閱建立以指令為基礎的微調訓練任務。
您可以在 中找到end-to-end範例範例筆記本。
網域適應性微調適用於下列基礎模型:
注意
有些 JumpStart 基礎模型,例如 Llama 2 7B,在微調和執行推論之前,需要接受最終使用者授權合約。如需詳細資訊,請參閱終端使用者授權協議。
-
Bloom 3B
-
Bloom 7B1
-
BloomZ 3B FP16
-
BloomZ 7B1 FP16
-
GPT-2 XL
-
GPT-J 6B
-
GPT-Neo 1.3B
-
GPT-Neo 125M
-
GPT-NEO 2.7B
-
Llama 2 13B
-
Llama 2 13B 聊天
-
Llama 2 13B Neuron
-
Llama 2 70B
-
Llama 2 70B 聊天
-
Llama 2 7B
-
Llama 2 7B 聊天
-
Llama 2 7B Neuron
準備和上傳訓練資料以進行網域調整微調
可以 CSV、JSON 或 TXT 檔案格式提供用於網域調整微調的訓練資料。所有訓練資料都必須位於單一資料夾中的單一檔案中。
訓練資料取自 CSV 或 JSON 訓練資料檔案的文字欄。如果沒有欄位標記為文字,則會從 CSV 或 JSON 訓練資料檔案的第一欄取得訓練資料。
以下是用於微調的 TXT 檔案內文範例:
This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of ....
用於訓練和測試的分割資料
您可以選擇性地提供另一個包含驗證資料的資料夾。此資料夾也應該包含一個 CSV、JSON 或 TXT 檔案。如果未提供驗證資料集,則會將訓練資料的集合量保留用於驗證。當您選擇超參數來微調模型時,可以調整用於驗證的訓練資料百分比。
將微調資料上傳至 Amazon S3
將準備好的資料上傳至 Amazon Simple Storage Service (Amazon S3),以便在微調 JumpStart 基礎模型時使用。您可以使用下列命令來上傳資料:
from sagemaker.s3 import S3Uploader
import sagemaker
import random
output_bucket = sagemaker.Session().default_bucket()
local_data_file = "train.txt"
train_data_location = f"s3://{output_bucket}/training_folder"
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
建立以指令為基礎的微調訓練任務
將資料上傳至 Amazon S3 之後,您可以微調和部署 JumpStart 基礎模型。若要在 Studio 中微調模型,請參閱 在 Studio 中微調模型。若要使用 SageMaker Python SDK 微調模型,請參閱 使用 JumpStartEstimator類別微調公開可用的基礎模型。
範例筆記本
如需網域調整微調的詳細資訊,請參閱下列範例筆記本: