使用 Amazon Redshift ML 的成本 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

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

使用 Amazon Redshift ML 的成本

透過 Amazon Redshift,您就可以利用機器學習功能從資料中獲得深入分析,而不需要大量的資料工程或機器學習專業知識。下列各節說明使用 Amazon Redshift ML 的相關成本,協助您規劃和最佳化費用,同時充分運用這項強大的機器學習整合。

使用 Amazon Redshift ML 搭配 SageMaker AI 的成本

適用於 SageMaker AI 的 Amazon Redshift ML 會使用您現有的叢集資源進行預測,因此您可以避免額外的 Amazon Redshift 費用。建立或使用模型不會產生額外的 Amazon Redshift 費用。預測發生在 Redshift 叢集本機,因此除非您需要調整叢集大小,否則您無需支付額外費用。Amazon Redshift ML 會使用 Amazon SageMaker AI 來訓練模型,這確實會產生額外的相關費用。

Amazon Redshift 叢集中執行的預測函數不需額外費用。CREATE MODEL 陳述式會使用 Amazon SageMaker AI,並產生額外的費用。成本會隨著訓練資料中的儲存格數量而增加。儲存格數量是記錄數目 (訓練查詢或資料表中) 乘以欄數的乘積。例如,當 CREATE MODEL 陳述式的 SELECT 查詢建立 10,000 條記錄和 5 個資料欄時,其建立的儲存格數量就是 50,000。

在某些情況下,由 CREATE MODEL 的 SELECT 查詢生成的訓練資料會超過您提供的 MAX_CELLS 限制 (若沒有提供限制,則是預設的 100 萬)。在這些情況下,CREATE MODEL 會隨機選擇大約的 MAX_CELLS (即訓練資料集中的「資料欄數目」記錄)。CREATE MODEL 會接著使用這些隨機選擇的元組執行訓練。隨機抽樣可確保減少的訓練資料集沒有任何偏差。因此,透過設定 MAX_CELLS,您可以控制訓練成本。

使用 CREATE MODEL 陳述式時,您可以使用 MAX_CELLS 和 MAX_RUNTIME 選項來控制成本、時間和潛在模型準確度。

MAX_RUNTIME 會指定使用 AUTO ON 或 OFF 選項時,訓練可以在 SageMaker AI 中進行的最長時間。視資料集大小而定,訓練工作通常會比 MAX_RUNTIME 更快完成。模型訓練完成後,Amazon Redshift 會在背景執行其他工作,以便在叢集中編譯和安裝模型。因此,CREATE MODEL 可能需要比 MAX_RUNTIME 更長的時間才能完成。但是,MAX_RUNTIME 會限制 SageMaker AI 用來訓練模型的運算和時間量。您可以隨時使用 SHOW MODEL 來檢查模型的狀態。

當您在 AUTO ON 的情況下執行 CREATE MODEL 時,Amazon Redshift ML 會使用 SageMaker AI Autopilot 來自動智慧探索不同的模型 (或候選模型),以找到最佳模型。MAX_RUNTIME 會限制花費的時間和計算量。如果 MAX_RUNTIME 設太低,則可能甚至沒有足夠時間來探索一個候選項目。如果您看到錯誤「Autopilot 候選項目沒有模型」,請以較大的 MAX_RUNTIME 值重新執行 CREATE MODEL。如需此參數的相關資訊,請參閱 Amazon SageMaker AI API 參考中的 MaxAutoMLJobRuntimeInSeconds

當您在 AUTO OFF 的情況下執行 CREATE MODEL 時,MAX_RUNTIME 會對應至 SageMaker AI 中執行訓練任務的時間長度限制。根據資料集的大小和使用的其他參數 (例如 MODEL_TYPE XGBOOST 中的 num_rounds),訓練工作通常會更快完成。

您也可以在執行 CREATE MODEL 時指定較小的 MAX_CELLS 值,以控制成本或縮短訓練時間。儲存格是資料庫中的項目。每一列會對應至與資料欄數量一樣的儲存格,可以是固定寬度或不同寬度。MAX_CELLS 會限制儲存格的數量,因此也會限制用於訓練模型的訓練範例數。依預設,MAX_CELLS 會設定為 100 萬個儲存格。減少 MAX_CELLS,即可減少 Amazon Redshift 從 CREATE MODEL 的 SELECT 查詢結果中匯出並傳送給 SageMaker AI 以訓練模型的資料列數。因此,減少 MAX_CELLS 會減少使用 AUTO ON 和 AUTO OFF 來訓練模型的資料集大小。此方法有助於減少訓練模型的成本和時間。若要查看特定訓練任務的訓練和計費時間相關資訊,請選擇 Amazon SageMaker AI 中的訓練任務

增加 MAX_RUNTIME 和 MAX_CELLS 通常可讓 SageMaker AI 探索更多候選項目,藉此改善模型品質。如此一來,SageMaker AI 可以花費更多時間來訓練每個候選項目,並使用更多資料來訓練更好的模型。如果您想要加快資料集的迭代或探索,請使用較低的 MAX_RUNTIME 和 MAX_CELLS。如果您想要改善模型的精確度,請使用較高的 MAX_RUNTIME 和 MAX_CELLS。

如需各種儲存格數目的成本和免費試用的相關資訊,請參閱 Amazon Redshift 定價

使用 Amazon Redshift ML 搭配 Amazon Bedrock 的成本

使用 Amazon Redshift ML 搭配 Amazon Bedrock 會產生額外的成本。如需詳細資訊,請參閱 Amazon Bedrock 定價