建立

建置非常精確的訓練資料集

Amazon SageMaker Ground Truth 可以使用機器學習,協助客戶快速建置非常精確的訓練資料集,並且可將資料標記成本減少高達 70%。成功機器學習模型的訓練方式為使用已標記的資料,來教導模型如何做出正確的決策。本程序通常需要數個月和大型團隊來完成。SageMaker Ground Truth 提供一種創新的解決方案來降低成本和複雜性,同時又可提高資料的正確性,方法為將機器學習與稱為主動學習的人類標記程序結合在一起。 

進一步了解

用於編寫模型的受管筆記本

Amazon SageMaker 提供執行 Jupyter notebooks 的全受管執行個體,用於訓練資料探索及預先處理。這些筆記本會預先載入熱門深度學習平台的 CUDA 和 cuDNN 驅動程式、Anaconda 套件,以及適用於 TensorFlow、Apache MXNet、PyTorch 和 Chainer 的程式庫。 

只要您按一下滑鼠,即可存取使用 Jupyter 開放原始碼筆記本格式的全受管機器學習筆記本環境。

這些筆記本工作空間讓您幾乎可以使用所有熱門的程式庫、架構和界面,來探索及視覺化您的資料,並將您的發現結果記載於可重複使用的工作流程。您可以在筆記本內使用已存放在 Amazon S3 中的專屬資料。此外,您還可以使用 AWS Glue 輕鬆將資料從 Amazon RDS、Amazon DynamoDB 和 Amazon Redshift 移至 S3 進行分析。您可以編寫或匯入筆記本,或使用眾多已預先載入 Amazon SageMaker 的其中一本預先建置的筆記本。預先建置的筆記本可用於所有內建的機器學習演算法。此外,筆記本範本可協助您開始使用常見的 ML 應用程式,以及更進階的 Amazon SageMaker 功能。 

內建的高效能演算法

Amazon SageMaker 提供針對速度、擴展性和準確性優化的高效能可擴展式機器學習演算法。這些演算法可對 PB 級資料集執行訓練,並提供相較於其他實作最多 10 倍的效能。您可以從多種監督式演算法中選擇,這些演算法在訓練時會提供正確答案,而您可以在模型發生錯誤時給予指示。 Amazon SageMaker 內含各種監督式演算法,例如 XGBoost 和線性/邏輯迴歸或分類,以解決建議和時間序列預測問題。 Amazon SageMaker 也包括無監督式學習 (也就是演算法必須自行探索正確答案) 的支援,例如 k-means 分群演算法和主成分分析 (PCA),以解決根據購買行為識別客戶分組等問題。

Amazon SageMaker 會自動將最常用的機器學習演算法提供給您使用。您只要指定資料來源,就能立即開始執行 k-means 分群演算法來進行資料切割、分解機器以獲得建議、時間序列預測、線性迴歸或主成分分析。 

BlazingText Word2Vec BlazingText 實作 Word2Vec 演算法,擴展並加速從大量文件中產生單詞嵌入。
DeepAR 此演算法可透過遞歸神經網路 (RNN) 從許多相關時間序列的學習模式產生準確的預測。
分解機 即便使用極少量的資料,也能夠估算特徵之間所有互動的模型。
梯度提升樹 (XGBoost) 全名為「Extreme Gradient Boosting」,XGBoost 是經過優化的分散式梯度提升程式庫。
影像分類 (ResNet) 用於開發影像分類系統的熱門神經網路。
IP 深入分析 一種演算法,用來偵測惡意使用者,或學習 IP 地址的使用模式。
K-means 叢集 最簡單的 ML 習演算法之一,用來在未加上標籤的資料中找出群組。
K-Nearest Neighbor (k-NN) 一種索引型演算法,用來解決地址分類和迴歸型問題。

隱含狄利克雷分布 (LDA)

這種模式非常適合用來自動探索一組文件檔案中的主要主題。
線性學習程式 (分類) 線性分類會使用物件的特徵來識別其所屬的適當群組。
線性學習程式 (迴歸) 線性迴歸是用於預測兩個變數之間的線性關係。
神經主題建模 (NTM) 以神經網路為基礎的一種方法,用於從文字和影像資料集內學習主題。
Object2Vec 一種神經內嵌演算法,用來計算最鄰近項和視覺化神經叢集。
物件偵測 偵測、分類,以及將影像中的多個物件放入週框方塊。
主成分分析 (PCA) 通常用於預先處理,這種演算法會將有許多特徵的表格或矩陣縮減成只有較少的代表性特徵。
Random Cut Forest 用來偵測異常的無監督式機器學習演算法。
語義分隔
將標籤指派給影像的個別像素,來分割影像以識別感興趣之處。
Seqence2Sequence 一般用途的文字編碼器兼解碼器,常用於機器翻譯、文字摘要等等。

這些演算法都已經過優化,因此效能最快可高達傳統實作的 10 倍。我們達成此目標的其中一個方法是實作這些演算法,讓它們不需要返回查看已經看過的資料。以往,演算法通常會往返查看資料以參考較舊的資料。這個方法適用於小型資料集,但用於大型資料集時,會明顯降低訓練效能。透過工程設計方式讓演算法只通過資料一次,就能以有效率且經濟實惠的方式在 PB 級資料集上進行訓練。 

廣泛的架構支援

Amazon SageMaker 會自動設定及最佳化 TensorFlow、Apache MXNet、Chainer、PyTorch、Scikit-learn 和 SparkML,因此您不必進行任何設定,即可開始使用這些架構,而且我們預計在未來幾個月內新增其他主要架構。不過,您可以將任何喜愛的架構引入 Amazon SageMaker,只要將架構建置到您存放在 Amazon EC2 Container Registry 中的 Docker 容器即可。

運用 Amazon SageMaker RL 強化學習支援

除了傳統受監督和未受監督的學習外,Amazon SageMaker 還支援強化學習。SageMaker 現在已內建全受管的強化學習演算法,包括學術文獻中的一些最新和最佳表現。SageMaker 在多個架構 (包括 TensorFlow 和 MXNet) 中,以及針對強化學習從頭開始設計的更新架構 (例如 Intel Coach 和 Ray RL) 中支援 RL。支援多個 2D 和 3D 物理模擬環境,包括以開始原始碼 OpenGym 界面為基礎的環境。此外,SageMaker RL 還允許您使用在 Amazon Sumerian 和 Amazon RoboMaker 中建置的虛擬 3D 環境進行訓練。為了協助您開始,SageMaker 還提供一系列的範例筆記本和教學課程。 

大部分機器學習都落在稱為受監督學習的類別中。這種方法需要許多標記的訓練資料,但是您建置的模型能夠做出複雜的決策。使用電腦視覺、語音和語言模型是常見的方法。另一種常見但很少使用的機器學習類別稱為未受監督學習。在這裡,演算法會嘗試識別未標記資料中隱藏的結構。訓練未受監督模型的門檻低得多,但代價是模型做出的決策較不複雜。未受監督模型通常用來識別資料中的異常狀況,例如溫度的異常波動或網路入侵的跡象。

強化學習(RL)已形成機器學習的第三種補充方法。RL 會採用非常不同的方法來訓練模型。它幾乎不需要標記的訓練資料,但它仍然可以符合 (在某些情況下超過) 人類的複雜程度。RL 的最棒之處在於,它可以學習為一系列複雜行為建立模型,以達到所需的結果,而不是只做出決策而已。RL 今日最常見的其中一個應用是訓練自動駕駛車導航至目的地。

輕鬆了解 RL 運作方式的方式為將它想像成簡單的視訊遊戲,其中角色需要導航迷宫收集旗幟並避開敵人。不是人類自己玩遊戲,而是演算法會控制角色,並玩數百萬種遊戲。開始時只需知道角色可以上下左右移動即可,而且將得到分數的獎勵。然後,演算法將學習如何玩遊戲,以盡可能得到最高分。它將學習提高分數 (例如挑選旗幟或善用分數加倍器),並將懲罰降至最低 (例如被敵人擊中) 的行為。 隨著時間的過去,RL 演算法可以學習進階策略以精通遊戲,例如首先清除迷宮的較簡單部分、如何和何時使用充電,以及如何利用敵人的行為。

RL 可以是傳統機器學習技術的力量倍增器。例如,RL 與受監督學習相結合,在醫療保健中建立個人化治療方案、最佳化製造供應鏈、提高風力渦輪機效能、駕駛自動駕駛汽車、安全操作機器人,甚至為學生建立個人化課程和學習計劃。

本機測試和原型

Github 提供在 Amazon SageMaker 使用的開放原始碼 Apache MXNetTensorflow Docker 容器。您可將這些容器下載到本機環境,使用 Amazon SageMaker Python SDK 測試指令碼,然後再部署到 Amazon SageMaker 訓練或託管環境。當您準備好從本機測試移到生產訓練和託管時,只需變更一行程式碼即可。

訓練

一鍵式訓練

當您準備好在 Amazon SageMaker 中進行訓練時,只要指定您的資料在 Amazon S3 中的位置,並指出您需要的 Amazon SageMaker ML 執行個體類型和數量,就能在主控台按一下滑鼠開始進行訓練。Amazon SageMaker 會設定分散式運算叢集、執行訓練、將結果輸出到 Amazon S3,以及在訓練完成時縮減叢集。 

使用 Amazon SageMaker 訓練模式非常簡單;只要指定資料在 S3 中的位置,Amazon SageMaker 就會根據您的需求,在與其本身軟體定義網路隔離的訓練叢集上執行您的演算法。您只需選擇適合進行快速高效率訓練的執行個體類型 (包括 P3 GPU 執行個體),Amazon SageMaker 就會在自動調整規模群組中建立您的叢集;將 EBS 磁碟區連接到每個節點;設定資料管道;然後使用您的 TensorFlow、MXNet、Chainer 或 PyTorch 指令碼、Amazon 自己的演算法,或容器所提供的演算法開始進行訓練。訓練完成後,系統會將結果輸出到 S3 並自動縮減叢集。

為了能夠輕鬆執行大規模訓練,我們優化了從 S3 訓練資料串流的程序。您可以透過 API 指定是否要將所有資料傳送到叢集中的每個節點,或是否要讓 Amazon SageMaker 根據您的演算法需求,來管理各節點的資料分佈。

透過結合內建的演算法,使用 Amazon SageMaker 可能獲得的訓練可擴展性可以大幅減少執行訓練的時間和成本。 

自動模型調校

Amazon SageMaker 透過調整數千種不同的演算法參數組合來自動調校您的模型,讓模型得以產生最準確的預測結果。 

您調校模型以提高準確性時,有兩大項目必須調整:首先是修改您提供給模型的資料輸入 (例如,使用特定數量的日誌),其次是調整演算法的參數。這些稱為超參數,要想找出正確的值相當困難。通常,您會從隨機值開始下手,之後反覆進行調整,看看有什麼變化。視您的模型有多少超參數而定,這整個過程可能相當漫長。

Amazon SageMaker 透過在訓練期間提供自動模型調校選項,以簡化這個程序。Amazon SageMaker 會使用機器學習來調整您的機器學習模型。整個程序包括了解哪些項目會影響模型上的不同資料類型,還有在多個模型副本套用該知識,以快速找出最佳的可能結果。如果您是開發人員或資料科學家,這表示您只須留意對提供給模型的資料想做的調整,如此能大幅減少您在訓練期間必須留意的事項。

啟動自動模型調校時,您只需透過 API 指定訓練任務的數量,Amazon SageMaker 就會完成剩餘的工作。 

訓練一次,隨處執行

Amazon SageMaker Neo 允許機器學習模型訓練一次,並在雲端和邊緣隨處執行。通常,要將機器學習模型最佳化以在多個平台上執行是極其困難的,因為開發人員需要為每個平台的特定硬體和軟體組態手動調整模型。Neo 可透過自動最佳化 TensorFlow、MXNet、PyTorch、ONNX 和 XGBoost 模型,在今日的 ARM、Intel 和 Nvidia 處理器上進行部署,減少這樣做所需的時間和精力,另外即將推出對 Cadence、Qualcomm 和 Xilinx 硬體的支援。您可以從 SageMaker 主控台存取 SageMaker Neo,而且只需點按幾下,即可產生針對其雲端執行個體或邊緣裝置最佳化的模型。最佳化模型的執行速度最多可提高兩倍,且耗用的儲存空間是傳統模型的百分之一。 

進一步了解

訓練任務搜尋

Amazon SageMaker Search 可讓您從可能數百和數千個 Amazon SageMaker 模型訓練任務中快速找到並評估最相關的模型訓練執行項目。SageMaker Search 可透過 AWS 管理主控台,以及 Amazon SageMaker 的 AWS SDK API 提供使用。

開發機器學習模型需要持續的試驗、嘗試新的學習演算法,以及調校超參數,同時觀察對模型效能和準確性的影響。這種反覆練習通常會導致數百個模型訓練試驗和模型版本的爆增,因而減緩獲勝模型的收斂與探索。此外,資訊爆增使得往後非常難以回溯追蹤模型版本的家系,亦即,最先醖釀該模型之資料集、演算法和參數的獨特組合。

您可以使用 Amazon SageMaker Search,在 Amazon SageMaker 上快速且輕鬆地組織、追蹤和評估您的模型訓練任務。您可以從已使用的學習演算法、超參數設定、已使用的訓練資料集,甚至到您已在模型訓練任務上新增的標籤中,搜尋所有定義屬性。您還可以根據訓練損失和驗證準確性之類的效能指標,快速對訓練執行項目進行比較和排名,從而建立用於挑選「獲勝」模型的排行榜,以便部署到生產環境中。您最終可以使用 Amazon SageMaker Search,來快速回溯追蹤已在實際環境中部署之模型的完整系屬關係,直到資料集用於訓練或驗證模型。

部署

一鍵式部署

您可以按一下滑鼠就能將模型部署到多個可用區域上的自動調整規模 Amazon ML 執行個體,以獲得高冗餘。只要指定 執行個體的類型,以及需要的最大和最小數量即可,Amazon SageMaker 將會完成剩餘的工作。它會啟動執行個體、部署您的模型,以及為您的應用程式設定安全的 HTTPS 端點。您的應用程式只須包含這個端點的 API 呼叫,即可達成低延遲/高輸送量推論。因為變更模型時不再需要同時更改應用程式的程式碼,所以這個架構可讓您將新模型整合到應用程式筆記。 

使用 Auto Scaling 進行全受管的託管

Amazon SageMaker 會使用內建的 Amazon CloudWatch 監控和記錄功能代您管理生產運算基礎設施,以執行運作狀態檢查、套用安全性修補程式,以及執行其他例行維護。 

批次轉換

批次轉換可讓您針對大型或小型批次資料進行預測。無須將資料集分解為多個區塊或管理即時端點。使用簡易的 API 時,您可以請求針對大量資料記錄進行預測,並快速、輕鬆地轉換資料。

 

界面管道

Amazon SageMaker 可讓您部署界面管道,以便您可以傳遞原始輸入資料,並在即時和批次界面請求上執行前置處理、預測和後置處理。界面管道可由任何機器學習架構、內建演算法,或可在 Amazon SageMaker 上使用的自訂容器組成。您可以利用一組可在 SparkML 和 Scikit-learn 架構容器 (位於 Amazon SageMaker 中) 取得的特性轉換器,來建置特性資料處理和特性工程管道,並將這些管道部署為推論管道的一部分,以重複使用資料處理程式碼,並更輕鬆地管理機器學習程序。

 

進一步了解 Amazon SageMaker 定價

瀏覽定價頁面
準備好開始使用了嗎?
註冊
還有其他問題嗎?
聯絡我們
頁面內容
建立 訓練 部署