whylogs工具庫的工業實踐!機器學習模型流程與效果監控 ⛵
- 💡 作者:韓信子@ShowMeAI
- 📘 機器學習實戰系列:http://www.showmeai.tech/tutorials/41
- 📘 本文地址:http://www.showmeai.tech/article-detail/395
- 📢 宣告:版權所有,轉載請聯絡平臺與作者並註明出處
- 📢 收藏ShowMeAI檢視更多精彩內容
完整的機器學習應用過程,除了資料處理、建模優化及模型部署,也需要進行後續的效果驗證跟蹤和ML模型監控——它能保證模型和場景是保持匹配且有優異效果的。
模型上線後,可能會存在效果下降等問題,面臨資料漂移等問題。詳見ShowMeAI的文章 📘機器學習資料漂移問題與解決方案。
ShowMeAI在這篇文章中,將給大家展示如何使用開源工具庫 whylogs 構建詳盡的 AI 日誌平臺並監控 ML 模型。
💡 日誌系統&模型監控
💦 環境配置
要構建日誌系統並進行模型監控,會使用到開源資料日誌庫📘whylogs,它可以用於捕獲資料的關鍵統計屬性。安裝方式很簡單,執行下列 pip 命令即可
python
pip install "whylogs[whylabs]"
接下來,匯入所用的工具庫whylogs
、pandas
和os
。我們也建立一份 Dataframe 資料集進行分析。
```python import whylogs as why import pandas as pd import os
create dataframe with dataset
dataset = pd.read_csv("http://whylabs-public.s3.us-west-2.amazonaws.com/datasets/tour/current.csv") ```
使用 whylogs 建立的資料配置檔案可以單獨用於資料驗證和資料漂移視覺化,簡單的示例如下:
```python import whylogs as why import pandas as pd
dataframe
df = pd.read_csv("path/to/file.csv") results = why.log(df) ```
這裡也講解一下雲端環境,即把配置檔案寫入 WhyLabs Observatory 以執行 ML 監控。
為了向 WhyLabs 寫入配置檔案,我們將 📘建立一個帳戶(免費)並獲取組織 ID、Key和專案 ID,以將它們設定為專案中的環境變數。
```python
Set WhyLabs access keys
os.environ["WHYLABS_DEFAULT_ORG_ID"] = 'YOURORGID' os.environ["WHYLABS_API_KEY"] = 'YOURACCESSTOKEN' os.environ["WHYLABS_DEFAULT_DATASET_ID"] = 'PROJECTID' ```
💦 新建專案並獲取 ID
Create Project
> Set up model
> Create Project
,整個操作過程如下圖所示:
💦 獲取組織 ID 和訪問 Key
選單 > 設定 > 訪問令牌 > 建立訪問令牌,如下圖所示:
經過這個配置,接下來就可以將資料配置檔案寫入 WhyLabs。
💦 將配置檔案寫入 WhyLabs 以進行 ML 監控
設定訪問金鑰後,可以輕鬆建立資料集的配置檔案並將其寫入 WhyLabs。這使我們只需幾行程式碼即可監控輸入資料和模型預測!
```python
initial WhyLabs writer, Create whylogs profile, write profile to WhyLabs
writer = WhyLabsWriter() profile= why.log(dataset) writer.write(file=profile.view()) ```
我們可以在 pipeline 管道的任何階段建立配置檔案,也就是說可以對每個步驟的資料進行監控。一旦完成將配置檔案寫入 WhyLabs,就可以檢查、比較和監控資料質量和資料漂移。
上述步驟過後,只需單擊一下(或建立自定義監視器)即可啟用預配置的監視器,檢測資料配置檔案中的異常情況。設定常見的監控任務是非常容易的,也可以很清晰快捷地檢測資料漂移、資料質量問題和模型效能。
配置監視器後,可以在檢查輸入功能時對其進行預覽。
當檢測到異常時,可以通過電子郵件、Slack 或 PagerDuty 傳送通知。在設定 > 通知和摘要設定中設定通知首選項。
上述這些簡單的步驟,我們已經完成了從 ML 管道中的任何步驟提取資料、構建日誌和監控分析,並在發生異常時得到通知。
💦 監控模型效能指標
前面看到了如何監控模型輸入和輸出資料,我們還可以通過在預測結果來監控效能指標,例如準確度、精確度等。
要記錄用於監控的效能指標,可以使用why.log_classification_metrics
或why.log_regression_metrics
並傳入包含模型輸出結果的 Dataframe。
```python results = why.log_classification_metrics( df, target_column = "ground_truth", prediction_column = "cls_output", score_column="prob_output" )
profile = results.profile() results.writer("whylabs").write() ```
注意:確保您的專案在設定中配置為分類或迴歸模型。
在下面的示例筆記本中檢視用於效能監控的資料示例。
大家想獲得更多關於監控的示例 notebook 筆記本,可以檢視官方 GitHub 關於 📘分類和 📘迴歸的程式碼。
參考資料
- 📘 機器學習資料漂移問題與解決方案:http://www.showmeai.tech/article-detail/331
- 📘 whylogs:http://github.com/whylabs/whylogs
本文正在參加「金石計劃 . 瓜分6萬現金大獎」
- 感謝飛書放過幕布!100個GPT-4實戰案例;GPT-4免費平替Poe;AI繪畫新手指南之SD篇;new Bing靠譜教程 | ShowMeAI日報
- whylogs工具庫的工業實踐!機器學習模型流程與效果監控 ⛵
- 脈脈瘋傳!2023年程式設計師生存指南;多款prompt效率加倍工具;提示工程師最全祕籍;AI裁員正在發生 | ShowMeAI日報
- 中國風?古典系?AI中文繪圖創作嚐鮮!⛵
- Python中內建資料庫!SQLite使用指南!
- Pandas中你一定要掌握的時間序列相關高階功能
- 資料科學家賺多少?資料全分析與視覺化 ⛵
- 互動式儀表板!Python輕鬆完成!⛵
- ChatGPT!我是你的破壁人;比爾·蓋茨不看好Web3與元宇宙;FIFA押中4屆世界盃冠軍;GitHub今日熱榜 | ShowMeAI資訊日報
- ChatGPT要收費了;華爾街大裁員;阿里2023十大科技趨勢;小紅書元宇宙虛擬服飾被吐槽;GitHub今日熱榜 | ShowMeAI資訊日報
- AI創業時代!這9個方向有錢途;AIGC再添霸榜應用Lensa;美團SemEval2022冠軍方法分享;醫學影象處理工具箱… | ShowMeAI資訊日報
- 噓!P站資料分析年報;各省市疫情感染進度條;愛奇藝推出元宇宙App;You推出AI聊天機器人;GitHub今日熱榜 | ShowMeAI資訊日報
- 美國公司裁員潮時間線◉科技寒冬視覺化;3份報告回顧中國開發者2022;自動駕駛下半場,誰會衝出重圍 | ShowMeAI每週通訊 #005-01.07
- 副業月入過萬?資料有話說;掃地機器人發展到哪步了;疫情後要不要重返辦公室;淘寶元宇宙直播間;GitHub今日熱榜 | ShowMeAI資訊日報
- 大戰谷歌!微軟Bing引入ChatGPT;羊了個羊40萬年薪招研發;Debian徹底移除Python2;GitHub今日熱榜 | ShowMeAI資訊日報
- 酸了!樂視工作制改為四天半;高通新年裁員;AI繪畫公司開始倒閉;網易入股張藝謀元宇宙公司;GitHub今日熱榜 | ShowMeAI資訊日報
- 要麼幹要麼滾!推特開始裁員了;深度學習產品應用·隨書程式碼;可分離各種樂器音源的工具包;Transformer教程;前沿論文 | ShowMeAI資訊日報
- 真實世界的人工智慧應用落地——OpenAI篇 ⛵
- 陽過→陽康,資料裡的時代側影;谷歌慌了!看各公司如何應對ChatGPT;兩份優質AI年報;本週技術高光時刻 | ShowMeAI每週通訊 #003-12.24
- 用魔法打敗魔法!這件毛衣讓攝像頭看不到你;兩款酷炫的AI寫作軟體;快如閃電的B站下載工具;基於擴散模型的蛋白質設計 | ShowMeAI資訊日報