新功能 — 使用Amazon SageMaker特征庫,存儲、發(fā)現(xiàn)和共享機器學(xué)習(xí)功能

來源: AWS
作者:Julien Simon
時間:2021-03-09
17337
Amazon SageMaker特征庫,一項Amazon SageMaker新功能,它可以使數(shù)據(jù)科學(xué)家和機器學(xué)習(xí)工程師輕松安全地存儲、發(fā)現(xiàn)和共享培訓(xùn)和預(yù)測工作流程中使用的精選數(shù)據(jù)。

1615273359(1).png

今天,我非常高興地宣布Amazon SageMaker特征庫,一項Amazon SageMaker新功能,它可以使數(shù)據(jù)科學(xué)家和機器學(xué)習(xí)工程師輕松安全地存儲、發(fā)現(xiàn)和共享培訓(xùn)和預(yù)測工作流程中使用的精選數(shù)據(jù)。

對于選擇正確算法來培訓(xùn)機器學(xué)習(xí)(ML)模型的重要性,經(jīng)驗豐富的從業(yè)人員知道提供高質(zhì)量數(shù)據(jù)有多么重要。清理數(shù)據(jù)是很好的第一步,機器學(xué)習(xí)工作流程通常包括填充缺失值、刪除異常值等步驟。然后,他們經(jīng)常使用被稱為“特征工程”的常見技術(shù)和難懂的技術(shù)進行數(shù)據(jù)轉(zhuǎn)換。

簡而言之,特征工程的目的是轉(zhuǎn)換數(shù)據(jù)并增加其表現(xiàn)力,以便算法學(xué)習(xí)得更好。例如,許多列式數(shù)據(jù)集都包含字符串,例如街道地址。對于大多數(shù)機器學(xué)習(xí)算法來說,字符串毫無意義,需要以數(shù)字表示形式進行編碼。因此,您可以用GPS坐標替換街道地址,這是學(xué)習(xí)位置概念更具表現(xiàn)力的方式。換句話說,如果數(shù)據(jù)是新的石油,那么特征工程就是將其轉(zhuǎn)化為高辛烷值噴氣燃料的精煉過程,幫助模型獲得平流層精度。

事實上,機器學(xué)習(xí)從業(yè)者花費了大量時間來制作特征工程代碼、將其應(yīng)用于初始數(shù)據(jù)集、在工程數(shù)據(jù)集上培訓(xùn)模型以及評估模型準確性。鑒于這項工作的實驗性質(zhì),即使是最小的項目也會多次迭代。相同的特征工程代碼通常會反復(fù)運行,這會浪費時間和計算資源來重復(fù)相同的操作。在大型組織中,這可能導(dǎo)致更大的生產(chǎn)力損失,因為不同團隊通常會運行相同作業(yè),甚至由于不了解之前的作業(yè),而編寫重復(fù)的特征工程代碼。

機器學(xué)習(xí)團隊還必須解決另一個難題。由于模型是在工程數(shù)據(jù)集上培訓(xùn)的,因此必須對發(fā)送進行預(yù)測的數(shù)據(jù)應(yīng)用相同的轉(zhuǎn)換。這通常意味著重寫特征工程代碼,有時會使用不同的語言,將其集成到預(yù)測工作流程中,然后在預(yù)測時運行代碼。整個過程不僅耗時,還可能導(dǎo)致不一致,因為即使數(shù)據(jù)轉(zhuǎn)換中最微小的變化,也可能對預(yù)測產(chǎn)生很大影響。

為了解決這些問題,機器學(xué)習(xí)團隊有時會構(gòu)建一個特征庫,這是一個中央存儲庫,他們可以在其中保存和檢索培訓(xùn),并預(yù)測工作中使用的工程數(shù)據(jù)。它與特征庫一樣有用,但構(gòu)建和管理自己的特征庫需要大量的工程、基礎(chǔ)設(shè)施和運營工作,從而使實際機器學(xué)習(xí)工作花費寶貴的時間。客戶要求我們提供更好的解決方案,所以我們必須照做。

推出Amazon SageMaker特征庫

Amazon SageMaker特征庫是一個完全托管的機器學(xué)習(xí)功能集中式存儲庫,使您無需管理任何基礎(chǔ)設(shè)施即可輕松安全地存儲和檢索功能。它是我們面向機器學(xué)習(xí)的完全托管服務(wù)Amazon SageMaker的一部分,并支持所有算法。它還與我們基于Web的機器學(xué)習(xí)開發(fā)環(huán)境Amazon SageMaker Studio集成。

SageMaker特征庫中存儲的要素按組組織,并使用元數(shù)據(jù)進行標記。因此,您可以快速發(fā)現(xiàn)哪些功能可用,以及它們是否適合您的模型。多個團隊還可以輕松共享和重復(fù)使用各項功能,從而降低開發(fā)成本并加速創(chuàng)新。

存儲后,您可以在SageMaker工作流中檢索并使用以下功能:模型培訓(xùn)、批量轉(zhuǎn)換和低延遲實時預(yù)測。您不僅可以避免重復(fù)工作,還可以構(gòu)建一致的工作流,使用存儲在離線和在線存儲中的相同一致功能。

Climate Corporation(以下簡稱Climate)是Bayer的一家子公司,也是為農(nóng)場主帶來數(shù)字創(chuàng)新的行業(yè)領(lǐng)導(dǎo)者。Climate數(shù)據(jù)與分析副總裁Daniel McCaffrey表示:“在Climate,我們的信念是,為全球農(nóng)場主提供準確的信息,幫助他們做出數(shù)據(jù)驅(qū)動的決策,從而最大限度地提高他們每一英畝的回報。為了實現(xiàn)這一目標,我們投資了機器學(xué)習(xí)工具等技術(shù),以便使用稱之為功能的可衡量實體構(gòu)建模型,例如種植者田地的產(chǎn)量。借助Amazon SageMaker特征庫,我們可以通過中央特征庫加速機器學(xué)習(xí)模型的開發(fā),以便在多個團隊中輕松訪問和重復(fù)使用功能。SageMaker特征庫使用在線存儲輕松實時訪問各項功能,或者使用離線存儲針對不同的用例按計劃運行各項功能,從而使我們可以更快地開發(fā)機器學(xué)習(xí)模型。”

全球領(lǐng)先的尋找和管理高質(zhì)量家庭護理的平臺Care.com也在使用Amazon SageMaker特征庫。這就是Care.com數(shù)據(jù)科學(xué)經(jīng)理Clemens Tummelthammer告訴我們的:“一個供需平衡的強大護理行業(yè),對于從個體家庭到全國國內(nèi)生產(chǎn)總值的經(jīng)濟增長都至關(guān)重要。我們對Amazon SageMaker特征庫和Amazon SageMaker管道感到興奮,因為我們相信,它們將通過使用一組一致的精選數(shù)據(jù),幫助我們在數(shù)據(jù)科學(xué)和開發(fā)團隊中更好地實現(xiàn)擴展,我們可以使用這些數(shù)據(jù)構(gòu)建從數(shù)據(jù)準備到部署的可擴展端到端機器學(xué)習(xí)模型管道。借助Amazon SageMaker新公布的功能,我們可以加快針對不同應(yīng)用程序的機器學(xué)習(xí)模型的開發(fā)和部署,通過更快的實時推薦幫助客戶作出更明智的決策?!?/span>

現(xiàn)在,讓我們看看如何開始使用。

使用Amazon SageMaker特征庫和檢索功能

在數(shù)據(jù)上運行特征工程代碼后,您可以通過將設(shè)計的功能分組到功能組中,在SageMaker特征庫中組織和存儲這些功能。功能組是記錄的集合,類似于表中的行。每條記錄都有一個唯一標識符,并保存原始數(shù)據(jù)源中其中一個數(shù)據(jù)實例的工程功能值。或者,您可以選擇使用自己的AWS Key Management Service(KMS)密鑰加密靜態(tài)數(shù)據(jù),該密鑰對每個功能組都是唯一的。

如何定義功能組取決于您。例如,您可以為每個數(shù)據(jù)源(CSV文件、數(shù)據(jù)庫表等)創(chuàng)建一個數(shù)據(jù)源,然后使用方便的唯一列作為記錄標識符(主鍵、客戶ID、事務(wù)ID等)。

確定您的小組后,您應(yīng)該為每個小組重復(fù)以下步驟:

1.使用記錄中每個功能的名稱和類型(分數(shù)、積分或字符串)創(chuàng)建功能定義。

2.使用create_feature_group()API創(chuàng)建每個功能組:

sm_feature_store.create_feature_group (

     # 功能組的名稱

     FeatureGroupName=my_feature_group_name,

     # 充當(dāng)記錄標識符的列的名稱

     RecordIdentifierName=record_identifier_name,

     # 作為功能時間戳的列操作的名稱

     EventTimeFeatureName = event_time_feature_name,

     # 功能名稱和類型列表

     FeatureDefinitions=my_feature_definitions,

     # 離線功能存儲的 S3 位置

     OnlineStoreConfig=online_store_config,

     # 或者,啟用在線特征庫

     OfflineStoreConfig=offline_store_config,

     # 一個 IAM 角色

     RoleArn=role

)

在每個功能組中,使用put_record()API存儲包含功能名稱/功能值對集合的記錄:

sm_feature_store.put_record(

   FeatureGroupName=feature_group_name,

   Record=record,

   EventTime=event_time

)

為了加快攝取速度,您可以創(chuàng)建多個線程并行化此操作。

此時,Amazon SageMaker特征庫中將提供各種功能。借助此離線庫,您可以使用Amazon Athena、AWS Glue或Amazon EMR等服務(wù)來構(gòu)建培訓(xùn)數(shù)據(jù)集:獲取S3中對應(yīng)的JSON對象,選擇所需的功能,然后按照ML算法所期望的格式將它們保存在S3中。從那時起,SageMaker就像往常一樣!

此外,您可以使用get_record()API訪問存儲在線庫中的單個記錄、傳遞組名稱和要訪問記錄的唯一標識符,如下所示:

record = sm_feature_store.get_record(

    FeatureGroupName=my_feature_group_name,

    RecordIdentifierValue={"IntegralValue": 5962}

)

Amazon SageMaker特征庫旨在快速高效地訪問實時推斷,15千字節(jié)有效負載的P95延遲低于10 ms。這樣就可以在預(yù)測時查詢工程特征,并將上游應(yīng)用程序發(fā)送的原始功能替換為用于培訓(xùn)模型的完全相同功能。通過設(shè)計消除了功能不一致問題,讓您可以專注于構(gòu)建最佳模型而不是追逐錯誤。

最后,由于SageMaker特征庫包含功能創(chuàng)建時間戳,因此您可以在特定時間點檢索功能的狀態(tài)。

由于Amazo SageMaker特征庫與SageMaker Studio集成,我可以在那里看到我的兩個功能組。

Capture-d%E2%80%99e%CC%81cran-2020-11-27-a%CC%80-14.49.01-1024x344.png

右鍵單擊“Open feature group detail”(打開功能組詳細信息),打開身份功能組。

Capture-d%E2%80%99e%CC%81cran-2020-11-27-a%CC%80-14.52.37.png

我可以看到功能定義。

Capture-d%E2%80%99e%CC%81cran-2020-11-27-a%CC%80-14.57.03.png

最后,我可以為離線庫生成查詢,可以將這些查詢添加到Amazon SageMaker Data Wrangler工作流程中,以便在培訓(xùn)之前加載功能。

Capture-d%E2%80%99e%CC%81cran-2020-11-27-a%CC%80-14.57.17.png

如何開始使用Amazon SageMaker特征庫

如您所見,SageMaker特征庫使您可以輕松存儲、檢索和共享培訓(xùn)和預(yù)測工作流程所需的功能。

SageMaker特征庫在所有提供SageMaker的區(qū)域都可用。定價基于功能讀取和寫入以及存儲的數(shù)據(jù)總量。

立即登錄,閱讀全文
AWS
版權(quán)說明:
本文內(nèi)容來自于AWS,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多