更新於 2024/05/16閱讀時間約 2 分鐘

SageMaker-我該使用Data Wrangler嗎

一.引言

  在上篇我們已經學習到怎麼在 SageMaker 上進行簡易訓練,可以說是踏入了第一步, SageMaker 提供了不少工具用來協助使用者能夠更快速的進行訓練,其中 Data Wrangler 便是用於訓練資料處理的工具,那麼,他好用嗎?必須用嗎?

二.Data Wrangler 介紹

  1. 視覺化數據準備和處理
    • Data Wrangler 提供了直觀的用戶界面,允許用戶拖放操作來進行數據清理、轉換和特徵工程。
    • 可以在介面中查看數據分佈、統計信息和數據質量報告。
  2. 集成多種數據來源
    • 支持從多種數據來源導入數據,包括 Amazon S3、Redshift、RDS、Snowflake 等。
    • 可以輕鬆合併和連接多個數據源。
  3. 多樣的數據轉換操作
    • 提供多種內建的數據轉換和特徵工程操作,如數據篩選、標籤編碼、標準化、缺失值處理等。
    • 支持自定義的 Python 或 SQL 腳本進行高級數據處理。
  4. 自動化和工作流集成
    • 可以將數據準備流程導出為 SageMaker Processing 作業,從而輕鬆集成到機器學習工作流中。
    • 支持自動化數據準備管道,並與 SageMaker 其他功能無縫集成,如訓練和部署。
  5. 可重複和共享
    • 數據處理流程可以保存並重用,還可以與團隊成員共享。

從上方特點來看,適用場景總結如下

  • 非技術用戶或數據科學家希望使用可視化工具進行數據準備和特徵工程。
  • 需要從多種數據源導入和合併數據。
  • 需要快速迭代和可視化數據準備步驟。
  • 需要與 SageMaker 的其他功能無縫集成。

三.原來的數據處理方法

  在沒上雲端之前,進行資料前處理以Pytorch框架為例通常使用下列庫處理不同類型的資料 :

  • 表格資料 : 使用 pandas 進行資料處理和清理,使用 sklearn.preprocessing 進行標準化和類別編碼
  • 影像資料: 使用 torchvision.transform 進行模組化的資料前處理
  • 文字資料 : 使用 torchtext 進行資料集處理和詞彙表建立,使用 transformers 庫進行預訓練模型的應用
  • 聲音資料:使用 torchaudio 進行音訊處理和轉換,使用 librosa 進行特徵提取

  這些庫可以靈活的在訓練前甚至訓練途中實時的對資料進行處理並且與Pytorch的DataLoader快速銜接。

四.總結

  比較兩種方法,SageMaker Data 有優秀的可視化工具,且與 AWS 生態相容性好,至於這些專業的Python庫有著良好的靈活性,且訓練時通常會一併使用,所以以我的角度而言,SageMaker Data 提供了一個好方法能夠減輕AI工程師的負擔,能夠將一部分資料前處理從工作中無痛分割出來交給他人處理,使其能夠更專心地面對網路訓練中的其他問題。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.