View a markdown version of this page

在 Amazon Nova 2 上準備 CPT 的資料 - Amazon Nova

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

在 Amazon Nova 2 上準備 CPT 的資料

Amazon Nova 2 上的 CPT 會訓練原始文字,以協助模型取得特定網域、術語和撰寫模式的更深入知識。此頁面說明為 Amazon Nova 2 模型準備 CPT 訓練資料的資料格式、支援的功能、限制條件和最佳實務。

提示

若要在開始訓練任務之前驗證資料集格式,請參閱 驗證工具

資料格式

CPT 訓練和驗證資料集必須是 JSONL 檔案,其中每一行都是 JSON 物件,其中包含具有字串值的單一text欄位。文字項目應包含代表目標網域的自然流動、高品質內容。

必要. 包含此範例訓練內容的字串。

{"text": "training content"}
注意

使用 datamixing 時,請使用 執行第一個任務max_steps=2。這將有助於在叢集中建立資料存取的最佳化,並驗證所有資料混合是否可用。

範例輸入

以下顯示具有多個文字範例的基本 CPT JSONL 資料集:

{"text": "AWS stands for Amazon Web Services"} {"text": "Amazon SageMaker is a fully managed machine learning service"} {"text": "Amazon Bedrock is a fully managed service for foundation models"}

支援的功能

下表摘要說明 Amazon Nova 2 上 CPT 的功能支援。

CPT 功能支援
功能 Amazon Nova 2 上的 CPT
文字理解 Nova 2.0 Lite 支援。請參閱 一般/文字理解
影像理解 不支援
影片理解 不支援
理解文件 不支援
工具呼叫 不支援
推理 不支援

一般/文字理解

本節摘要說明在 Amazon Nova 2 訓練資料上準備 CPT 的一般限制條件和最佳實務。

限制條件

一般資料集限制條件
限制條件 詳細資訊
資料集格式 JSONL (每行一個 JSON 物件) 與text字串欄位。
支援的模態 僅文字
建議的資料磁碟區 數十億個網域特定內容的字符,以獲得最佳結果。

最佳實務

  • 使用代表您目標網域的自然流動、高品質內容。

  • 訓練資料品質是持續預先訓練成功最重要的決定因素。雖然 CPT 資料通常描述為「未標記」,但資料的結構、格式化和呈現方式會決定模型是否會取得業務使用案例所需的知識和技能。

  • 在 CPT 之後,計劃執行額外的指令調校 (SFT 或 RFT),讓模型可以使用新取得的知識來完成有用的任務。

範例輸入

{"text": "AWS stands for Amazon Web Services"} {"text": "Amazon SageMaker is a fully managed machine learning service"} {"text": "Amazon Bedrock is a fully managed service for foundation models"}

準備 CPT 的結構化業務資料集

大多數企業擁有結構化資料的豐富儲存庫:產品目錄、使用者設定檔、交易日誌、表單提交、API 呼叫和操作中繼資料。乍看之下,這看起來與一般用於標準預先訓練的非結構化 Web 文字非常不同。

若要有效地從結構化業務資料中學習,請仔細考慮下游任務並設計資料呈現,以強制模型學習正確的預測關係。

若要釋放持續預先訓練的完整潛力,請考慮:

  • 模型在推論時間應執行的任務

  • 原始資料中存在哪些資訊

  • 如何建構該資料,讓模型學習正確擷取和操作資訊

只要將結構化資料傾印到訓練中,就不會教導模型推理它。主動調整資料簡報的形狀,以引導模型學習的內容。

文獻中的 CPT 結構化資料

CPT 可以將網域事實封裝到模型中,但通常無法在輸入或任務轉移時擷取和操縱這些事實。受控實驗顯示,如果在預先訓練期間沒有多樣化擴增,模型會以簡潔的方式記住事實,即使在稍後的指令調校後仍難以擷取,並且建議像訓練早期的訊號一樣注入指令。對於半結構化資料,隨機序列化和其他擴增可減少結構描述過度擬合,這就是為什麼 CPT 應與指令樣式任務交錯,而不是先執行 和稍後執行 IFT。專注於財務的工作進一步發現,與循序配方相比,在批次時間聯合混合 CPT 和指令資料可改善一般化並減少忘記。Qwen 技術報告透過將高品質指令資料整合到預先訓練本身來收斂在相同的模式,這可提升內容學習並保留後續指令,同時獲得新的領域知識。

半結構化體庫的資料擴增是關鍵控制桿。合成圖形感知 CPT 會將小型網域集擴展到實體連結體庫,以明確教導推論時具有擷取的關係和化合物。Joint CPT plus 指令混合效能優於金融領域的序列管道,並平衡具有一般資料的網域,可降低一般技能的降級。非常大規模的網域 CPT 也可以保留廣泛的能力,甚至允許透過模型合併進行權衡,但仍指向指令調校作為必要的後續步驟,加強在 CPT 期間引入指令訊號的值。

透過隨機化和隨機化來注入多樣性

有助於有效從結構化和半結構化資料集教導模型的一般策略是隨機隨機捨棄資料集中的欄位順序,甚至隨機捨棄一些索引鍵。

隨機顯示欄位會強制模型讀取每個值的意義,而不是顯示的位置,並了解所有欄位之間的關係。例如,在 amazon 商店發佈的視訊遊戲中,當「標題」、「平台」、「價格」、「條件」和「編輯」以不同的排列到達時,模型無法依賴「第三個槽是平台」;它必須將標籤繫結到值,並了解屬性之間的雙邊關係:標題 ⇄ 平台、平台 ⇄ 價格、條件 ⇄ 價格。例如,它可以從遊戲名稱和觀察價格推斷可能平台,或根據標題和平台估計合理的價格範圍。

在序列化期間隨機捨棄索引鍵就像功能捨棄一樣:它可防止在任何一個欄位上進行共同調整,並強制模型從剩餘的證據中復原缺少的資訊。如果「平台」不存在,模型必須從標題字串或相容性文字中挑選;如果「價格」隱藏,則必須從平台、版本和條件中三角。這會建置對稱 (A→B 和 B→A)、對雜亂真實世界清單的穩健性,以及欄位遺失、重新命名或重新排序時的結構描述變異。

購物風格範例讓它變得具體。以多種方式序列化相同的項目:"Title: 'Elden Ring' | Platform: PlayStation 5 | Condition: Used—Like New | Price: $34.99" 和排列,例如 "Price: $34.99 | Title: 'Elden Ring' | Condition: Used—Like New | Platform: PlayStation 5",並且在某些傳遞中捨棄 "Platform",同時在描述中保留 "Compatible with PS5"。訓練互補目標,例如從 {title, price} 預測平台,以及從 {title, platform} 預測價格儲存貯體。由於索引鍵的順序甚至存在都不同,因此唯一穩定的策略是了解屬性之間的真實關係,而不是記住範本。

資料呈現的方式很重要

LLMs會從他們已看到的內容預測下一個字符來學習。訓練期間顯示的欄位和事件順序決定模型可以學習的內容。如果訓練格式符合實際任務,則損失會落在確切的決策權杖上。如果欄位在沒有結構的情況下拼湊在一起,模型會學習捷徑或記住熱門度,然後在要求選擇選項時失敗。

先顯示情況,再顯示選項,再顯示決策。如果模型也應該了解結果或說明,請在決策之後放置它們。

CPT 的封裝範例

什麼是封裝?

封裝表示使用多個完整範例填入訓練資料中的每個序列視窗,讓視窗以真實字符密集,而不是填補。

為什麼它很重要

在訓練期間,會設定最大內容長度 (例如 8,192 個字符)。批次的形狀為 【批次大小 × 內容長度】。如果訓練範例短於內容長度,則會填充剩餘的位置。即使已遮罩遺失,填補仍會透過注意力和 MLP 核心執行,因此針對沒有學習訊號的字符支付運算費用。

如何進行封裝

若要封裝多個範例,請以[DOC]分隔符號串連多個訓練範例 (請注意 前後的空間[DOC]),讓完整長度保持在所需的內容長度內。

封裝文件的範例如下所示:

{"text": "training sample 1 [DOC] training sample 2 [DOC] training sample 3"}