iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0

摘要

  這篇文章將介紹這系列內容的撰寫背景與目的,並界定目標讀者,以幫助您判斷自己是否適合閱讀這系列文章,然後簡單概述整系列文章中可能出現的內容。最後,我也將提供這系列文章所參考的書籍,供需要深入了解細節的讀者參考。

為什麼我要寫這系列的文章呢?

在實際應用機器學習的過程中,模型的架構與訓練固然重要,但這僅僅是整個系統中的冰山一角。真正的挑戰在於如何持續有效地佈署、測試與更新模型,而 MLOps (Machine Learning Operations) 就是結合 ML 和 DevOps ,以實現機器學習系統的自動化為目標提出的一系列解決方案 ……

  以上來自這次鐵人賽的參賽文章簡介,但這並不是我決定撰寫這系列文章的真正動機。參賽簡介裡提及的也是坊間書籍常會出現的話語,強調著「 MLOps 的重要性」,儘管會選擇閱讀這類書籍的我們也相信這個領域是重要的,然而閱讀時卻總是難以產生共鳴,只有在面試時被詢問了卻回答不出來的瞬間,才會感受到切身之痛。
  為了讓自己過去累積的作品集能在面試時真正派上用場,而不是卡在詢問基本知識那一關,我決定透過這次鐵人賽的機會學習關於這個領域的知識,並將這個月的目標設定為「在尋求 ML 相關工作時,掌握能順利通過面試的 MLOps 基本概念」。
  我想將學習過程撰寫成文章的理由有二。首先,我相信將知識言語化的過程,同時也是將知識內化的過程,這也是為什麼除了實作之外,我還希望將這知識轉化為文字;其次但也是最重要的一點,是因為從我踏入資訊工程這個領域以來,我受網路上的技術文章幫助良多,或許我的經驗對大多數的人而言微不足道,然而我相信只要能幫上一個人的忙,這次的分享就是值得的。

誰適合閱讀這系列文章?

  這系列文章的目標對象是對機器學習有一定基礎的人,這裡的「一定基礎」指的是:

  • 知道如何使用 conda 或 venv 等任何您慣用的工具來建立 Python 虛擬環境,或使用 Colab 來避免套件汙染環境的問題。
  • 了解建立機器學習系統的完整流程,理解資料清洗、資料預處理、提取特徵值、向量化、訓練模型、預測等一系列操作的概念與目的,也知道如何使用 Python 來達成以上目標。
  • 對於常見的模型有基本的了解。或許不太明瞭 RNN、CNN、LSTM 這些模型背後的演算法或數學原理,但是在聽到是機器學習裡的 CNN 時,知道指的是 Convolutional Neural Network 而不是 Cable News Network,知道它常用於分類問題而非迴歸。

  如果對於前兩項還不甚了解,可以嘗試搜尋並嘗試實作上面的術語,累積一些經驗之後,再回來看這一系列文章。如果對於最後一項還不太了解,我強烈推薦臺大李弘毅老師的機器學習課程,看完課程並完成作業之後,一定能奠基足夠扎實的基礎。

這系列文章會包含哪些內容?

  從第二段的文字中,您大概能預想到這系列的文章並不會從機器學習的基本概念開始,不會提及太多演算法,而是更著重於機器學習模型如何佈署、維護和最佳化等方面。
  我們也不會討論模型該怎麼架構,不會討論怎麼更有效地重用訓練迴圈,不過,我們會討論一些常見的問題解決方案,就像我們在學校的軟體工程上學到的設計模式 (Design Patterns) ,我們將會一起學習的就是這類知識。例如,當我們正面臨數以萬計之多的分類特徵,One-hot 編碼顯然窒礙難行,那我們該如何在降低特徵維度與維持模型的準確性中折衷與權衡?
  在這三十天的旅程中,我們將會一起討論在這些情境下,為什麼某些方案會被棄用,而選擇某些更實際的方案時我們將付出什麼代價,又將得到什麼成果。

參考資料

  這系列文章的內容主要參考 Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and MLOps,目前也有繁體中文的翻譯書可以降低直接啃原文書的壓力。
  最後,為了確保文字的流暢度,雖然並未引用 AI 生成的內容,這系列文章在完成撰寫後,都會交由 AI 進行修飾和潤色。


下一篇
[Day 2] MLOps 是什麼?
系列文
從零開始學 MLOps,一起建立一個自動化機器學習系統吧!12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言