Contents ...
udn網路城邦
電腦運算時間不只是金錢,也是挽救地球的努力!
2024/06/15 16:03
瀏覽601
迴響0
推薦4
引用0

上面是我最近積極研發中的發票辨識程式辨識同一張發票的結果,答案都是一樣正確的!左邊是今天的最新版,右邊是四天前的舊版!唯一的差別是辨識時間從2383毫秒(2.383)縮短到774毫秒(0.774)!影像大小是490 X 2211 = 1083390,大約一百萬畫素!

前幾天將辨識率提升到目前的水準後,跟合作夥伴討論時他覺得很驚艷了,也對下周的POC報告極為樂觀!但我自己覺得很不滿意,這些年作了這麼多各式影像辨識核心,包括車牌辨識在內,百萬畫素的影像沒有一個案例辨識時間會超過0.5(500毫秒)的!但這次的辨識一張卻需要兩三秒之多?

這讓我很不舒服!覺得自己跟我自己天天罵的那些AI集團一樣糟糕!我確實是因為需要辨識極模糊的字,被迫引進了CNN的技術導致運算量暴增!但是如果我不能盡量改善這種狀況,就會覺得自己也被迫同流合汙了?我不能只是擺爛說這是「不得已的AI必要之惡?」然後坐等輝達的AI晶片來解救?我不是那種人,我想做得更好!做個不會破壞環境的好人!

所以這幾天的主要努力就是研究如何減少不必要的運算量,即使是CNN也會有很多可以合理減少運算量,但盡量保持辨識能力的方式技巧,不然YOLO是在研究甚麼?尤其我是客製化辨識特定目標的研究,可以使用的已知確定條件更多,就像賽車手到了賽車跑道就知道不會有紅綠燈十字路口,可以盡量飆車!

就是基於這種理念,我這幾天很努力地找出了各種方式節省運算,目前已經成功將運算量不只減半,還降到了三分之一!我的辨識時間終於回到讓我感到舒適的一秒以內了!其實上面顯示的是除錯模式下的時間,同樣程式經過編譯之後速度會更快,以後使用者真正看到的速度是451毫秒!

簡單說,即使我不得不使用了非常耗時的CNN技術,我依舊維持了我堅持的個人風格!我的最終產品一定是非常精簡省時有最高效率的!事實上這就是多數其他競爭廠商趕不上我的一個關鍵!如果你是使用很多沒有原始碼的黑盒子模組,或是從某些Open cource拷貝大量自己都看不懂的原始碼組裝出你的產品,你當然無法像我一樣做精準的優化!只能看著我的車尾燈讓我揚長而去了!

我會這麼在意辨識速度,最強烈的動機並不是想贏過競爭廠商,你可以說是我節約能源的強迫症!我是血統純正的客家人嘛!當我用電腦成功做出一種辨識時,當然很高興,但也深深知道那些運算過程非常複雜,就像一個探險家經歷千辛萬苦終於闖過一片原始森林,他一定知道自己走的絕對不是最佳路線,只是找到了一條走得通的路而已!

探險家如果不只是爭取名利,真的想造福世界,希望後人不必像他一樣篳路藍縷才能通過那片森林的話,就一定會在自己搶通的險徑小路基礎上,找到或修築出更好走更省力的山路!以電腦軟體來說就是:「做得到」只是起碼的要求!如何更省資源,用更少的計算量完成一樣的工作,同樣非常重要!

我常常批評的那些AI,並不是完全沒用,只是對於影像辨識來說效率不高,多數時候根本不必使用!但特殊狀況時還是有其優勢的,這次我做的發票辨識就使用了熱門的CNN技術(概念),但我不是整套引用甚麼YOLO之類的,只是使用了其中的「關鍵零組件」,還完全自行重新設計!不然會慢得嚇死人,非動用GPU不可的!

我不喜歡他們的部分就是我知道通常可以用更少的計算做到一樣或更好的辨識!如果大家都這麼浪費資源,雖然造福了那些所謂的「AI產業」,但是其實不需要的運算量會消耗更多能源加速地球暖化,讓能源短缺,還產生更多電子垃圾!如果像我的軟體這麼有效率就不必買甚麼AI PC來做影像處理了!不是嗎?我正在幫客戶不必升級電腦就能獲得更快更好的影像辨識軟體!也正在努力搶救地球!

或許就是為了這個原因,電腦硬體業者可能巴不得我們這種人從地球上消失!我們的努力不會製造更多的硬體需求,反而是可以讓大家在更少(更便宜)的電腦硬體環境下,用更少的電力做更多的事情!我想這才是對所有人都更好的AI發展方向!但是很可惜!台灣已經依賴電腦硬體業作為維護國神山了!我們這種人是注定會路途坎坷的!經濟部不會給我補助,還可能被打壓課重稅!

有誰推薦more

限會員,要發表迴響,請先登入