Software is eating the world
早上看到科技部長分享的新聞[1]裡面有這一段來自工研院的評論:「至於AI軟體的部分,他表示,台灣已經錯過了發展軟體的時機,此時若仍抱持著要成為AI軟體大國,打算輸出AI軟體產品的想法,就顯得不切實際了。」
對比公司實際在業界所看到的狀況,對於高位者這樣看台灣的軟體發展覺得桑心又憂心。身為一個迷你到不行的 AI 新創公司創辦人,我或許沒有比新聞裡列出來那些企業老闆更了解國際商業情勢,但至少,我們很接地氣,所以應該有些經驗也值得分享。
DT42 從出生開始是一間純軟體公司,沒有做硬體,也沒有做垂直 solution,是個相當不受台灣投資人青睞的孩子。我們用了一年的時間深入了解 AI 軟體的需求,建立了完整的 end-to-end 解決方案,包含 AI + IoT 軟體平台以及一個人人皆可上手輕易訓練出 AI 模型的界面。
像外星語?OK,讓我舉個簡單的使用範例:現在秋行軍蟲肆虐,政府希望全民動起來,看到蟲蟲就回報,然後你就會收到很多這樣的:
「您好 這不是秋行軍蟲 謝謝」這句話的背後是真實的人。我們假設這些為民服務的辛苦公務人員人事成本一個月六萬,如果有一個三人團隊為兩千萬全民服務,協助大家確認這是皮克斯的蟲蟲危機還是台灣真的蟲蟲危機,一個月的成本就要十八萬 ,錢還只是小事,重點是專業的人力被耗費在這些圖片辨識上,造成的影響與損失不是十八萬的問題而已。
如果用 AI 軟體來解決,我們可以讓秋行軍蟲專家(非 AI 工程師)自己在三天內產出 AI 模型,透過後端設定連結到 LINE chatbot,讓 AI 來過濾圖片,只把對 AI 而言信心度低的結果後送給人做二次判斷,大幅減少人力的耗費,讓專家能更專注在真正的防疫問題上。且透過 LINE chatbot 收集到的資料還可以回饋給 AI 再學習,未來可以把更準確的模型直接搭載到無人機或物聯網裝置上,進行長期防疫抗戰。聽起來很棒,但為什麼不這麼做?因為對政府或大部分的廠商而言,產生一個 AI 解決方案的過程中,仍然有許多軟體問題要解決,而在這個旅程中,如果缺少了像 DT42 這樣的 AI 軟體夥伴,就會是很痛苦的事。
那到底有哪些問題呢?首先複習一下利用 AI 解決問題的基本步驟。這些基本步驟政府經費審查委員常常覺得很簡單,反正高中生都可以用 TensorFlow [3] 做出來,所以不多解釋了。但魔鬼藏在細節裡,通常問題是這樣的:
- 我的資料不容易收集怎麼辦?我們希望秋行軍蟲在尚未肆虐的時候就阻止損失擴大,也就是說,我還沒有看到很多秋行軍蟲的照片,又如何能收集出足量的資料給 AI 學習?基本上可以這樣理解,絕大多數的 AI model 都是從 Google 收集資料來訓練的,如果你的目標不是 Google 上找得到足夠資料的,例如石虎、工廠料件、從車屁股而不是車頭拍照的車牌、年長者跌倒在地上等等,就會在執行的時候遇到這個問題。
- 我沒有人力標注怎麼辦?這裡借用一下我同事的素材,通常電腦視覺上的應用基本有兩種,分類與偵測。分類模型針對一張圖只會回覆一個答案,例如:「這是貓」,但偵測模型會明確給出物體的位置以及類別。所謂 AI 就是你教什麼它就學什麼,所以答案越精細的模型,教他所耗費的人力也就越大。缺乏人力標注大多是兩個狀況:
A. 我就是沒錢想導入 AI 節省人力,哪裡有錢再請人來標注?
B. 目標問題太專業,不是一般人可以標注的。
這個問題很常出現在毛利低的產業或是高度專業領域,例如醫療產業等。
- 沒有軟體工程師幫我跑訓練程式怎麼辦?這個問題就不用多解釋了,所有軟體 PM 都會遇到一樣的難題。BUT!!! AI 跟其他軟體產業有一個很大的差別,通常軟體工程師可以保證寫了以後軟體就會動,但訓練 AI 模型的工程師沒辦法給你這個保證,因為 AI 是 data-driven。也就是說,你的專案好不容易排隊等到 RD 團隊來實做了,很可能三週後他們告訴你模型不準確是因為資料不好標注不夠,你這時心裡已經罵了三輪,但還是得摸摸鼻子想辦法找資料或低頭跟客戶要,因為 AI 就是這樣。這個問題很常出現在初次想導入 AI 的公司、緊急想搶案來不及排隊,或是有個秀展想做點很炫的東西但又不能保證做了成本會回收的時候。
- 硬體平台怎麼選?選定了想換怎麼辦?看到這裡,你可以低頭瞧瞧筆電上的硬體平台貼紙,大概就是 Intel,NVIDIA,或者是 AMD。所以買電腦的時候你從來都不用擔心硬體的選擇問題。但 AI 硬體是一個百家爭鳴的戰場,先不說主流的晶片廠例如上述這三個大角加上 ARM、Qualcomm 等等,還有每年數億美金砸下去投資的 AI 晶片新創們,底下的圖只列出了幾個特別有名的,其他像台灣的耐能智慧[5]、日本的 Leapmind[6]雖然沒有列在上面,但也都各自有發展,總之選擇多到是族繁不足備載。這有什麼影響呢? AI 模型的運算量相當大,所以通常必須使用硬體加速,但每一家的 SDK 各有不同,而且文件相當缺乏,聽起來是不是有點熟悉?對,就是比 Web Development 的世界還要混亂三倍左右。對 RD 團隊來說,如果是好不容易把 AI 模型辛苦套用到 A 硬體上,下週公司又說因為預算或政治考量要換用 B 硬體,這時候寶寶只能心裡苦但寶寶說不出。
我大概還可以列出十個以上不同的問題,包含準確度的驗證、統計信心度的計算等等,但基於篇幅與讀者耐心的考量,就先停在這了。以上這些都是過去三年實際遇到客戶的問題,至於 DT42 怎麼用軟體解決問題,就回到上面那段外星語,細節這裡不贅述。
一個 AI 專案裡面,AI 軟體的經費通常是 AI 硬體的 5–10 倍,因為以上的種種問題都是軟體才能解決的問題。且由於硬體選擇太多,客戶很少非用誰不可,他們不在乎硬體是那家做的,只在乎 AI 軟體公司的軟體是否能被應用在這些硬體上、且符合預期的 CP 值。在 DT42 最常聽到客戶的問題就是:「跟你們配合要用什麼硬體?」所以除了少數大公司砸錢送硬體請大家試吃以外,往往是 AI 軟體在帶動 AI 硬體的選擇,而對硬體是否能有廣泛多樣性的支援,就是各家 AI 軟體公司的本事了。
再回到新聞裡提到的問題:台灣已經長期缺乏軟體產業,現在發展 AI 軟體還有優勢嗎?我沒有什麼太認真的研究依據,但我確實相信台灣有優勢。中美貿易戰以及中國軟硬體目前面臨的信心危機都是台灣的機會,但這不是我們能掌控的,先放一邊不考慮。
台灣除了自身硬體產業很強之外、也相當鄰近其他的硬體強國,這會產生一個重要的效應,就是台灣軟體工程師的硬體知識相較其他國家來得高許多,這也是為什麼 DT42 能在混亂的硬體市場當中,還能做到今天用 Nvidia 、明天用 ARM 後天換別家的原因。接觸過這麼多海外的公司,我從來沒有看到歐美國家的 AI 新創能做到這件事,連 Qualcomm 自己都很驚訝我們一年半前就能在 SDK 不成熟的狀況下把 AI 軟體放到他們的 Snapdragon 平台。
這個能力對於未來 AI 的發展至關重要,因為未來的 AI 會大量結合 IoT 物聯網,這跟之前的雲端 IoT 不一樣,終端裝置不再只是傳輸而已,還要涉及大量且複雜的運算,雲端的時代軟體可以不落地,所以我們拼不過歐美這些傳統軟體大國,但 AI 的時代軟體會落地,這時候亞洲的優勢就出來了,軟中帶一點點硬精神,是我相信最後誰能稱霸的關鍵。
最後的最後,每次 po 長文也只是希望帶來一點小小的分享,或許看法不夠全面、或許有尚未考慮齊全的地方,在創立公司的旅程上,我與所有的夥伴也只是邊走邊學習而已。但深切希望台灣的產業已經失落了好幾個十年之後,在這一次資料與 AI 的浪潮中,我們可以抓好抓滿確實的機會,讓下一世代接手的時候能保有這樣的笑臉。
[1] https://udn.com/news/story/6903/3883175, 2019
[2] https://www.facebook.com/shenhornyen
[3] https://www.tensorflow.org/
[4] https://blog.hardwareclub.co/theres-an-investment-frenzy-over-ai-chip-startups-d9b5ea42b5c4, 2018
[5] http://www.kneron.com/
[6] https://leapmind.io/
[7] https://www.facebook.com/meijai2014