當使用萬相進行 圖生視頻 時,若通過 Prompt 最佳化 或調用 官方視頻特效 仍無法滿足對 特定動作、特效或風格 的定製需求,請使用 模型微調 。
適用範圍
- 適用地區:本文描述的功能僅在新加坡地區可用,且必須使用該地區的API Key。
- 支援微調的方式:SFT-LoRA高效微調。
-
支援微調的模型:
- 圖生視頻-基於首幀:wan2.7-i2v、wan2.6-i2v、wan2.5-i2v-preview、wan2.2-i2v-flash。
- 圖生視頻-基於首尾幀:wan2.2-kf2v-flash。
如何微調模型
- 圖生視頻-基於首幀
- 圖生視頻-基於首尾幀
輸入首幀映像![]() | 輸出視頻(微調前)無法通過提示詞每次產生固定運動的“金錢雨”特效(運動畫面不可控)。 | 輸出視頻(微調後)微調後的模型無需提示詞即能穩定複現訓練集中的特定“金錢雨”特效。 |
步驟1:上傳資料集
將本地的資料集(.zip 格式)上傳到阿里雲百鍊平台,並擷取檔案 ID (id)。
訓練集範例資料:格式請參見訓練集。
- 圖生視頻-基於首幀:wan-i2v-training-dataset.zip。
- 圖生視頻-基於首尾幀:wan-kf2v-training-dataset.zip。
本樣本使用圖生視頻-基於首幀模型,僅上傳訓練集,系統將自動從訓練集中劃分一部分作為驗證集。上傳資料集耗時約數分鐘,具體時間根據檔案大小而定。
id,這是上傳資料集的唯一標識。
步驟2:微調模型
步驟2.1 建立微調任務
使用步驟1中的檔案ID啟動訓練任務。 請求樣本 請將<替換為訓練資料集的檔案id>完整替換為上一步擷取的id。
| 欄位 | 類型 | 必選 | 描述 | 推薦值 |
|---|---|---|---|---|
| batch_size | int | 是 | 批次大小。一次性送入模型進行訓練的資料條數。該參數為單一實例配置,建議使用各模型的推薦值,非必要請勿調整。
訓練任務實際啟動並執行執行個體數量由平台調度決定,訓練日誌中輸出的Global Step可能與估算結果不一致,但不會改變實際訓練資料總量,不影響模型最終效果。 | 以模型為準 |
| n_epochs | int | 是 | 訓練迴圈次數。steps = n_epochs × ⌈資料集大小 / batch_size⌉。建議總步數 ≥ 800。例如:資料集 5 條,batch_size=4,每輪步數=⌈5/4⌉=2,最小 n_epochs = 800/2 = 400。 推薦訓練輪數會根據資料量自動調整。資料越少,需要更多輪數來充分學習;資料越多,每輪包含的樣本越多,因此所需輪數會減少。50 epochs 主要適用於 2 條左右的小資料集;當資料量達到 50-60 條視頻時,通常建議訓練約 3000-5000 steps 即可。 | 50 |
| learning_rate | float | 是 | 學習率。控制模型權重更新幅度。過高可能導致模型變差,過低則變化不明顯。 | 2e-5 |
| eval_epochs | int | 是 | 驗證間隔。取值需 ≥ n_epochs/10。每隔多少個 epoch 進行一次驗證評估並儲存 Checkpoint。 | 20 |
| max_pixels | int | 是 | 訓練視頻的最大解析度(像素總數 = 寬×高)。系統僅對超過該值的視頻進行縮放處理。
| 以模型為準 |
| split | float | 否 | 訓練集劃分比例。取值 (0,1),僅在未指定 validation_datasets 時生效。 | 0.9 |
| max_split_val_dataset_sample | int | 否 | 自動劃分驗證集的最大樣本數。驗證集數量 = min(總數×(1−split), 此值)。 | 5 |
| save_total_limit | int | 否 | Checkpoint 儲存數量上限。系統只儲存最後 N 個 Checkpoint。 | 10 |
| lora_rank | int | 否 | LoRA 低秩矩陣維數。取值須為 2n(16/32/64)。 | 32 |
| lora_alpha | int | 否 | LoRA 權重縮放係數。取值須為 2n(16/32/64)。 | 32 |
output 中的三個關鍵參數:
job_id:任務ID,用於查詢進度。finetuned_output:微調後的新模型名稱,後續部署時必須使用此名稱。status:模型訓練狀態。建立微調任務後,初始狀態為PENDING,表示訓練待開始。
步驟2.2 查詢微調任務狀態
通過步驟2.1獲得的job_id 查詢任務進度,輪詢以下介面直到 status 變為 SUCCEEDED。
<替換為微調任務job_id> 完整替換為job_id的值。
output 欄位的兩個參數:
status:當它的值變為 SUCCEEDED 時,表示模型已訓練完畢,可以進行模型部署。usage:模型訓練消耗的總Token數量,用於模型訓練計費。
步驟3:部署微調後的模型
步驟3.1 部署模型為線上服務
當微調任務的狀態為 SUCCEEDED 後,將模型部署為線上服務。 請求樣本 請將<替換為模型名稱model_name> 完整替換為建立微調任務的輸出參數finetuned_output的值。
output 中的兩個參數:
deployed_model:部署的模型名稱,用於查詢部署狀態和調用模型。status:模型部署狀態。部署微調模型後,初始狀態為PENDING,表示部署未開始。
步驟3.2 查詢部署狀態
查詢部署狀態,輪詢以下介面直到status 變為 RUNNING。
<替換為deployed_model>完整替換為步驟3.1輸出參數deployed_model的值。
output欄位的兩個參數:
status:當狀態變為 RUNNING 時,表示模型已部署成功,可以開始調用。deployed_model:部署的模型名稱。
步驟4:調用模型產生視頻
模型部署成功後(即部署狀態status為 RUNNING ),即可發起調用。
步驟4.1:建立視頻產生任務,並擷取task_id
步驟4.1:建立視頻產生任務,並擷取task_id
<替換為部署名稱deployed_model>完整替換為上一步輸出的deployed_model值。- 圖生視頻-基於首幀
- 圖生視頻-基於首尾幀
Wan2.7模型調用
Wan2.7模型調用
Wan2.6/Wan2.5/Wan2.2模型調用
Wan2.6/Wan2.5/Wan2.2模型調用
task_id,用於下一步結果查詢。duration),請參照 API 文檔進行設定。欄位 | 類型 | 必選 | 描述 | 樣本值 |
|---|---|---|---|---|
model | string | 是 | 模型名稱。 必須使用已成功部署且部署狀態為RUNNING的微調模型。 | xxxx-ft-202511111122-xxxx |
input.prompt | string | 否 | 文本提示詞。 此參數是否生效,取決於aigc_config.use_input_prompt 的配置:
| - |
parameters.resolution | string | 否 | 產生的視頻解析度檔位。 wan2.2和wan2.5模型:480P、720P。預設值為720P。 wan2.6模型:720P、1080P。預設值為720P。 wan2.7模型:720P、1080P。預設值為1080P。 | 720P |
parameters.prompt_extend | boolean | 否 | 是否開啟prompt智能改寫。 調用微調的LoRA模型時,建議關閉,即設定為false。 | false |
步驟4.2:根據task_id查詢結果
步驟4.2:根據task_id查詢結果
task_id輪詢任務狀態,直到 task_status 變為 SUCCEEDED,並擷取視頻URL。請求樣本
請將86ecf553-d340-4e21-xxxxxxxxx替換為真實的task_id。
視頻URL有效期間為24小時,請及時下載視頻。
構建自訂資料集
除了使用本文樣本資料體驗微調流程外,您也可以構建自己的資料集進行微調。
資料集應包含 訓練集(必須)和 驗證集(可選,支援從訓練集自動劃分)。所有檔案請打包為.zip格式,檔案名稱建議僅使用英文、數字、底線或虛線。
資料集格式
訓練集:必須提供
- 圖生視頻-基於首幀
- 圖生視頻-基於首尾幀
- 訓練集範例:wan-i2v-training-dataset.zip。
- zip包目錄結構:
- 標註檔案(data.jsonl):每一行代表一條訓練資料,必須為JSON 對象。一行訓練資料的結構如下:
驗證集:可選
- 圖生視頻-基於首幀
- 圖生視頻-基於首尾幀
- 驗證集範例:wan-i2v-valid-dataset.zip。
- zip包目錄結構:
- 標註檔案(data.jsonl):每一行代表一條驗證資料,必須為JSON 對象。一行驗證資料的結構如下:
資料規模與限制
- 資料量:建議至少提供 10條資料。訓練資料量越大越好,推薦 20-100 條以獲得穩定效果。
- Zip壓縮包:通過 API 上傳時,總包大小 ≤ 1GB。
-
訓練映像要求:
- 映像格式支援BMP、JPEG、PNG、WEBP。
- 映像解析度 ≤ 4096×4096。
- 單個影像檔大小無硬性限制(系統將自動預先處理)
-
訓練視頻要求:
- 視頻格式支援 MP4、MOV。
- 視頻解析度 ≤ 4096×4096。
- 單個視頻檔案大小無硬性限制(系統將自動預先處理)。
- 單個視頻時間長度:wan2.2模型建議2~5秒;wan2.5模型建議2~10秒;wan2.7模型建議2~10秒;wan2.6模型建議2~10秒。
資料收集和清洗
1. 確定微調情境
萬相支援圖生視頻的微調情境包括:- 固定視頻特效:讓模型學會某種特定的視覺變化,如旋轉木馬、魔法換裝等。
- 固定人物動作:提升模型對特定肢體動作的複現度,如特定的舞蹈動作、武術招式。
- 固定視頻運鏡:複刻複雜的鏡頭語言,如推拉搖移、環繞拍攝等固定模板。
2. 擷取原始素材
- AI 產生篩選:利用“萬相”基本模型批量產生視頻,再人工挑選出最符合目標效果的優質樣本。這是最常用的方法。
- 真實拍攝:如果您的目標是追求高真實感的互動情境(如擁抱、握手等),使用實拍素材是最佳選擇。
- 三維軟體渲染:對於需要控制細節的特效或抽象動畫,建議使用 3D 軟體(如 Blender、C4D)製作素材。
3. 清洗資料
維度 | 正面要求 | 負面案例 |
|---|---|---|
一致性 | 核心特徵必須高度統一。 例如:訓練“360度旋轉”,所有視頻必須都是順時針旋轉,且旋轉速度基本一致。 | 方向混雜。 資料集中既有順時針,又有逆時針。模型不知道該學哪個方向。 |
多樣性 | 主體與情境越豐富越好。 覆蓋不同主體(男女老少、貓狗建築)和不同構圖(遠近景、俯仰拍)。同時,解析度和長寬比應儘可能多樣化。 | 單一情境或主體。 所有視頻都是“穿紅衣的人在白牆前旋轉”。模型會誤以為“紅衣”和“白牆”是特效的一部分,換了衣服就不會轉了。 |
均衡性 | 各類型資料比例均衡。 如果包含多種風格,數量應大致相等。 | 比例嚴重失調。 90%是人像視頻,10%是風景視頻。模型可能在產生風景視頻時效果不佳。 |
純淨度 | 畫面乾淨清晰。 使用無幹擾的原始素材。 | 有幹擾元素。 視頻中帶有字幕、台標、浮水印、明顯的黑邊或噪點。模型可能會把浮水印當成特效學進去。 |
時間長度 | 素材時間長度 ≤ 目標時間長度。 若期望產生5秒視頻,素材最好裁剪為4-5秒。 | 素材過長。 期望產生5秒,卻餵給模型8秒的素材,會導致動作學習不完整,產生截斷感。 |
視頻標註:為視頻編寫Prompt
在資料集的標註檔案(data.jsonl)中,每個視頻都有對應的一段 Prompt。Prompt 是用來描述視頻的畫面內容,Prompt 的品質直接決定模型“學什麼”。
| Prompt樣本視頻開頭展示了一位年輕女性站在一堵爬滿常春藤的磚牆前。她有著一頭柔順的紅棕色長發,穿著一件白色的無袖連衣裙,佩戴著一條閃亮的銀色項鏈,面帶微笑。背景是被綠色的藤蔓覆蓋的磚牆,顯得古樸而自然。然後開始展示s86b5p金錢雨特效,無數巨大尺寸的美元鈔票(米黃底/深綠圖案)如暴雨般傾瀉而下,密集地砸向並環繞她。鈔票持續落下,她雙臂舒展上揚,脖頸微仰,表情驚喜,完全沉浸在這場狂野的金錢雨中。 |
Prompt編寫公式
Prompt = [主體描述] + [背景描述] + [觸發詞] + [運動描述]
Prompt描述項 | 說明 | 填寫建議 | 樣本 |
|---|---|---|---|
主體描述 | 描述畫面中原本存在的人或物 | 必填 | 視頻開頭展示了一位年輕女性... |
背景描述 | 描述畫面中主體所處的環境 | 必填 | 背景是被綠色的藤蔓覆蓋的磚牆... |
觸發詞 | 一個無實際意義的稀有詞彙 | 推薦填寫 | s86b5p 或 m01aa |
運動描述 | 詳細描述視頻中特效發生的運動變化 | 推薦填寫 | 無數巨大尺寸的美元鈔票(米黃底/深綠圖案)如暴雨般傾瀉而下... |
關於“觸發詞”
關於“觸發詞”
- 觸發詞是什嗎? 它相當於一個 "視覺錨點" 。因為很多複雜的動態(如某種特殊的舞蹈軌跡、獨創的光影變化)很難用文字描述,所以用這個詞強制告訴模型:當你看到 s86b5p 時,就必鬚生成這種特定的視覺效果。
- 為什麼要使用它? 模型微調是建立“文本”與“視頻特徵”的映射關係。觸發詞就是那個把“難以言傳的特效”綁定到一個獨一無二的詞上,讓模型能夠鎖定目標。
-
既然有了觸發詞,為什麼還要詳細描述運動?
兩者分工不同,配合使用效果更好。
- 運動描述:負責解釋 “畫面在發生什麼”。它告訴模型基礎的物理動作和邏輯,通常多個樣本的運動描述是一致的。
- 觸發詞:負責解釋 “動作具體是什麼樣”。它代表了那些文字無法描述的獨特變化和特徵。
如何寫好Prompt
遵循特效描述的一致性原則
所有包含該特效的樣本,其特效的運動描述部分應盡量保持一致。訓練集和驗證集均遵守此規則。-
目的:當模型發現
s86b5p出現時,後面總是跟著一段固定的描述,且畫面總是出現金錢雨,它就能記住:s86b5p = 金錢雨視覺效果。 -
樣本:無論是“年輕女性”還是“西裝男性”,只要是金錢雨特效,Prompt 後半段都統一寫為:“...然後開始展示 s86b5p 金錢雨特效,無數美元鈔票如暴雨般傾瀉而下...”
樣本類型
Prompt 內容(注意底線部分的描述一致性)
訓練集樣本1
視頻開頭展示了一位年輕女性站在磚牆前...(省略環境描述)...
然後開始展示 s86b5p 金錢雨特效,無數巨大尺寸的美元鈔票(米黃底/深綠圖案)如暴雨般傾瀉而下,密集地砸向並環繞她。鈔票持續落下,她雙臂舒展上揚,表情驚喜,完全沉浸在這場狂野的金錢雨中。訓練集樣本2
視頻開頭展示了一位西裝男性在高檔餐廳內...(省略環境描述)..
.然後開始展示 s86b5p 金錢雨特效,無數巨大尺寸的美元鈔票(米黃底/深綠圖案)如暴雨般傾瀉而下,密集地砸向並環繞他。鈔票持續落下,他雙臂舒展上揚,表情驚喜,完全沉浸在這場狂野的金錢雨中。驗證集樣本1
視頻開頭展示了一位年輕小孩站在城市景觀前...(省略環境描述)...
然後開始展示s86b5p金錢雨特效,無數巨大尺寸的美元鈔票(米黃底/深綠圖案)如暴雨般傾瀉而下,密集地砸向並環繞他。鈔票持續落下,同時鏡頭緩緩拉進,他雙臂舒展上揚,脖頸微仰,表情驚喜,完全沉浸在這場狂野的金錢雨中。
藉助 AI 產生 Prompt
為了獲得品質較高的Prompt,推薦使用Qwen-VL等多模態大模型來輔助產生視頻的Prompt。-
使用 AI 輔助產生初始描述
-
自由發散(尋找靈感):如果不知道該如何描述特效,可以先讓 AI 自由發揮。
- 直接發送“
詳細描述視頻內容”,觀察模型輸出了什麼。 - 重點看模型用了哪些詞彙來形容特效的運動軌跡(如“暴雨般傾瀉而下”、“鏡頭緩緩拉進”),這些詞彙可以作為後續最佳化的素材。
- 直接發送“
-
固定句式(規範輸出):當有了大概思路後,可基於標註公式設計一套固定句式,引導 AI 產生符合格式的 Prompt。
範例程式碼
代碼調用詳見映像與視頻理解。
-
自由發散(尋找靈感):如果不知道該如何描述特效,可以先讓 AI 自由發揮。
-
提煉特效模板
- 建議對多個包含相同特效的樣本重複運行,找出描述特效時共同使用的高頻、準確片語,從中提煉出一段通用的“特效描述”。
- 將這段標準化的特效描述複製粘貼到該特效的所有資料集中。
- 保留每個樣本獨特的“主體”和“背景”描述,僅將“特效描述”部分替換為統一模板。
- 人工檢查 AI 可能會產生幻覺或識別錯誤,最後請進行人工檢查,例如:確認主體和背景的描述是否符合畫面真實情況等。
使用驗證集評估模型
指定驗證集
微調任務必須包含訓練集,驗證集則是可選項。您可以選擇由系統自動劃分或手動上傳驗證集,具體指定方式如下:
方式一:未上傳驗證集(系統自動劃分)
在建立微調任務時,如果沒有單獨上傳驗證集,即未傳入validation_datasets參數,系統將根據以下兩個超參數,自動從訓練集中劃分出一部分作為驗證集:
split:訓練集劃分比例。例如,0.9 表示將90%的資料用於訓練,剩餘的10%用作驗證。max_split_val_dataset_sample:自動劃分驗證集的最大樣本數。
資料集總數×(1 - split) 和 max_split_val_dataset_sample 中的較小值。
-
樣本:假設僅上傳訓練集,且訓練集有 100 條資料,split=0.9(即驗證集切分10%),max_split_val_dataset_sample=5。
- 理論切分:100 × 10% = 10 條。
- 實際切分:min(10, 5)=5,所以系統只取 5 條作為驗證集。
方式二:主動上傳驗證集(通過 validation_datasets 指定)
如果您希望使用一套自己準備的資料來評估Checkpoint,而不是依賴系統隨機劃分,可以上傳自訂驗證集。 注意:一旦選擇主動上傳,系統將完全忽略上述自動劃分規則,僅使用您上傳的資料進行驗證。操作步驟:主動上傳驗證集
操作步驟:主動上傳驗證集
- 準備驗證集:將驗證資料打包成一個獨立的
.zip檔案,請參見驗證集格式。 - 上傳驗證集:調用上傳資料集介面,上傳這個驗證集
.zip檔案,獲得一個專屬的檔案ID。 - 建立任務時指定驗證集:在調用建立微調任務介面時,將這個檔案ID填入
validation_datasets參數中。
挑選最佳Checkpoint進行部署
在訓練過程中,系統會定期儲存模型的“快照”(即 Checkpoint)。預設情況下,系統會輸出最後一個Checkpoint作為最終的微調模型。但中間過程產出的Checkpoint效果可能優於最終版本,您可以從中挑選出最滿意的一個進行部署。
系統將按照超參數eval_epochs設定的間隔,在驗證集上運行Checkpoint並產生預覽視頻。
- 如何評估:通過直接觀察產生的預覽視頻來判斷效果。
- 挑選標準:找到效果最好、且沒有動作變形的那個 Checkpoint 。
操作步驟
步驟1:查看Checkpoint產生的預覽效果
步驟1:查看Checkpoint產生的預覽效果
步驟1.1 查詢已通過驗證的Checkpoint列表
該介面僅返回通過驗證集驗證、且成功產生預覽視頻的 Checkpoint,驗證失敗的不會列出。請求樣本<替換為微調任務job_id>:完整替換為建立微調任務介面的輸出參數job_id。
步驟1.2 查詢Checkpoint對應的驗證集結果
從上一步返回的 Checkpoint 列表中選擇一個(例如“checkpoint-160”),查看其產生的視頻效果。請求樣本<替換為微調任務job_id>: 完整替換為建立微調任務輸出參數job_id的值。<替換為待匯出的checkpoint>:完整替換為checkpoint的值,例如“checkpoint-160”。
video_path,有效期間為24小時,請及時下載視頻並查看效果。重複此步驟,比較多個Checkpoint的效果,找出最滿意的一個。步驟2:匯出Checkpoint,並擷取待部署的模型名稱
步驟2:匯出Checkpoint,並擷取待部署的模型名稱
步驟2.1 匯出模型
假設“checkpoint-160”的效果最佳,接下來是將其匯出。請求樣本<替換為微調任務job_id>: 完整替換為建立微調任務輸出參數job_id的值。<替換為待匯出的checkpoint>:完整替換為checkpoint的值,例如“checkpoint-160”。<替換為控制台展示的匯出模型名稱>:完整替換為自訂的模型名稱,僅用於控制台展示,例如“wan2.5-checkpoint-160”。該名稱必須全域唯一,不支援重複名稱多次匯出,參數填寫請參見匯出Checkpoint。
output=true,表示匯出請求已成功建立。步驟2.2 查詢部署後的新模型名稱
查詢所有Checkpoint的狀態,確認匯出已完成,並擷取它專屬的、用於部署的新模型名稱(model_name)。請求樣本<替換為微調任務job_id>:完整替換為建立微調任務輸出參數job_id的值。
status 變為 SUCCEEDED 時,表示匯出成功;此時返回的 model_name 欄位即為匯出後的新模型名稱。步驟3:部署並調用模型
步驟3:部署並調用模型
應用於生產環境
在實際生產中,如果初次訓練的模型效果不佳(如畫面崩壞、特效不明顯、動作不準確),可參考以下維度調優:
1. 檢查資料與Prompt
- 資料一致性:資料一致性是核心。檢查是否有方向相反、風格差異過大的“差樣本”。
- 樣本數量:建議將高品質資料增加至 20條以上。
- Prompt:確保觸發詞為無意義稀有詞(如 s86b5p),避免使用常用詞(如 running)造成幹擾。
-
n_epochs (訓練輪數)
- 預設值:50,推薦使用預設值。若需調整,請遵循 ”總訓練步數 (Steps) ≥ 800” 的原則。
-
總步數計算公式:
steps = n_epochs × 向上取整(訓練集大小 / batch_size)。 -
因此,n_epochs最小值計算公式:
n_epochs = 800 / 向上取整(資料集大小 / batch_size)。 -
樣本:假設訓練集有5條資料,使用Wan2.5模型(batch_size=4)。
- 每輪訓練步數:5 / 4 = 1.25,向上取整為2。總的訓練輪數:n_epochs = 800 / 2 = 400。此值為推薦的最小值,可根據實際業務適當調高。
-
batch_size (批次大小)
- 批次大小。一次性送入模型進行訓練的資料條數。
- 該參數為單一實例配置,建議使用各模型的推薦值,非必要請勿調整。
- wan2.7-i2v:推薦為 1。
- wan2.5-i2v-preview:推薦為 4。
- wan2.2-i2v-flash:推薦為 4。
- wan2.2-kf2v-flash:推薦為 4。
訓練任務實際啟動並執行執行個體數量由平台調度決定,訓練日誌中輸出的Global Step可能與估算結果不一致,但不會改變實際訓練資料總量,不影響模型最終效果。
- learning_rate (學習率)推薦使用預設值(2e-5),通常無需修改。
計費說明
- 模型訓練:收費。
- 模型部署:免費。
-
模型調用:收費。
- 按微調的基本模型的標準調用價格計費,請參見模型價格。
API文檔
視頻產生模型微調API參考
常見問題
Q:如何計算訓練集和驗證集的資料量?
A: 訓練集必須提供,驗證集可選。具體計算方式如下:
-
當未傳入驗證集時:上傳的訓練集即為“資料集總數”,系統會自動從訓練集中划出一部分資料用於驗證。
- 驗證集數量 =
min(資料集總數 × (1 − split), max_split_val_dataset_sample)。計算樣本請參見指定驗證集。 - 訓練集數量 =
資料集總數 − 驗證集數量。
- 驗證集數量 =
-
當主動上傳驗證集時:系統不再從訓練資料中劃分驗證集。
- 訓練集數量 = 上傳的訓練集資料量。
- 驗證集數量 = 上傳的驗證集資料量。
Q:如何設計一個好的觸發詞?
A: 規則如下:
- 使用無意義的字母組合,如 sksstyle, a8z2_bbb。
- 避免使用常用英語單詞(如 beautiful, fire, dance),否則會汙染模型原本對這些詞的理解。


