今天,我非常高興地宣布Amazon SageMaker特征庫(kù),一項(xiàng)Amazon SageMaker新功能,它可以使數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)工程師輕松安全地存儲(chǔ)、發(fā)現(xiàn)和共享培訓(xùn)和預(yù)測(cè)工作流程中使用的精選數(shù)據(jù)。
對(duì)于選擇正確算法來(lái)培訓(xùn)機(jī)器學(xué)習(xí)(ML)模型的重要性,經(jīng)驗(yàn)豐富的從業(yè)人員知道提供高質(zhì)量數(shù)據(jù)有多么重要。清理數(shù)據(jù)是很好的第一步,機(jī)器學(xué)習(xí)工作流程通常包括填充缺失值、刪除異常值等步驟。然后,他們經(jīng)常使用被稱(chēng)為“特征工程”的常見(jiàn)技術(shù)和難懂的技術(shù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換。
簡(jiǎn)而言之,特征工程的目的是轉(zhuǎn)換數(shù)據(jù)并增加其表現(xiàn)力,以便算法學(xué)習(xí)得更好。例如,許多列式數(shù)據(jù)集都包含字符串,例如街道地址。對(duì)于大多數(shù)機(jī)器學(xué)習(xí)算法來(lái)說(shuō),字符串毫無(wú)意義,需要以數(shù)字表示形式進(jìn)行編碼。因此,您可以用GPS坐標(biāo)替換街道地址,這是學(xué)習(xí)位置概念更具表現(xiàn)力的方式。換句話(huà)說(shuō),如果數(shù)據(jù)是新的石油,那么特征工程就是將其轉(zhuǎn)化為高辛烷值噴氣燃料的精煉過(guò)程,幫助模型獲得平流層精度。
事實(shí)上,機(jī)器學(xué)習(xí)從業(yè)者花費(fèi)了大量時(shí)間來(lái)制作特征工程代碼、將其應(yīng)用于初始數(shù)據(jù)集、在工程數(shù)據(jù)集上培訓(xùn)模型以及評(píng)估模型準(zhǔn)確性。鑒于這項(xiàng)工作的實(shí)驗(yàn)性質(zhì),即使是最小的項(xiàng)目也會(huì)多次迭代。相同的特征工程代碼通常會(huì)反復(fù)運(yùn)行,這會(huì)浪費(fèi)時(shí)間和計(jì)算資源來(lái)重復(fù)相同的操作。在大型組織中,這可能導(dǎo)致更大的生產(chǎn)力損失,因?yàn)椴煌瑘F(tuán)隊(duì)通常會(huì)運(yùn)行相同作業(yè),甚至由于不了解之前的作業(yè),而編寫(xiě)重復(fù)的特征工程代碼。
機(jī)器學(xué)習(xí)團(tuán)隊(duì)還必須解決另一個(gè)難題。由于模型是在工程數(shù)據(jù)集上培訓(xùn)的,因此必須對(duì)發(fā)送進(jìn)行預(yù)測(cè)的數(shù)據(jù)應(yīng)用相同的轉(zhuǎn)換。這通常意味著重寫(xiě)特征工程代碼,有時(shí)會(huì)使用不同的語(yǔ)言,將其集成到預(yù)測(cè)工作流程中,然后在預(yù)測(cè)時(shí)運(yùn)行代碼。整個(gè)過(guò)程不僅耗時(shí),還可能導(dǎo)致不一致,因?yàn)榧词箶?shù)據(jù)轉(zhuǎn)換中最微小的變化,也可能對(duì)預(yù)測(cè)產(chǎn)生很大影響。
為了解決這些問(wèn)題,機(jī)器學(xué)習(xí)團(tuán)隊(duì)有時(shí)會(huì)構(gòu)建一個(gè)特征庫(kù),這是一個(gè)中央存儲(chǔ)庫(kù),他們可以在其中保存和檢索培訓(xùn),并預(yù)測(cè)工作中使用的工程數(shù)據(jù)。它與特征庫(kù)一樣有用,但構(gòu)建和管理自己的特征庫(kù)需要大量的工程、基礎(chǔ)設(shè)施和運(yùn)營(yíng)工作,從而使實(shí)際機(jī)器學(xué)習(xí)工作花費(fèi)寶貴的時(shí)間??蛻?hù)要求我們提供更好的解決方案,所以我們必須照做。
推出Amazon SageMaker特征庫(kù)
Amazon SageMaker特征庫(kù)是一個(gè)完全托管的機(jī)器學(xué)習(xí)功能集中式存儲(chǔ)庫(kù),使您無(wú)需管理任何基礎(chǔ)設(shè)施即可輕松安全地存儲(chǔ)和檢索功能。它是我們面向機(jī)器學(xué)習(xí)的完全托管服務(wù)Amazon SageMaker的一部分,并支持所有算法。它還與我們基于Web的機(jī)器學(xué)習(xí)開(kāi)發(fā)環(huán)境Amazon SageMaker Studio集成。
SageMaker特征庫(kù)中存儲(chǔ)的要素按組組織,并使用元數(shù)據(jù)進(jìn)行標(biāo)記。因此,您可以快速發(fā)現(xiàn)哪些功能可用,以及它們是否適合您的模型。多個(gè)團(tuán)隊(duì)還可以輕松共享和重復(fù)使用各項(xiàng)功能,從而降低開(kāi)發(fā)成本并加速創(chuàng)新。
存儲(chǔ)后,您可以在SageMaker工作流中檢索并使用以下功能:模型培訓(xùn)、批量轉(zhuǎn)換和低延遲實(shí)時(shí)預(yù)測(cè)。您不僅可以避免重復(fù)工作,還可以構(gòu)建一致的工作流,使用存儲(chǔ)在離線(xiàn)和在線(xiàn)存儲(chǔ)中的相同一致功能。
Climate Corporation(以下簡(jiǎn)稱(chēng)Climate)是Bayer的一家子公司,也是為農(nóng)場(chǎng)主帶來(lái)數(shù)字創(chuàng)新的行業(yè)領(lǐng)導(dǎo)者。Climate數(shù)據(jù)與分析副總裁Daniel McCaffrey表示:“在Climate,我們的信念是,為全球農(nóng)場(chǎng)主提供準(zhǔn)確的信息,幫助他們做出數(shù)據(jù)驅(qū)動(dòng)的決策,從而最大限度地提高他們每一英畝的回報(bào)。為了實(shí)現(xiàn)這一目標(biāo),我們投資了機(jī)器學(xué)習(xí)工具等技術(shù),以便使用稱(chēng)之為功能的可衡量實(shí)體構(gòu)建模型,例如種植者田地的產(chǎn)量。借助Amazon SageMaker特征庫(kù),我們可以通過(guò)中央特征庫(kù)加速機(jī)器學(xué)習(xí)模型的開(kāi)發(fā),以便在多個(gè)團(tuán)隊(duì)中輕松訪(fǎng)問(wèn)和重復(fù)使用功能。SageMaker特征庫(kù)使用在線(xiàn)存儲(chǔ)輕松實(shí)時(shí)訪(fǎng)問(wèn)各項(xiàng)功能,或者使用離線(xiàn)存儲(chǔ)針對(duì)不同的用例按計(jì)劃運(yùn)行各項(xiàng)功能,從而使我們可以更快地開(kāi)發(fā)機(jī)器學(xué)習(xí)模型?!?/span>
全球領(lǐng)先的尋找和管理高質(zhì)量家庭護(hù)理的平臺(tái)Care.com也在使用Amazon SageMaker特征庫(kù)。這就是Care.com數(shù)據(jù)科學(xué)經(jīng)理Clemens Tummelthammer告訴我們的:“一個(gè)供需平衡的強(qiáng)大護(hù)理行業(yè),對(duì)于從個(gè)體家庭到全國(guó)國(guó)內(nèi)生產(chǎn)總值的經(jīng)濟(jì)增長(zhǎng)都至關(guān)重要。我們對(duì)Amazon SageMaker特征庫(kù)和Amazon SageMaker管道感到興奮,因?yàn)槲覀兿嘈?,它們將通過(guò)使用一組一致的精選數(shù)據(jù),幫助我們?cè)跀?shù)據(jù)科學(xué)和開(kāi)發(fā)團(tuán)隊(duì)中更好地實(shí)現(xiàn)擴(kuò)展,我們可以使用這些數(shù)據(jù)構(gòu)建從數(shù)據(jù)準(zhǔn)備到部署的可擴(kuò)展端到端機(jī)器學(xué)習(xí)模型管道。借助Amazon SageMaker新公布的功能,我們可以加快針對(duì)不同應(yīng)用程序的機(jī)器學(xué)習(xí)模型的開(kāi)發(fā)和部署,通過(guò)更快的實(shí)時(shí)推薦幫助客戶(hù)作出更明智的決策?!?/span>
現(xiàn)在,讓我們看看如何開(kāi)始使用。
使用Amazon SageMaker特征庫(kù)和檢索功能
在數(shù)據(jù)上運(yùn)行特征工程代碼后,您可以通過(guò)將設(shè)計(jì)的功能分組到功能組中,在SageMaker特征庫(kù)中組織和存儲(chǔ)這些功能。功能組是記錄的集合,類(lèi)似于表中的行。每條記錄都有一個(gè)唯一標(biāo)識(shí)符,并保存原始數(shù)據(jù)源中其中一個(gè)數(shù)據(jù)實(shí)例的工程功能值?;蛘撸梢赃x擇使用自己的AWS Key Management Service(KMS)密鑰加密靜態(tài)數(shù)據(jù),該密鑰對(duì)每個(gè)功能組都是唯一的。
如何定義功能組取決于您。例如,您可以為每個(gè)數(shù)據(jù)源(CSV文件、數(shù)據(jù)庫(kù)表等)創(chuàng)建一個(gè)數(shù)據(jù)源,然后使用方便的唯一列作為記錄標(biāo)識(shí)符(主鍵、客戶(hù)ID、事務(wù)ID等)。
確定您的小組后,您應(yīng)該為每個(gè)小組重復(fù)以下步驟:
1.使用記錄中每個(gè)功能的名稱(chēng)和類(lèi)型(分?jǐn)?shù)、積分或字符串)創(chuàng)建功能定義。
2.使用create_feature_group()API創(chuàng)建每個(gè)功能組:
sm_feature_store.create_feature_group (
# 功能組的名稱(chēng)
FeatureGroupName=my_feature_group_name,
# 充當(dāng)記錄標(biāo)識(shí)符的列的名稱(chēng)
RecordIdentifierName=record_identifier_name,
# 作為功能時(shí)間戳的列操作的名稱(chēng)
EventTimeFeatureName = event_time_feature_name,
# 功能名稱(chēng)和類(lèi)型列表
FeatureDefinitions=my_feature_definitions,
# 離線(xiàn)功能存儲(chǔ)的 S3 位置
OnlineStoreConfig=online_store_config,
# 或者,啟用在線(xiàn)特征庫(kù)
OfflineStoreConfig=offline_store_config,
# 一個(gè) IAM 角色
RoleArn=role
)
在每個(gè)功能組中,使用put_record()API存儲(chǔ)包含功能名稱(chēng)/功能值對(duì)集合的記錄:
sm_feature_store.put_record(
FeatureGroupName=feature_group_name,
Record=record,
EventTime=event_time
)
為了加快攝取速度,您可以創(chuàng)建多個(gè)線(xiàn)程并行化此操作。
此時(shí),Amazon SageMaker特征庫(kù)中將提供各種功能。借助此離線(xiàn)庫(kù),您可以使用Amazon Athena、AWS Glue或Amazon EMR等服務(wù)來(lái)構(gòu)建培訓(xùn)數(shù)據(jù)集:獲取S3中對(duì)應(yīng)的JSON對(duì)象,選擇所需的功能,然后按照ML算法所期望的格式將它們保存在S3中。從那時(shí)起,SageMaker就像往常一樣!
此外,您可以使用get_record()API訪(fǎng)問(wèn)存儲(chǔ)在線(xiàn)庫(kù)中的單個(gè)記錄、傳遞組名稱(chēng)和要訪(fǎng)問(wèn)記錄的唯一標(biāo)識(shí)符,如下所示:
record = sm_feature_store.get_record(
FeatureGroupName=my_feature_group_name,
RecordIdentifierValue={"IntegralValue": 5962}
)
Amazon SageMaker特征庫(kù)旨在快速高效地訪(fǎng)問(wèn)實(shí)時(shí)推斷,15千字節(jié)有效負(fù)載的P95延遲低于10 ms。這樣就可以在預(yù)測(cè)時(shí)查詢(xún)工程特征,并將上游應(yīng)用程序發(fā)送的原始功能替換為用于培訓(xùn)模型的完全相同功能。通過(guò)設(shè)計(jì)消除了功能不一致問(wèn)題,讓您可以專(zhuān)注于構(gòu)建最佳模型而不是追逐錯(cuò)誤。
最后,由于SageMaker特征庫(kù)包含功能創(chuàng)建時(shí)間戳,因此您可以在特定時(shí)間點(diǎn)檢索功能的狀態(tài)。
由于Amazo SageMaker特征庫(kù)與SageMaker Studio集成,我可以在那里看到我的兩個(gè)功能組。
右鍵單擊“Open feature group detail”(打開(kāi)功能組詳細(xì)信息),打開(kāi)身份功能組。
我可以看到功能定義。
最后,我可以為離線(xiàn)庫(kù)生成查詢(xún),可以將這些查詢(xún)添加到Amazon SageMaker Data Wrangler工作流程中,以便在培訓(xùn)之前加載功能。
如何開(kāi)始使用Amazon SageMaker特征庫(kù)
如您所見(jiàn),SageMaker特征庫(kù)使您可以輕松存儲(chǔ)、檢索和共享培訓(xùn)和預(yù)測(cè)工作流程所需的功能。
SageMaker特征庫(kù)在所有提供SageMaker的區(qū)域都可用。定價(jià)基于功能讀取和寫(xiě)入以及存儲(chǔ)的數(shù)據(jù)總量。