Amazon SageMaker Canvas 初探
編輯導(dǎo)語:作為一款0代碼機(jī)器學(xué)習(xí)智能工具,Amazon SageMaker Canvas 在使用上會(huì)給用戶帶來什么不一樣的感受?本篇文章里,作者從“新手模式”、“上帝模式”等角度切入對(duì)該款產(chǎn)品進(jìn)行了體驗(yàn)測(cè)評(píng),一起來看。
Amazon SageMaker Canvas 是本次測(cè)評(píng)的產(chǎn)品,主要用于提供“無代碼”構(gòu)建人工智能模型的能力。為了明確當(dāng)前的產(chǎn)品優(yōu)勢(shì)并提出改進(jìn)建議,這個(gè)評(píng)測(cè)從“新手模式”和“上帝模式”來描述整體的使用體驗(yàn)。
Amazon SageMaker Canvas 是來自亞馬遜云科技公有云的一款 SaaS 化的產(chǎn)品。而國內(nèi)的朋友可能使用國內(nèi)的公有云上的 SaaS 軟件更多。
雖然從產(chǎn)品的基本使用邏輯上看,不管來自哪家的產(chǎn)品都是差不多的。但是,由于是國外廠商的產(chǎn)品,在具體設(shè)計(jì)上與國內(nèi)公有云的產(chǎn)品還是多少有點(diǎn)差異的。這可能是國內(nèi)的朋友們使用這塊產(chǎn)品遇到的一個(gè)“小門檻”。
接下來就開始正式的使用體驗(yàn)。因?yàn)槌跏蓟牟糠峙c SageMaker 關(guān)系不大,先開啟“上帝模式”。
一、開始“云上之旅”
大賽的測(cè)評(píng)要求是從產(chǎn)品、運(yùn)營、交互等角度給出使用體驗(yàn)評(píng)測(cè)或者優(yōu)化意見。但是作為一款云上的產(chǎn)品,在開始階段都要經(jīng)歷一段“開始云上之旅”的過程。這段過程與具體公有云平臺(tái)和具體產(chǎn)品關(guān)系不大,是在云上使用產(chǎn)品的必經(jīng)之旅。
當(dāng)然,我自己在這個(gè)環(huán)節(jié)也遇到了一些小插曲,會(huì)在下面分享。
1. 注冊(cè)與支付方式
從注冊(cè)和開通的方式上看, Amazon SageMaker Canvas 與國內(nèi)公有云的交互邏輯大體相同。但國外的公有云基本都是依賴信用卡支付的,并且有些是不支持銀聯(lián)的,僅支持 Visa 和 MasterCard ,比如微軟的 Azure 。
這可能是國內(nèi)的朋友們體驗(yàn)國外產(chǎn)品的一個(gè)門檻。而好在 Amazon SageMaker Canvas 可以直接用銀聯(lián)卡,我自己綁定的就是銀聯(lián)的信用卡。當(dāng)然相比之下,還是咱們國內(nèi)公有云的支付手段更便捷。
頁面交互的布局與國內(nèi)公有云基本相同,一路跟著引導(dǎo)走,倒也不太需要太專業(yè)的知識(shí)。這部分采用“新手模式”完全可以搞定。完成注冊(cè)后登陸控制臺(tái),頂部是整個(gè)平臺(tái)的頂級(jí)菜單。到這里,注冊(cè)這個(gè)步驟就算順利結(jié)束了。
2. 登錄控制臺(tái)并開通產(chǎn)品
控制臺(tái)(Console)是云平臺(tái)比較常見的一個(gè)概念。一方面是監(jiān)控所有已經(jīng)購買的資源,另一方面是給其他子產(chǎn)品提供了入口。
正規(guī)的入口是通過 亞馬遜云科技控制臺(tái),依次選擇 服務(wù)?→ Machine Learning?→ Amazon SageMaker 來訪問 Amazon SageMaker 。這個(gè)路徑對(duì)于明確知道自己要使用的是一個(gè)機(jī)器學(xué)習(xí)的產(chǎn)品的朋友,還是比較好找的。
這里出現(xiàn)了一個(gè)小插曲。我一開始通過 Amazon SageMaker 這個(gè)關(guān)鍵詞直接進(jìn)入了 Amazon SageMaker 這個(gè)產(chǎn)品。后來發(fā)現(xiàn)沒有 Canvas 選項(xiàng),才意識(shí)到可能是某些操作出了問題。
看了主辦方提供的文檔之后,才發(fā)現(xiàn)是選錯(cuò)了區(qū)。可能有不少小伙伴跟我一樣,在第一次注冊(cè)時(shí)候自動(dòng)分配到了國內(nèi)的香港區(qū)。后來切換到了美國的 us-east-1 區(qū),然后就能看到關(guān)于 Amazon SageMaker Canvas 了。另外有一個(gè)小問題,就是切換到美東區(qū)后偶爾會(huì)遇到網(wǎng)絡(luò)會(huì)不穩(wěn)定,多刷新幾次就行了。
在切換區(qū)之后,語言可能就變成了“English(US)”。還要繼續(xù)用中文的話,可以通過頂部菜單右上角的“設(shè)置”中切換語言。
切換區(qū)域之后,懶得再從菜單進(jìn)了,直接通過控制臺(tái)頂部的搜索框輸入關(guān)鍵詞來進(jìn)入 SageMaker 。這也是控制臺(tái)通常都會(huì)提供的功能。
順帶一提,如果你跟我一樣首選語言用的是“中文(簡(jiǎn)體)”,那么 SageMaker Canvas 的中文名叫 “SageMaker 畫布” 。這個(gè)名字倒是很符合“無代碼”的意思。
3. 創(chuàng)建 Amazon SageMaker 域
接下來,又是一個(gè)對(duì)于非技術(shù)用戶比較有難點(diǎn)的事情,就是為使用 SageMaker 這個(gè)產(chǎn)品初始化一些配置。主要是為這個(gè)產(chǎn)品配置子賬號(hào)和角色,用來分配數(shù)據(jù)讀寫等權(quán)限,并配置相應(yīng)的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源。在國內(nèi)的公有云平臺(tái)也會(huì)有類似的操作,只不過體驗(yàn)做的比較好的話,會(huì)提供一套默認(rèn)的初始化配置。
簡(jiǎn)單理解,創(chuàng)建了一個(gè) SageMaker 域,就相當(dāng)于與給你的 SageMaker 分配了一臺(tái)“微型電腦”,用來進(jìn)行所有后續(xù)的模型設(shè)計(jì)和訓(xùn)練等操作。
亞馬遜云科技的設(shè)計(jì)對(duì)于小白用戶稍微有些門檻,因?yàn)槟憧赡懿⒉荒芾斫膺@一步是要做什么。當(dāng)然,直接點(diǎn)擊“提交”對(duì)于小白用戶來說也并沒有帶來什么困擾。
但是如果你是具有技術(shù)背景的專業(yè)型用戶,同時(shí)還有很明確的配置訴求,那么“標(biāo)準(zhǔn)配置”的模式可能更適合你。因?yàn)槟憧梢栽谶@里修改成自己想要的配置,從權(quán)限到網(wǎng)絡(luò)存儲(chǔ)等基本配置都能掌控。
當(dāng)然如果你像我一樣是個(gè)強(qiáng)迫癥,改掉 default 換一個(gè)更有意義的名字可能才是頭等大事。
到這一步結(jié)束了嗎?還沒。
看到頁面上方的藍(lán)色條幅了嗎?根據(jù)剛才的配置, 亞馬遜云科技正在為你創(chuàng)建相關(guān)的用戶、角色,分配權(quán)限和資源等。同時(shí)域的狀態(tài)一欄也顯示為“Pending”。這個(gè)過程中我們做不了什么,等著吧。
到這一步,看到綠色條幅提示,并且下面域的狀態(tài)也變成了 Ready ,才算真正可以使用了。
總結(jié)起來,整個(gè)注冊(cè)過程的流程圖如下:
整個(gè)初始化過程對(duì)于小白用戶可能有些云里霧里,但是無可厚非,因?yàn)槠渌性飘a(chǎn)品基本也是這樣的。好在這些配置都是一次性的,如果沒有修改配置的訴求,那么以后再也不會(huì)經(jīng)歷這個(gè)過程了。不過,如果能通過沙盒環(huán)境或者 Demo ,讓小白用戶更快上手,可能就更好了。
二、開始使用 SageMaker Canvas
從左面的菜單看, SageMaker 提供了多種開發(fā)工具環(huán)境:
- “Studio”對(duì)應(yīng)的是做算法的朋友比較熟悉的 Jupyter Notebook (版本 1.2.21) 。由于不是本次評(píng)測(cè)的重點(diǎn)就簡(jiǎn)單看了下,開發(fā)語言用的是 Python 3.7.10 ,環(huán)境是 Anaconda 4.6.14;
- “RStudio”對(duì)應(yīng)的應(yīng)該是數(shù)據(jù)分析師朋友可能更熟悉一點(diǎn)的 R 語言環(huán)境。但是不知道問什么,我沒打開;
- “畫布”就是我們本次要評(píng)測(cè)的 Canvas 了。
順帶一提,下面的“圖像”,英文原詞是“Images”。按國內(nèi)的用詞習(xí)慣,可能翻譯成“鏡像”更合適一些。
1. 啟動(dòng) Canvas
Canvas 的入口在“用戶”列表中的操作列中,從下拉框里選擇“畫布”即可。如果你也想我一樣創(chuàng)建了多了個(gè)用戶,選擇自己需要用的那個(gè)用戶。
之后是一段過場(chǎng)動(dòng)畫。這個(gè)過長(zhǎng)我還是等了一些時(shí)間的,大概幾分鐘的樣子。這部分應(yīng)該包括了創(chuàng)建和啟動(dòng)應(yīng)用實(shí)例,另外就是網(wǎng)絡(luò)穩(wěn)定性可能導(dǎo)致一些延遲。不行就多等等,或者刷新一下。
進(jìn)入到下面這頁面,我們就正式開始使用 Canvas 了。有點(diǎn)意外的是,視覺設(shè)計(jì)風(fēng)格與亞馬遜云科技完全不同,似乎更 Flat 了一些。
到這里我們繼續(xù)開啟“新手模式”,完全按照頁面提示來操作。點(diǎn)擊頁面主區(qū)域的“+ New Model”,開始創(chuàng)建我們的第一個(gè)模型。
不過看看左面菜單,提供了兩個(gè)主要功能,一個(gè)是模型(Models),一個(gè)是數(shù)據(jù)集(Datasets)。做算法的同學(xué)在實(shí)際工作中大量精力需要鋪在數(shù)據(jù)處理上,因此直接新建模型隱隱感覺可能會(huì)遇到數(shù)據(jù)的問題,而且對(duì)于非算法背景的同學(xué),與數(shù)據(jù)的互動(dòng)可能也是比較吃力的一點(diǎn)。
接下來就看 Canvas 是如何解決這個(gè)問題的。
新建模型后, Canvas 按照常規(guī)操作提供了新手引導(dǎo)(intro)??戳讼拢m然只是靜態(tài)的截圖,但是確實(shí)把使用 Canvas 進(jìn)行建模的全過程介紹清楚了。其中第一步就提到了前面擔(dān)心的問題,也就是數(shù)據(jù)的問題如何解決。
如果關(guān)閉了操作引導(dǎo)之后還想再看一次,可以從左邊菜單中選擇“Help”,就又能看到這個(gè)彈窗了。
不過咱就是說,這個(gè)截圖里的圖標(biāo)裂了,官方修復(fù)一下呀 ~
2. 開始建立模型
關(guān)閉引導(dǎo)之后,就正式開始建模了。通過頁面可以看到一個(gè) Model 包括 4 個(gè)部分:
① Select 代表導(dǎo)入和管理訓(xùn)練數(shù)據(jù)集
② Build 代表建模的過程,主要用于確定算法模型中的預(yù)測(cè)目標(biāo)
③ Analyze 代表對(duì)模型的分析和評(píng)價(jià),包括準(zhǔn)確率和貢獻(xiàn)度等
④ Predict 代表模型部署后對(duì)真實(shí)數(shù)據(jù)集做預(yù)測(cè)
1)準(zhǔn)備數(shù)據(jù)集
這里我們采用一個(gè)公開數(shù)據(jù)集,是關(guān)于共享單車的需求量的:https://www.kaggle.com/competitions/bike-sharing-demand 。
選擇其中的訓(xùn)練集 train.csv 和測(cè)試集 test.csv ,通過 Amazon S3 將數(shù)據(jù)文件上傳到一個(gè) Bucket (這一段具體步驟略過)。切換到“Select”頁簽下,點(diǎn)擊“Import Data to Canvas”,就能看到導(dǎo)入數(shù)據(jù)的指引了。這里直接選擇 Amazon S3 方式,選擇上傳的數(shù)據(jù)文件。
這一步怎么評(píng)價(jià)呢?也算是使用云產(chǎn)品的基本操作吧。不過可能會(huì)讓不少小白用戶再次遇到一個(gè)坎。如果能在 Canvas 內(nèi)部提供與 S3 之間的數(shù)據(jù)同步功能,可能體驗(yàn)會(huì)更好。雖然 Canvas 這里也確實(shí)提供了 Upload 方式,但是需要先配置與其他存儲(chǔ)介質(zhì)的鏈接參數(shù)。實(shí)話實(shí)說,這對(duì)于小白來說就有些“硬核”了。
2)Build 階段
導(dǎo)入并選擇數(shù)據(jù)集之后就進(jìn)入了 Build 階段了。模型數(shù)據(jù)集中的字段包括:
- datetime – hourly date + timestamp
- season – 1 = spring, 2 = summer, 3 = fall, 4 = winter
- holiday – whether the day is considered a holiday
- workingday – whether the day is neither a weekend nor holiday
- weather – 1: Clear, Few clouds, Partly cloudy, Partly cloudy, 2: Mist + Cloudy, Mist + Broken clouds, Mist + Few clouds, Mist, 3: Light Snow, Light Rain + Thunderstorm + Scattered clouds, Light Rain + Scattered clouds, 4: Heavy Rain + Ice Pallets + Thunderstorm + Mist, Snow + Fog
- temp – temperature in Celsius
- atemp – “feels like” temperature in Celsius
- humidity – relative humidity
- windspeed – wind speed
- casual – number of non-registered user rentals initiated
- registered – number of registered user rentals initiated
- count – number of total rentals
這里我們選擇預(yù)測(cè)的目標(biāo)字段是 count 。在模型類型(Model Type)中選擇數(shù)值預(yù)測(cè)(Numeric prediction)(暫時(shí)忽略那個(gè)小三角警告)。
在實(shí)際創(chuàng)建模型之前, Canvas 提供了預(yù)覽模型效果的功能。點(diǎn)擊“Preview model”,下方會(huì)展示均方根誤差(RMSE)和特征貢獻(xiàn)度(Column Impact)。
接下來我們正式構(gòu)建模型,點(diǎn)擊“Quick build”。之后還是要等一下。
3)模型分析
完成模型構(gòu)建后,我們就能在 Analyze 菜單中看到模型的各方面情況了。主要包括整體情況(Overview)和評(píng)分(Scoring)兩部分。實(shí)話實(shí)說,這塊我就不是很專業(yè)了哈哈哈,所以也就不瞎解讀了。
最后再說一點(diǎn),就是在 Scoring 頁簽下還有一個(gè) Advanced metrics 入口。如果你沒有找到自己想看的指標(biāo),可以在這里再找一下。
4)模型預(yù)測(cè)
我們假設(shè)模型的訓(xùn)練結(jié)果看起來一切良好,那么接下來就是實(shí)際使用這個(gè)模型做預(yù)測(cè)了。
切換到 Predict 頁簽,在選擇數(shù)據(jù)集中點(diǎn)擊 Select dataset ,選中前面已經(jīng)準(zhǔn)備好的 test.csv 。
這時(shí)出現(xiàn)了第二個(gè)小插曲:test.csv 中沒有 casual 和 registered 兩個(gè)字段,導(dǎo)致這個(gè)數(shù)據(jù)集不能用。
只好在自己電腦上處理了一下 test.csv ,“偽造”了兩列并重新上傳,這樣就可以用了。
點(diǎn)了 Generate predictions 之后,模型就開始做預(yù)測(cè)了。預(yù)測(cè)的過程還是挺快的,但是到這里,交互邏輯與前面幾個(gè)步驟稍微有點(diǎn)不一樣了。我以為預(yù)測(cè)的詳細(xì)結(jié)果會(huì)直接出現(xiàn)在頁面的下方,結(jié)果收到了一條通知,說預(yù)測(cè)結(jié)果已經(jīng)完事了。好在這個(gè)通知是不會(huì)自動(dòng)關(guān)閉的,不然可能不少小白會(huì)停留在這里不知所措了。
當(dāng)然,從預(yù)測(cè)這件事本身出發(fā),我是可以理解這個(gè)設(shè)計(jì)的。畢竟可能需要用一個(gè)模型對(duì)多個(gè)數(shù)據(jù)集做預(yù)測(cè)。以列表的形式確實(shí)更容易管理所有的預(yù)測(cè)動(dòng)作和結(jié)果。
點(diǎn)擊通知中的 View 之后,我們就看到預(yù)測(cè)結(jié)果了。
當(dāng)然,更正式的方式是從頁面下方的列表中,點(diǎn)擊 View 按鈕。
至此,一個(gè)基本的機(jī)器學(xué)習(xí)模型的全過程就結(jié)束了。其實(shí),在頁面的最上方,模型名稱的右邊,還提供了對(duì)于模型的版本管理和分享等功能。我們可以不斷搜集新數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,并通過版本保留之前訓(xùn)練的模型。
三、總結(jié)
1. 上手門檻
從整體看使用難度并不高,Canvas 確實(shí)做到了“無代碼”。所有的數(shù)據(jù)、訓(xùn)練和預(yù)測(cè)工作可以通過交互界面完成。當(dāng)然,前提是你需要了解機(jī)器學(xué)習(xí)建模的基本步驟和含義。
不過,在前面的評(píng)測(cè)中也提到了,作為一款公有云上的 SaaS 產(chǎn)品,對(duì)公有云上的存儲(chǔ)、計(jì)算、權(quán)限管控等相關(guān)子系統(tǒng)、子產(chǎn)品也是有依賴的。這意味著,在必要的時(shí)候,你需要了解并使用其他子系統(tǒng)、子產(chǎn)品,才能完成一個(gè)使用流程。我們?cè)谠u(píng)測(cè)開頭區(qū)分了“新手模式”和“上帝模型”。下面我就列舉一下在整個(gè)評(píng)測(cè)過程中,分別涉及到哪些環(huán)節(jié):
- 【新手模式】賬號(hào)注冊(cè);
- 【新手模式】綁定支付方式;
- 【上帝模式】初始化 SageMaker ,創(chuàng)建必要的用戶、角色;
- 【上帝模式】如果處在沒有提供 Canvas 的區(qū),需要手動(dòng)切區(qū);
- 【上帝模式】通過 Amazon S3 上傳需要的數(shù)據(jù)到某個(gè) Bucket ;也可以選擇通過鏈接參數(shù)連接到 Snowflake 或者 Redshift ;
- 【新手模式】選擇已經(jīng)上傳的數(shù)據(jù)集;
- 【新手模式】選擇要預(yù)測(cè)的數(shù)據(jù)字段;
- 【新手模式】切換模型類型,或者預(yù)覽模型的效果;
- 【新手模式】啟動(dòng)模型訓(xùn)練,等待訓(xùn)練完成;
- 【新手模式】查看訓(xùn)練結(jié)果;
- 【新手模式】進(jìn)行模型預(yù)測(cè)。
從比例上看,也印證了整體使用難度不高的結(jié)論。希望亞馬遜云科技能在與 S3 等系統(tǒng)的聯(lián)動(dòng)方面進(jìn)一步降低使用難度,這樣對(duì)非技術(shù)背景的產(chǎn)品、運(yùn)營朋友們可能更容易上手使用。
2. 功能建議
作為一款主打“無代碼”建模的機(jī)器學(xué)習(xí)平臺(tái), Canvas 確實(shí)覆蓋了一個(gè)機(jī)器學(xué)習(xí)模型從數(shù)據(jù)到應(yīng)用的全主干流程。但也不可否認(rèn),Canvas 中的每個(gè)環(huán)節(jié)其實(shí)可以做得更“寬”一些,通過默認(rèn)值的方式兼顧純粹的新手用戶和稍微有一點(diǎn)“探索精神”的入門級(jí)用戶。
就比如,上傳到 S3 的數(shù)據(jù)文件由于遇到了字段不一致的小插曲,需要進(jìn)行修改。但是我卻沒有找到能在線上直接處理數(shù)據(jù)集的地方。不管是修改數(shù)據(jù)集文件,還是在模型訓(xùn)練的時(shí)候指定數(shù)據(jù)集中的字段,這兩個(gè)功能都沒找到。如果確實(shí)還沒有加的話,我建議 Canvas 考慮下加上這個(gè)功能。
如果你覺得它相比 Jupyter Notebook 這種平臺(tái)功能不夠豐富強(qiáng)大,確實(shí),不過可以看出這兩個(gè)平臺(tái)本來的定位就是面向不同人群的。
我覺得 Canvas 在嘗試做的,是向“非算法專業(yè)”的用戶屏蔽底層的復(fù)雜性,只把真正需要“人”來決定的事情暴露出來。
當(dāng)然這種嘗試在專業(yè)用戶眼中可能是“不完美”的,甚至是“漏洞百出”的。從我自身的工作經(jīng)歷中也能體會(huì)到,當(dāng)我們想把幾行代碼就能搞定的事情變成交互功能提供給不懂代碼的人時(shí),可能反而把簡(jiǎn)單的事情復(fù)雜化了。但也正是這種不完美的現(xiàn)狀,給我們繼續(xù)去探索問題本質(zhì)和了解用戶訴求增添了一份動(dòng)力。
作者:李陽
本文由 @御豪同學(xué) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
- 目前還沒評(píng)論,等你發(fā)揮!