在目前待領的團隊,小弟有幸參與到 AI 落地的過程,之前也參與過幾次 AI 服務導入的和製作出 AI 產品應用的經驗,這邊就提出些簡單分享,跟大家說說,為何 AI 落地有這麼難
ChatGPT 幾乎成為這幾天大家刷版面的資訊,官方網站其實有提到 Chat-GPT 的參考模式是怎麼進行的,也有提供相關的論文參考,
https://openai.com/blog/chatgpt/
ChatGPT 幾乎成為現象級的影響
如果你還沒試用過,我建議你真的玩玩看,
在 AI 落地的階段,有許多工程的過程,還有許多現實需要面對,而這煉成的過程都很容易導致 AI 落地失敗,
更不用說像是 ChatGPT 這種十年磨一劍的應用服務,為什麼驚艷,
- 中英文,簡中繁中等均能 80% 的機率識別問題及主題對話
- 回應內容,英文的部分不意外的通順,簡中繁中的部分有些詞語是有做過調整的,這實屬難得。
- 對於資料上下文關聯度,以及變化形式在主題式的發展下均能有效地回應且呈現。
- 呈現格式可以以『摘要、表格、條列』等方式進行規劃,同時也可以對文字內容進行一定程度的擴張和收斂。
而要做到這些事情,除了大家所熟知的需要不斷的生成模型,訓練模型,不同的模型疊加上去之外。
同時最難也是最複雜的部分,『資料工程的處理』
AI 工程的開始
在我們使用任何一套 AI 框架 Tensorflow / pytorch 之後,無一例外地就會以特定問題解決方案,開始採用不同的現成 Model 進行驗證,在一開始對於初始的 example data / init data 都會有不錯的反應。
接下來問題開始...
當我們天馬行空的,不斷將例外,將特定領域情境涵蓋進去的時候,你就會發現這 model 的準確率下降,接下來就是一連串調整參數的開始,
或者是開始進行特例發想的部分,哪些資料是需要踢除的,哪些項目是需要先排開的,哪些資料是對於訓練本身是有影響的,在這個過程中就已經進入 data engineering 的環節中。
source from 資料科學家的工作日常
資料工程的處理
大家所想像的,在建立模型的時候似乎就是不斷地調參數,不斷的運作程式,但在這之前,有『好多好多好多好多』資料前處理,資料搜集,資料配對的過程要先進行,這些都是屬於 ETL (抽取、轉換、載入)的過程。
而通常這些資料轉換的過程,也不會是那種數千筆數萬筆的資而已,而是可能一大包資料,不斷的都需要被清理,或者資料是透過不斷的一直運送進來,要透過 streaming 的方式進行資料的清洗。
當然 AWS / GCP / Azure 都有提供些雲端工具可以進行這類問題的處理,但工具就僅止於工具,重點還是要靠工程師進行邏輯編排,而過程中要如何調整和 debug,和發現 error exception 就是一段艱辛的過程。
而這段工作的範圍,通常都是交由一定開發經驗的資深工程師 / 架構師進行處理。
這些人本身就是一種稀缺,不論在全世界都是。
持續地燒錢和無法預估進度
在做 AI 的過程中,在短時間內很難有直接的收益,也比較難在 2-3 個月中就有一個飛奔式的突破。
從應用,工程,數據, AI 這些人都是成本,且都是不低的成本,而且少了任何一個環節,就無法讓團隊成形。
而在進行資料驗證的過程中,光是儲存本身,資料的維運本身,就已經是一筆不小的開銷,每天都有數 TB 的資料近行 import / export ,同時也有持續不斷的資料傳入,透過 ETL 的方式進行資料清洗,資料儲存,再將特定資料進行快取。
這些都是成本。
最後是 GPU 的選用,自建 GPU 運算,每次運算時總是會需要 GPU 進行運算,而 CPU 和 GPU 運算的效能差異,是 100 倍以上的差距,相信聰明的各位,應該懂要選哪一種。
它的缺點,就是貴!
最後想說的是
這段的過程,也許有人會覺得用現成的服務就可以兜出一系列的應用服務,從某個角度來說沒錯。
但如果你想要達到的是特定領域,或者需要有類似 ChatGPT 這樣的通用型效果,就肯定要面對自建的過程。
更不用說任何的 AI 服務,最後為了要提升服務準確率,最終還是會走到自身資料匯入的過程,只要牽扯到資料匯入,就會開始需要知道整體是怎麼進行運作的機制,才能如預期的導出結果。
這時候就需要大量的『資料,資料,資料,資料』除了有用的資料,和資料清洗的過程之外,此時資料的標註也成了一大問題,這時要如何透過工程進行大量且快速地標註,就是另外一個課題了(有機會我們再來談)。
這一連串,都需要時間的醞釀,也需要工程的緊密配合,
- AI 不跟資料溝通,掛
- AI 不跟後端溝通,掛
- 後端不跟資料溝通,掛
- 前端不跟 AI 了解模式,掛
寫的真讚!👍
回覆刪除