全部產品
Search
文件中心

Alibaba Cloud Model Studio:在控制台進行模型調優

更新時間:Jun 03, 2026

本文將詳細介紹如何在控制台進行模型調優任務,並協助您選擇正確的調優方式與參數。模型調優包含模型微調(SFT)、繼續預訓練(CPT)、模型偏好訓練(DPO)三種模型訓練方式。

模型調優流程

步驟一:選擇調優方式

前往模型調優頁面,點擊“创建训练任务”按鈕。

image

基礎資訊地區,可以設定任務名稱任務優先順序。任務優先順序分為 L0(低)、L1(中低)、L2(中高)、L3(高)四級,影響訓練任務的調度順序。優先順序越高,訓練任務越早被調度執行。

CPT、SFT、DPO 如何選擇

CPT(繼續預訓練,Continual Pre-Training)目的是通過海量的無標記訓練資料,提升模型在特定行業的表現。

SFT-有監督-模型微調(Supervised Fine-Tuning)目的是通過針對性的資料集和訓練,提升模型在特定業務的表現。

DPO-有監督-直接偏好最佳化(Direct Preference Optimization)訓練資料集資料同時提供正負樣本,通過引入負反饋,降低幻覺,對bad case進行針對性最佳化。

百鍊提供的三種調優方式並不互斥,而是遞進的、相輔相成的。

CPT(可選)→ SFT → DPO(可選)

  1. CPT (持續預訓練)- 補知識 (通用模型知識的“廣度”和“淺度”,無法滿足專業領域的“深度”和“精度”要求)

    • 金融模型: 學金融術語

    • 醫學模型: 記藥品病理

    • 法律模型: 懂法條判例

  2. SFT (監督微調)- 學做事

    • 客服機器人: 學客服流程

    • 代碼助手: 學編程範式

    • 工具調用 (Agent): 學使用 MCP

  3. DPO (直接偏好最佳化)- 做得更好

    • 安全與責任感: 拒有害建議

    • 簡潔與有效性: 答乾脆利落

    • 客觀與中立: 評公正客觀

SFT 訓練集

SFT ChatML(Chat Markup Language)格式訓練資料,支援多輪對話和多種角色設定。

不支援OpenAI 的nameweight參數,所有的 assistant 輸出都會被訓練。
# 一行訓練資料(json 格式),展開後典型結構如下:
{"messages": [
  {"role": "system", "content": "系統輸入1"}, 
  {"role": "user", "content": "使用者輸入1"}, 
  {"role": "assistant", "content": "期望的模型輸出1"}, 
  {"role": "user", "content": "使用者輸入2"}, 
  {"role": "assistant", "content": "期望的模型輸出2"}
  ...
]}

system/user/assistant 區別請參見概述,訓練資料集範例:SFT-ChatML格式樣本.jsonlSFT-ChatML格式樣本.xlsx(xls、xlsx 格式只支援單輪對話)。

單條訓練資料的所有 assistant 行都支援"loss_weight"參數,用於設定該行在訓練時的相對重要性。(設定範圍0.0 ~ 1.0,數值越大,重要性越高)

該參數屬於邀測參數,如需使用,請聯絡您的商務經理。
 {"role": "assistant", "content": "期望的模型輸出1", "loss_weight": 1.0}, 
 {"role": "assistant", "content": "期望的模型輸出2", "loss_weight": 0.5}

兩種訓練方式的資料量要求請參見資料集的規模要求

阿里雲百鍊推薦您以先 CPT(可選),後 SFT,再 DPO,最後 RL 的順序使用模型調優:

  1. 先收集海量(至少1000萬Token)的特定領域的無標籤樣本,進行CPT訓練,將模型訓練成特定行業/領域的專家。

  2. 在應用上線前,使用足夠多(1000+)的特定情境/業務的正樣本,即收集情境/業務輸入+模型期望輸出,進行SFT 訓練。

  3. 您的應用試運行/上線後,收集足夠多(100+)的使用者反饋(如:點贊、點踩、反饋)或者 bad case,將這些資料製作成 DPO 訓練集,進行 DPO 訓練。

  4. 如需進一步提升模型的推理與工具調用能力,可在 SFT/DPO 訓練後進行 RL(強化學習)訓練。RL 訓練通過 DashScope SDK 或 CLI 啟動。

模型選擇

如果您是第一次進行模型調優,請選擇您期望的預置模型

如果您是因為模型訓練效果不好需要再次訓練某個模型,請選擇自訂模型 > 您需要二次訓練的模型。

全參訓練與高效訓練

  • 全參訓練通過全量更新模型參數的方式進行學習。

  • 高效訓練採用低秩適應(Low-Rank Adaptation,LoRA)的方式,通過矩陣分解的方法,更新分解後的低秩部分參數。

由於兩種訓練方式的費用相同,阿里雲百鍊推薦您如果模型支援全參訓練,請優先選擇全參訓練,因為全參訓練效果比高效訓練效果要好,性價比更高。

步驟二:參數配置

訓練參數介紹:

並不是所有模型都支援所有參數的調節,請以控制台顯示為準

參數名稱

推薦設定

超參作用

批次大小 (batch_size)

使用預設值

批次大小,代表模型訓練過程中,模型更新模型參數的資料步長,可理解為模型每看多少資料即更新一次模型參數,一般建議的批次大小為16/32,表示模型每看16或32條資料即更新一次參數。取值範圍:SFT [32, 8192],DPO [8, 1024],CPT [128, 2048]。

image

學習率 (learning_rate)

高效訓練:1e-4量級

全參訓練:1e-5量級

CPT訓練:1e-5量級

控制模型修正權重的強度。

如果學習率設定得太高,模型參數會劇烈變化,導致調優後的模型表現不一定更好,甚至變差;

如果學習率太低,調優後的模型表現不會有太大變化。

迴圈次數 (n_epochs)

資料量 < 10,000, 迴圈 3~5次

資料量 > 10,000, 迴圈 1~2次

具體需要結合實驗效果進行判斷

模型遍曆訓練的次數,請根據模型調優實際使用經驗進行調整。

模型訓練迴圈次數越多,訓練時間越長,訓練費用越高。取值範圍 [1, 200]。

驗證步數 (eval_steps)

使用預設值

訓練階段針對模型的驗證間隔步長,用於階段性評估模型訓練準確率、訓練損失。

該參數影響模型調優進行時的 Validation Loss 和 Validation Token Accuracy 的顯示頻率。

學習率調整策略 (lr_scheduler_type)

推薦選擇“linear”或“Inverse_sqrt”。

在模型訓練中動態調整學習率的策略。

各策略詳情請參考學習率調整策略介紹

序列長度 (max_length)

設定為模型支援的最大值

指的是單條訓練資料 token 支援的最大長度。如果單條資料 token 長度超過設定值:

SFT 會直接丟棄該條資料,不進行訓練;

DPO 則會自動截斷超出配置長度的後續 token,截短後的資料仍會被訓練。

字元與 token 之間的關係請參考 Token和字串之間怎麼換算。取值範圍 [500, 32768]。

學習率預熱比例 (warmup_ratio)

使用預設值

學習率預熱佔用總的訓練過程的比例。學習率預熱是指學習率在訓練開始後由一個較小值線性遞增至學習率設定值。

該參數主要是限制模型參數在訓練初始階段的變化幅度,從而協助模型更穩定地進行訓練。

比例過大效果與過低的學習率相同,會導致調優後的模型表現不會有太大變化。

比例過小效果與過高的學習率相同,可能導致調優後的模型表現不一定更好,甚至變差。取值範圍 [0, 1]。

該參數僅對學習率調整策略“Constant”無效。

權重衰減 (weight_decay)

使用預設值

L2正則化強度。L2正則化能在一定程度上保持模型的通用能力。數值過大會導致模型調優效果不明顯。取值範圍 [0, 0.2]。

高效訓練參數

LoRA阿爾法 (lora_alpha)

使用預設值

用於控制原模型權重與LoRA的低秩修正項之間的結合縮放係數。

較大的Alpha值會給予LoRA修正項更多權重,使得模型更加依賴於調優任務的特定資訊;

而較小的Alpha值則會讓模型更傾向於保留原始預訓練模型的知識。

LoRA丟棄率 (lora_dropout)

使用預設值

LoRA訓練中的低秩矩陣值的丟棄率。

使用推薦數值能增強模型通用化能力。

數值過大會導致模型調優效果不明顯。取值範圍 [0, 0.2]。

LoRA秩值 (lora_rank)

設定為模型支援的最大值

LoRA訓練中的低秩矩陣的秩大小。秩越大調優效果會更好一點,但訓練會略慢。

是否凍結VIT(freeze_vit)

使用預設值

用於凍結視覺主幹網路的參數,使其在訓練過程中不更新權重。僅適用於 千問-VL(視覺理解)模型。

警告

只有 freeze_vit 設定為“true”時,模型才能進行按 Token 用量計費。

說明

不同訓練方式支援的參數有所不同:

  • SFT(高效訓練):支援以上全部參數。

  • DPO(高效訓練):支援除"是否凍結VIT"(freeze_vit)外的全部參數。

  • CPT(全參訓練):僅支援批次大小、學習率、迴圈次數、驗證步數、學習率調整策略、序列長度,不支援 LoRA 相關參數、學習率預熱比例和權重衰減。

學習率調整策略介紹

學習率調整策略” 是在 超參配置 > 更多配置 下的第一個配置,配置包含8種不同的策略。

策略詳情請參見:

Linear:學習率線性遞減。

使用情境:適合訓練過程較短的任務。

plot_linearpng

Polynomial:學習率按照一個預定義的多項式函數隨訓練迭代次數或周期數逐漸減少。

使用情境:Polynomial 可以更精細地控制學習率減少速度,適用於任務比較複雜的情境。

但內建多項式係數為1,效果同 Linear,不推薦使用。

plot_linearpng

Cosine:學習率變化符合餘弦函數曲線。

使用情境:適合需要進行精細調整、訓練過程較長的任務。plot_cosine

Cosine_with_restarts:學習率按照餘弦函數的形狀周期性地減少至某個最小值,而且在每個周期結束時,學習率會“重啟”成預設值,然後開啟下一周期。

使用情境:適用於需要模型從局部最優解中跳出來,嘗試尋找更好全域解的情況。

但經過實測,學習率並不會在函數曲線底部“重啟”成預設值,不推薦使用。plot_cosine

Constant:學習率不變, “學習率預熱比例”參數無效。

使用情境:適合初步探索模型效能。constant

Constant_with_warmup:學習率不變,但“學習率預熱比例”參數有效。

使用情境:適合初步探索模型效能。plot_constant_with_warmup

Inverse_sqrt:學習率逐漸減小,減小量與迭代次數的平方根的倒數正相關。

使用情境:適合於 SFT 微調,能較好地平衡學習效率與模型收斂。

plot_inverse_sqrt

reduce_lr_on_plateau:當監控的指標(驗證損失或驗證準確率)在連續多個epoch內沒有顯著改進時,自動降低學習率。

使用情境:當模型很難進一步提高效能時,reduce_lr_on_plateau 可以協助模型繼續最佳化和提升。

plot_reduce_lr_on_plateau

說明

圖中學習率下限梯度、最小值均為示意,實際學習率下限梯度、最小值以實際使用為準。

步驟三:選擇訓練資料

image

資料集構建技巧請參考資料集構建技巧。上傳調優資料集請前往資料管理頁面。

資料配置地區,可以設定以下內容:

  • 訓練資料集:選擇已上傳的調優資料集作為訓練資料。

  • 混合訓練資料:開啟後,可以額外添加混合訓練資料集。混合訓練資料用於在微調過程中保持模型的通用能力,避免模型因過度適應特定任務資料而喪失原有的通用對話能力。如果您有多個業務情境的資料,建議開啟混合訓練。

  • 驗證集:支援自動切分獨立上傳兩種方式。選擇自動切分時,平台將從訓練資料集中隨機抽取 10% 的資料作為驗證集。您也可以選擇獨立上傳單獨的驗證資料集。驗證集用於在訓練過程中評估模型效果,顯示驗證損失(Validation Loss)和驗證準確率(Validation Token Accuracy)。

步驟四:訓練資源配置

訓練資源配置地區,選擇訓練任務的計費方式。平台提供以下三種計費方式:

  • 按 Token 計費:使用平台共用資源,按實際消耗的 Token 數量計費。可能需要排隊等待。不支援 RL 訓練。

  • 訓練單元·預付費:使用已購買的專屬訓練資源,訓練速度更快,無需排隊等待

  • 訓練單元·後付費:使用專屬訓練資源,訓練速度更快,無需排隊等待,按實際使用時間長度(小時)計費,無需預先購買。

說明

詳細計費說明和價格請參見模型調優簡介 - 計費說明

預付費訓練單元管理

選擇訓練單元·預付費後,可在模型調優頁面點擊管理訓練資源進行訓練單元的購買與管理。支援以下操作:

操作

說明

購買

按月購買訓練單元執行個體。同類型訓練單元在有效期間內只能購買一次,如需增加配額,請使用擴容操作。

擴容

增加訓練單元執行個體數。補充費用 = 新增執行個體數 × 剩餘時間長度 × 月單價折算。

縮容

減少訓練單元執行個體數,按實際使用時間長度以小時單價的 1.2 倍計費,剩餘費用將退還。縮容後執行個體數不能少於當前使用中的數量。

續約

延長訓練單元使用時間長度。費用 = 當前執行個體數 × 續約月數 × 月單價

退訂

提前退訂訓練單元。退訂按實際使用時間長度以小時單價的 1.2 倍計費,剩餘預付金額扣除退訂費用後退還。

步驟五:訓練產出

以下配置適用於 SFT、DPO、CPT 訓練。
說明

在百鍊平台上,模型調優完成後可以匯出參數快照,匯出後才能基於此版本的參數快照在百鍊上進行模型部署。

匯出的參數快照儲存在雲端儲存中,暫不支援訪問或下載。

模型导出的配置項下,可以設定:

  • 模型名称:設定訓練產出模型的名稱。訓練完成後,產出的最後一個 Checkpoint 將以該名稱自動發布至我的模型

  • 儲存模型數量限制:設定最多保留的 Checkpoint 數量。

  • Checkpoint 儲存間隔:設定 Checkpoint 的儲存頻率,支援按 epoch(訓練輪次)或 step(訓練步數)儲存。

  • 模型加密(安全升級):開啟後,平台會為模型檔案啟用 OSS 服務端加密,使用 OSS 完全託管密鑰進行加解密(SSE-OSS),密碼編譯演算法為 AES256。

步驟六:訓練模型

點擊“開始訓練” > 確認“模型調優計費提醒” > 模型開始訓練。

如遇許可權不足,請參考:模型調優時報許可權不足怎麼辦?

模型訓練時點擊”查看日誌”按鈕可以查詢模型訓練過程中即時產生的日誌,也可以前往指標的標籤頁查看訓練損失(Training Loss)、驗證損失(Validation Loss)、驗證準確率(Validation Token Accuracy)。

訓練完成後,請確認訓練損失(Training Loss)與驗證損失(Validation Loss)的差異變化趨勢。

  1. 如果訓練損失逐漸減小而驗證損失逐漸增大,說明模型已經過擬合訓練資料,訓練可能失敗,訓練效果可能不佳。建議按照以下推薦方法(推薦程度有先後順序)進行最佳化,重新訓練,提升訓練效果

    1. 使用資料增強,增加訓練資料多樣性和資料量。

    2. 收集更多訓練資料,增加訓練資料多樣性和資料量。

    3. 調整超參,包括:減少“訓練次數”、減小“學習率”、減小“批次大小”、增大“權重衰減”、提高“LoRA丟棄率”、提高“學習率預熱比例”。

  2. 如果訓練損失沒有明顯變化或逐漸增大(不常見),說明模型欠擬合訓練資料,訓練失敗。建議按照以下推薦方法(推薦程度有先後順序)進行最佳化,繼續訓練:

    1. 檢查資料品質,確保資料清洗充分。

    2. 調整超參,包括:增大“訓練次數”、增大“學習率”、增大“批次大小”、減小“權重衰減”、降低“LoRA丟棄率”、降低“學習率預熱比例”。

  3. 如果沒有上述情況請繼續後續步驟。

步驟七:發布模型用於部署

僅 SFT微調訓練支援選擇發布訓練中間狀態的模型快照

模型訓練完成後,根據步驟五:訓練產出中的配置,產出的最後一個 Checkpoint 會以設定的模型名稱自動發布我的模型頁面。

如需發布其他訓練中間階段的 Checkpoint,可以在訓練任務詳情頁的产出標籤頁中查看所有儲存的 Checkpoint 列表,選擇目標 Checkpoint 並點擊发布模型

产出標籤頁中包含以下資訊:Checkpoint ID、訓練儲存資訊、模型發布狀態、模型名稱、剩餘儲存時間長度、建立時間、操作。

說明

Checkpoint 有儲存時間長度限制,超過儲存時間長度後將被自動清理,屆時將無法再發布該 Checkpoint。請及時發布所需的模型快照。

發布完成後的模型可以在我的模型頁面查看,並進行部署。

步驟八:部署模型

前往我的模型頁面中快速查詢模型支援的部署模式、模型 ID 等相關資訊,部署好後就可以對調優好的模型進行評測。模型部署相關資訊請參見模型部署簡介

常見問題

什麼時候可以使用模型調優功能?

  • 文本產生模型調優雖然能在特定業務/情境取得非常好的效果,但有以下限制:

    • 耗時較長,包括:擁有一個大規模(最少 0.5億 token)CPT 資料集、構建一個有效(1000+)SFT 資料集、收集足夠的(100+)Bad Case 構建模型部署計費有效 DPO 資料集、模型最佳化迭代速度慢等。

    • 費用較高,調優後的模型部署後才能使用,模型部署計費較高。

  • 阿里雲百鍊推薦您在考慮使用文本產生模型調優前先嘗試使用Prompt 工程Prompt Engineering)或外掛程式調用Function Calling定製化您的應用,模型調優也通常作為改進模型表現“最後的手段”。因為:

    1. 在許多任務中,模型最初可能表現不佳,但通過應用正確的 Prompt 技巧可以改進結果,不一定需要使用模型調優。

    2. 迭代最佳化 Prompt、外掛程式,比模型調優的迭代更敏捷、成本更低,因為模型調優的迭代可能需要重新收集資料、清洗最佳化資料、收集 bad case、發起客戶調研等。

    3. 即使最後一定要進行模型調優,最初的 Prompt 工程、外掛程式迭代最佳化相關工作也不會浪費。您的這些前期工作可以充分地在構建調優資料集時複用(用於構建資料集的輸入)。

模型調優時報許可權不足怎麼辦?

請聯絡您的平台或空間管理員,檢查並開通以下許可權:

  1. 帳號擁有發起調優任務所在的業務空間下 模型調優-操作模型部署-操作模型評測-操作 的頁面許可權。

    相關介紹請參考:賬戶許可權管理。控制台連結:百鍊-帳號管理

    PixPin_2025-11-13_20-34-22

  2. 需要發起調優任務所在的業務空間擁有對特定模型進行模型训练(調優)的許可權。

    相關介紹請參考:授權子業務空間模型調用、訓練和部署。控制台連結:百鍊-業務空間管理

    image

如果模型調優後,評測的效果不好怎麼辦?

  1. 如果您使用的是人工評測,請檢查評測維度是否符合業務或情境。

  2. 收集在模型評測時評測結果不佳的測試案例,統計分析評測結果不佳的原因,根據分析結果調整訓練資料集,繼續迭代調優模型。

  3. 根據評測結果不佳的用例產生 DPO 用例,對模型進行 DPO 訓練。

模型調優、模型部署、模型評測怎麼收費?

模型調優支援按Token計費模型訓練單元(預付費/後付費)兩種計費方式。按Token計費使用平台共用資源,按實際消耗的 Token 數量計費;訓練單元使用專屬訓練資源,訓練速度更快。訓練好的模型在部署後只收取部署費用,不收模數型的調用費用。模型評測不額外收費。詳細資料請參考模型訓練與部署計費

在阿里雲百鍊調優完成的模型可以下載到本地部署嗎?

阿里雲百鍊平台進行調優的模型不支援匯出,只支援在阿里雲百鍊上部署後測試、調用。

模型調優訓練失敗,提示訓練資料量不足怎麼辦?

當模型調優訓練失敗且原因為訓練資料量不足時,您可以嘗試調整序列長度(max_length)參數來解決。

原因說明

序列長度決定了單條訓練資料支援的最大Token長度。在SFT(有監督微調)訓練中,超過序列長度的資料會被直接丟棄。如果序列長度設定過大,可能導致大量訓練資料因超長被丟棄,實際參與訓練的資料量不足,從而導致訓練失敗。

解決方案

  1. 在建立訓練任務時,展開參數配置,找到max_length(序列長度)參數。

  2. 將序列長度調整為較小的值(如8192),使更多訓練資料能夠滿足長度要求,參與模型訓練。

  3. 重新提交訓練任務。

說明

您可以在模型調優工作清單中,點擊訓練失敗任務右側的查看日誌,查看具體的訓練失敗原因。