開發新技術,「實踐」比「夢想」更重要。

#案件實例系列文

這是一年前,與成大都計系教授合作的案子,以text mining的技術,找出同個領域各篇論文(paper)間,是否具備相同的關鍵字?

案子本身不是這次發文的重點,在於該案順利結案後,這兩天新年大掃除(!?),找到了一篇,當初基於本案,與教授間的信件……。信件內容敘述著小馬我對於數據業界、直至AI領域,的一些見解和看法。

一年後看來,仍是恪守原則、不忘初衷。這裡分享給各位。

 

Hi教授,

新年快樂,這篇主要閒聊一下,關於我對此領域的理解。

小馬我畢竟出過書的人,在大數據和AI這領域也算待得夠久,縱使不敢說自己有全盤通透的理解,但還自信所言內容,有值得參考之處。

我想先很單純地(很籠統地),把這領域的人分成兩類人:夢想型、實踐型。

夢想型的特色是,做到了三分,說可以做到六分;做到了六分,說可以做到十分。對科技的發展有無窮無盡的樂觀,在夢想型的人心裡,沒有所謂失敗,只有火侯不足,待時機成熟,就是成功時刻。

實踐型則相反,做到了三分,說可以做到二分;做到了六分,說可以做到五分;問他們有沒有十分的可能,他們會說有機會做到六分,但十分,暫時不敢想。

實踐型的態度,相較下悲觀,且理解抽樣是什麼,知道機率的偉大,同樣的技術這次做出了六分,不代表下次套用到不同樣本時,還有六分水準,他們理解什麼是誤差範圍。

我可以舉出非常多夢想型的例子,例如Google的Duplex,可以看當年發表時,那副氣勢磅礡,未來世界AI大門已被打開的那種載歌載舞的慶祝氣氛,然後一年多後?你看現在有誰聽過Duplex?

而這種夢想型玩家,他真的是單純的樂觀嗎?這非常肯定…肯定不是的!

相反,他背後所乘載的,是難以計數的投資人投資金,難以計數的引頸期盼和拭目以待,加上這些投資人對於科技的外行和不解,以及老闆多金的財大氣粗,他們無法理解什麼叫做技術瓶頸、什麼叫做緩步發展,在這些投資人眼裡,錢砸下去就是要見到成效!

哪有做不出來的道理?

這也使得收到這些投資金的開發者,不得不變成夢想型玩家,只做到了六分,不得不講說即將做到十分,他們才能擁有源源不絕的資金投入。換個角度看也是,假設我是一個對此領域外行的人,但我對此領域有很大興趣,同時我還擁有非常多的資金可以投入,看完夢想型和實踐型的說法,我會選誰來投錢?這是一個泯滅良心的賽局啊!

也因此,這世界上就會塑造出許多不切實際的「夢想」,在我這種實踐型玩家眼裡非常可笑的「夢想」。根本不可能做到的事情,因為可以騙外行人不懂,騙外行人投錢給自己開發,於是塑造出一個美麗的假象,說自已辦得到。對這種現象,坦白說小馬我非常嗤之以鼻。

也因此,這是小馬我很慣用來判斷「這個技術開發,到底是真是假,到底有沒有他們說的水準」的一個方式:去看他們背後有沒有投資人,這個投資人和他們的關係是什麼,親戚贊助友情贊助?還是不認識的天使投資?換句話說,他們有沒有動機,必須維持著自己表面上一定程度的開發成果,好讓自己能繼續獲得資金投入?

而很遺憾的現狀是,我們看到許多看似有所突破的新技術,大都是在這種環境下產生的夢想型玩家,所拋出來的「未來展望」,而非「現在技術」。

「如果沒有那樣的技術,總有一天會露出馬腳啊!」

是的,這是AI領域因果循環生生不息(笑)的一個現象,開發者畫大餅,騙到錢,繼續畫大餅,畫到沒有投資人再相信他為止,最後宣布開發經費不足,大家很難過很遺憾無法繼續;收攤,換個名字、換個專案名,於是另外一個投資案又出來了,而且這投資案看起來還超有經驗、超吸引人的!

另一種狀況是,以非原本預期的技術,做出投資人預期的結果,例如「工人智慧」。換句話說,以結果來看,好像這技術已經被開發了,細究下來才發現,原來只是以其他方式土法煉鋼罷了,技術瓶頸依舊無法突破。有興趣可以google:訊飛聽見冒充AI。

 

之所以提上面這些,是了解老師您對此領域很有興趣,想來也對於目前市面上的技術狀況有些了解。只是以小馬這種實際身處該領域的保守實踐型玩家,想表達的是,市面上許多聲稱自己能做到什麼的技術,通常都沒有他講的那麼厲害。或是他們省略了很多但書,例如只限定在什麼狀況下,才能做到這個規模,就像是AlphaGo限定在圍棋一樣。

因為,所有的理論技術都有背景原理,程式開發畢竟不是生物培養(有突變的可能),所有的開發絕對有一定邏輯脈絡,當一個技術瓶頸出現時,若集眾人之智慧仍想像不出理論上的解決方案,我們就很難片面相信某個廠商克服了這個技術,而以商業機密為由不透露解法。

舉個text mining的例子,我們都知道語意分析的重點在於詞庫,例如快樂、悲傷、興奮,是形容詞……什麼什麼是動詞……什麼什麼是名詞,接著在理解這些詞性的組合後,釐清每個句子、每個段落的意思,進而歸納整篇文章的重點。理論上可行,但這技術瓶頸會發生在什麼時候?在「取用詞庫」的時候。

可以想像,當我們把詞庫建立完整,那個詞庫肯定非常非常的大,而一篇文章擷取到單字,要比對詞性時,理論上來說,它必須從頭掃描詞庫(先不討論index技術細節的議題),直到找到這個單字為止,而每進行一次的掃描詞庫,就會耗用一次硬體資源,於是硬體瓶頸就出現了。

我們總會遇上硬體資源,不夠一篇文章完整掃描詞庫的狀況,那…難道我為了解析一篇文章,要去跟NASA借超級電腦來讀文章嗎?肯定不會,這時候成本效益問題也間接出現了。

這也是一種「理論上做得到,但實務上不會去做」的例子。

要嘛是例如建index的這種技術細節有所突破,可以改善運作效能,進而一般硬體規格就足以因應;要嘛是例如NASA超級電腦的規格,隨時代演變,例如十年後,已經變成了平常家用電腦就能看見的規格。

我意思是,縱使不論那些連理論技術都還無法克服的狀況,縱使是理論技術已經有個概念,實務上仍有許多例如成本效益等等的限制,使得這項理論技術無法開發,進而運用的狀況。

以上說明,也算是重新自我介紹一番,小馬,一個非常腳踏實地的實踐型玩家,多年來婉拒各方投資,只做自己認為做得到的事情,只說自己有把握能做到的內容,不妄自相信某個技術被克服,除非該方對於理論技術的開發邏輯能徹底說服自己。(畢生所得都是憑良心賺取,不是透過任何「談夢想、畫大餅」的形式吸引投資,所以縱使至今過著不富裕的生活,但至少心安理得。)

哈,也因此,老師您有什麼想法,我們都可以討論看看,在我認知的技術背景下能否做到,但一如過往,通常我都不會有太正面的回覆,我有多少能耐就做多少事,認為此事有技術障礙我也會直說,不過度樂觀,這點要請多多海涵了。

張孟駸(小馬) 2020/1/27