在構思和規劃階段,您將調查機器學習解決方案的元素。在問題取景工作期間,您要以機器學習解決方案為問題建立框架。機器學習問題界定簡介課程會詳細說明這些步驟。在規劃工作期間,您會評估解決方案的可行性、規劃方法和設定成效指標。
雖然機器學習可能是理論上的好解決方案,但您仍需要預估機器學習的實際可行性。舉例來說,解決方案在技術上可能運作良好,卻不切實際或無法導入。下列因素會影響專案的可行性:
- 資料可用性
- 問題難度
- 預測品質
- 技術相關規定
- 費用
資料可用性
機器學習模型所需的資料越完善。他們需要大量高品質的資料,才能進行高品質的預測。解決以下問題有助於判斷您是否擁有訓練模型所需的資料:
數量:您能取得足夠的高品質資料來訓練模型嗎?有標籤的範例是否稀少、難以取得或價格過高?例如,取得加上標籤的醫療圖片或稀有語言的翻譯,是出了名的難度。為了達到良好的預測成效,您需要針對每個標籤,分類模型需要許多範例。如果訓練資料集包含某些標籤的範例,模型就無法進行良好的預測。
提供的功能支援。訓練中使用的所有功能是否在提供時可用?團隊已投入大量時間「訓練」模型,才能瞭解到部分功能在模型需要這幾天後才能使用。
舉例來說,假設模型預測客戶是否會點選網址,而訓練中使用的其中一項功能包含
user_age
。然而,當模型提供預測時,您便無法使用user_age
,原因可能是使用者尚未建立帳戶。法規。獲取及使用資料時須遵循哪些法規和法律要求?例如,某些要求會限制儲存及使用特定類型的資料。
生成式 AI
預先訓練 的生成式 AI 模型通常需要經過精選資料集,才能提升執行特定領域的工作成效。針對以下用途,您可能需要資料集:
-
提示工程、
參數效率調整和
微調。
視應用實例而定,您可能需要 10 至 10,000 個高品質範例,才能進一步修正模型的輸出內容。舉例來說,如果模型需要經過微調,在特定工作中表現較出色,例如回答醫療問題,就需要合適的高品質資料集,該資料集要能代表模型回答的問題類型,以及應回應的答案類型。
下表提供特定技巧修正生成式 AI 模型輸出內容所需的範例數量預估值:
-
最新資訊。預先訓練完成後,生成式 AI 模型就會有固定的知識庫。如果模型領域中的內容經常變更,就必須設法讓模型保持在最新狀態,例如:
- 微調
- 擷取增強生成技術 (RAG)
- 定期預先訓練
做法 | 必要樣本數量 |
---|---|
零樣本提示 | 0 |
少量樣本提示 | 約 10 至 100 秒 |
高效調整參數 1 | 約 100-10,000 秒 |
微調 | 約 1000 到 10,000 秒 (或以上) |
問題難度
問題難度可能很難估算,最初似乎是合理的做法,實際上可能會是開放式研究問題;實際上,哪些是可行且可行的做法,可能會視為不切實際或不實用。回答下列問題有助於評估問題難度:
是否已經解決類似問題?例如,貴機構的團隊是否使用類似 (或相同) 的資料建構模型?貴機構外部的人員或團隊是否已解決類似問題,例如在 Kaggle 或 TensorFlow Hub 上?若是如此,您很可能就能使用模型的某些部分來建構您的模型。
問題性質是否困難?瞭解工作的人類基準可以掌握問題的難度。例如:
- 人類可以將圖片中的動物類型分類,準確度約為 95%。
- 人類能以約 99% 的準確度將手寫數字分類。
上述資料顯示,比起建立將手寫數字分類的模型,建立將動物分類的模型較為困難。
是否有潛在的不肖人士?是否有人會積極嘗試運用您的模型?如果是的話,您將在不斷競爭的情況下更新模型,之後模型可能會遭到濫用。舉例來說,如果有人利用模型建立看似正當的電子郵件,垃圾郵件篩選器就無法找出新型垃圾郵件。
生成式 AI
生成式 AI 模型有潛在安全漏洞,可能會增加問題。
- 輸入來源。輸入內容的來源為何?對抗性提示能提示洩漏訓練資料、前置材料、資料庫內容或工具資訊嗎?
- 輸出用途。如何使用輸出內容?模型會輸出原始內容,還是會有中介步驟測試及驗證該內容是否適當?舉例來說,為外掛程式提供原始輸出內容可能會造成許多安全性問題。
- 微調。若是使用損毀的資料集進行微調,可能會對模型的權重造成負面影響。這類毀損會導致模型輸出不正確、有惡意或偏誤的內容。如先前所述,如要微調資料集,資料集必須通過驗證,才能包含優質範例。
預測品質
請務必審慎考量模型預測對使用者造成的影響,並決定模型所需的必要預測品質。
所需的預測品質會因預測類型而異。例如,針對推薦系統回報違反政策的模型,推薦系統所需的預測品質並不如以往。推薦錯誤的影片可能會導致使用者體驗不佳。然而,如果誤將影片標記為違反平台政策,可能會產生支援費用,甚至可能產生法律服務費用。
您的模型是否需要非常高的預測品質,因為錯誤預測的代價非常高?一般而言,所需的預測品質越高,問題就越難。遺憾的是,當您嘗試改善品質時 專案的報酬率往往會下降舉例來說,如果將模型的精確度從 99.9% 提高到 99.99%,代表專案費用可能會增加 10 倍 (如果時間多於此金額)。
圖 2:隨著必要的預測品質提高,機器學習專案通常需要更多和更多資源。
生成式 AI
分析生成式 AI 輸出內容時,請考量以下幾點:
技術相關規定
模型有幾項技術相關規定,會影響模型的可行性。以下是判斷專案的可行性時,需要解決的主要技術需求條件:
- 延遲時間:延遲時間要求是什麼?預測的提供速度為何?
- 每秒查詢次數 (QPS)。什麼是 QPS 規定?
- RAM 使用量。訓練和提供服務的 RAM 需求為何?
- 平台:模型會在哪裡執行模型?線上 (傳送至 RPC 伺服器的查詢)、WebML (在網路瀏覽器中)、ODML (在手機或平板電腦中) 或離線 (儲存在資料表中的預測)?
可解釋性。預測是否需要可解釋?舉例來說,您的產品需要回答「為什麼特定內容被標示為垃圾內容?」或「為什麼影片被判定為違反平台政策?」等問題。
重新訓練頻率:當模型的基礎資料迅速變更時,則可能需要經常或持續重新訓練。不過,頻繁重新訓練可能會導致成本高昂,這可能會超出更新模型預測結果的好處。
在多數情況下,您可能必須降低模型的品質,才能遵循其技術規格。在這種情況下,您必須判斷是否仍可產生足夠的模型,能夠提供給實際工作環境。
生成式 AI
使用生成式 AI 時,請考慮以下技術相關規定:
- 平台:許多預先訓練模型的大小都不相同,因此可以在多種具有不同運算資源的平台上運作。舉例來說,預先訓練模型的規模從資料中心擴充到手機尺寸一應俱全。選擇模型大小時,必須考量產品或服務的延遲時間、隱私性和品質限制。這些限制通常會發生衝突。例如,隱私權限制可能需要推論在使用者裝置上執行。但是,由於裝置缺乏運算資源,無法產生良好結果,因此輸出品質可能不佳。
- 延遲時間:模型輸入和輸出大小會影響延遲時間。請特別注意,輸出大小對延遲時間的影響程度大於輸入大小。雖然模型可以平行處理輸入內容,但只能依序產生輸出內容。換句話說,為了擷取 500 字或 10 個字的輸入內容,產生 500 字或 10 個字的延遲時間可能相同,但產生 500 字的摘要所需的時間比產生 10 字的摘要要長得多。
- 工具和 API 使用方式模型是否需要使用工具和 API 來完成工作,例如搜尋網際網路、使用計算機,或存取電子郵件用戶端?一般來說,完成工作所需的工具越多,就越有可能傳播錯誤和模型的安全漏洞。
費用
實作機器學習技術是否值得付費?如果機器學習解決方案在實作和維護的費用比其產生 (或節省的費用) 更高,大多數機器學習專案就不會獲得核准。機器學習專案會產生人力和機器費用。
人力成本。有多少人讓專案從概念驗證到正式上線?隨著機器學習專案不斷演進 支出通常會增加例如,相較於建立原型,機器學習專案需要更多人員來部署及維護可用於實際工作環境的系統。請試著估算專案在每個階段需要的角色和角色類型。
機器成本。訓練、部署及維護模型需要大量的運算和記憶體舉例來說,您可能需要 TPU 配額,才能訓練模型及提供預測服務,以及所需的資料管道基礎架構。您可能必須付費才能取得加上標籤的資料或支付資料授權費。訓練模型之前,請考慮先估算用於長期建構及維護機器學習功能的機器成本。
推論費用。模型是否需要進行數百或數千個推論,成本高於產生的收益?
注意事項
如果在先前任一主題中遇到相關問題,實作機器學習解決方案可能會很困難,但若時間緊迫,可能會加重挑戰。請試著根據對問題感知的難度規劃足夠的時間並編列足夠的預算,然後嘗試保留比非機器學習專案更多的營運時間。