電腦效能應用與安全研究室 Performance, Applications and Security Lab


我們的研究範圍很廣,從嵌入式系統、手機應用、一直到雲端計算、商務應用、資訊安全都有做。
我們的合作研究夥伴很多,包括聯發科、IBM、中研院、資策會,還有和台大、清大、交大的教授合組研發團隊
,包括高階應用處理器架構研究、虛擬化技術、異質計算、系統軟體等重要技術的研究與創新,我們很關切台灣人才與產業的未來。

2016年4月20日 星期三

系統人才的出路

臉友提問:「請問系統設計的人才在台灣是否出路越來越少?」我想這也是當前許多人的迷思,「以偏概全」是台灣教育文化乃至媒體的通病。這樣的問題,不妨拿來做為高中生的人文社會學科的論說文的題目。

要做好論文,要先懂得蒐集資料,看懂別人的論述,吸收消化、綜合分析後才開始做論文。如果從中學開始,我們的國民就有這樣蒐集資料、思辯論述的素養,那麼大家應該就不大會去相信那些偏頗不實的言論,也就不會去看那些所謂亂源的媒體和腦殘的文章。

抱歉,我忘了大家在中學時忙著背書、解考古題、衝高學業成績,哪有那個美國時間做這種事呢?考試的作文又不需要這麼費功夫,只要把那些嘉言絕句背出來、套用一些陳腔濫調的公式,讓閱卷的國文老師認可就行了,而社會科的申論題都是有標準答案的,絕對不能有個人的意見,論甚麼論?把標準答案背出來就是了。

我說過台灣還未擺脫科舉封建和專制的陰影,因為我們上一代和這代人就是在那樣的文化中長大的。混得還不錯的,就覺得聯考那樣的遊戲規則太公平了,學而優則仕才對勁,要有房產巴結權勢才有搞頭,搞到不少人發覺大半輩子都是活在陰影下,為時已晚,但都是別人的錯和大環境的問題。

談到出路,人文社會學科其實有很多有用的東西,為什麼會沒有出路?我覺得和台灣科技業所面臨的問題類似的地方是,我們並沒有讓各領域的文化昇華,所以淺池容不下大魚。很多人提起當年的刻苦耐勞,覺得只要肯努力就有出路,以此質疑現在的年輕人不努力。但我看到的是,要再目前這個全球化的時代中出頭,要學的東西太多,要有新的方法和具有競爭力的環境,就不要再緬懷「紅葉少棒」那種事了,還有能力和資源的話,就帶領子弟兵或是贊助他們去提升專業領域的層次,就不要只出一張嘴說當年勇來教訓子弟。

回歸到系統設計的人才的議題,關鍵也就是在文化上,在系統和晶片廠最賺錢的時候,許多人一窩蜂跳進去,削價競爭,把市場做到爛。當時進到這個產業的人,不知道有沒有意識到,這是一個高科技、高風險的產業,如果沒有持續精進,是沒有辦法維持榮景的。老闆和股東可以不做研發,集體壓低員工薪水,一路賺到公司賠本為止,但員工如果為了本身長遠的出路著想,值不值得為了短期利益願意陪這些老闆這樣玩呢?

或許,說「系統設計的人才在台灣是否出路越來越少」這句話的人所指的是,那個學點技術就能夠進系統或晶片設計代工廠做幾年、靠股票分紅成為科技新貴的時代已經過去了,這點我同意,因為台灣過去靠廉價人力紅透半邊天的傳統系統產業正在萎縮中,原本在裡面的人都要想辦法轉型了,還會找新來的人去進去做老掉牙的東西嗎?

然而系統設計的領域大得很,很多人只注意到消費性電子產業,那些系統廠多半以大資本(政府補助)買現成技術薄利多銷的策略為主,卻不知道還有很多技術門檻較高的產業,總產值雖不高,但利潤高,其實頗適合台灣發展。

有不少做較高端系統產品的業界人士可能會告訴你,他們積極在搶真的懂系統軟體的人才,從國外找人才來做研發,還非常需要系統架構師來帶領研發,甚至砸大錢從大學挖學理兼備的教授和博士生來做研發。而我們實驗室有接不完的業界委託研究計畫,做高階系統研發和雲端服務的公司一直向我要人,教育部長官這兩年來不斷要我們想辦法培育更多的高階系統軟體人才和系統架構師。

這些高利潤、高技術門檻的產業,以往較乏人問津,可能是因為國人總喜歡炒短線、學生一窩蜂去大公司,想要馬上賺錢的觀念。我們看到很多值得投資研發的中長期項目,業界不甩,學生也沒有興趣。現在鼓吹年輕人搞新創,我很支持,但前提是不要短視近利,可能的話,以「以技術立身」。

高階系統人才,需要不斷學習來跟上系統的快速演進,而厲害的系統架構師往往需要多年累積的經驗來造就,這就是以技術立身。我之前在矽谷共事五年的團隊,就是一個實際的例子 [1]。

可惜的是,上述的東西,很多人沒有實際接觸過,但做過我多年的臉書朋友應該會覺得我講上述同樣的東西講到煩了...

我想,機會(出路)是保留給準備好的人的,說句不客氣的話,如果連門檻都進不了,還談甚麼出路?在我所看到的現在和未來,系統領域還有很多創新的空間,可以參考Gartner’s Hype Cycle [2],不過我再三強調,高科技業也是高風險業,有很多的hype,所以要保險一點的話,還是設法提升自身的技術,才能長久勝任。

不過我知道有些人不怎麼相信「以技術立身」的想法,或許是對自己的腦袋和技術能力沒有信心,或許是對大環境不抱甚麼希望,有人覺得走門路進當紅的公司撈一筆才是機靈,有人覺得要進大公司當經理主管(之後撈一筆)才是正途,有人覺得還是早點弄到第一桶金來錢滾錢炒房產才是王道;對了,還有那些不想與狼共舞,一直在找尋越來越夢幻的小確幸的羊群們...

我不是狼,也不是羊,我屬馬的。

[1] 博士滿座的系統優化團隊 http://hungsh-ntucsie.blogspot.tw/2⋯⋯

[2] What’s New in Gartner’s Hype Cycle for Emerging Technologies, 2015, http://www.gartner.com/smarterwithg⋯⋯

2016年4月15日 星期五

資訊通識教育以及計算思維的教學法

(原發表於2016/4/5的臉書動態時報上)

資訊通識教育以及計算思維怎麼教呢?我很擔心有人把程式設計課本的每個章節拿出來,簡化一番就拿出來教了。現在的程式設計課,很多大學生都學不好,我想如果把簡化版拿去教中小學,恐怕也是問題重重。

國外在這方面進步得很快,我們不妨來參考一下Google在這個「Exploring Computational Thinking (ECT) 」網頁上所提供的教學影片 [1]。

這些教學影片都很簡短,每個影片用通俗語言來解釋一個概念,採用大量的實際世界的範例和日常接觸到的電腦用語,幾乎不用任何術語,目的是很清楚地讓不懂資訊科技的聽眾理解概念。

舉例來說,有一段標題為「Improving the World’s Videos with Algorithms and the Internet」的影片 [2],解釋如何以演算法和網際網路來改進影片的品質,聽眾不需要懂什麼影像演算法,也不需要知道什麼以太或4G網路。看完影片後,聽眾還是不會寫程式,但是應該能夠理解演算法和網路以及資料中心在實際世界中對影片的作用,以及從作用中摸索其意義。

我個人認為,計算思維中最重要的概念之一,是能夠將計算「抽象化」與「具體化」的能力,例如與影像相關的演算法那麼多,我不需要知道各種演算法長得什麼樣子,但我知道影像壓縮演算法可以幫我省下傳輸時間,影像辨認演算法可以幫我了解影像裡面有什麼物件(以上是抽象化),而這些演算法早已經有聰明的專家實作出來,我們可以透過網際網路,利用資料中心的雲端服務來使用這些演算法(這是具體化)。

至於如何『透過網際網路,利用資料中心的雲端服務來使用這些演算法』呢?想知道的話,就去學寫程式吧!實際上,在某些系統上很可能短短幾行程式就描述了這件工作,學生只需要理解語法,用語法表達想法,將要做的工作描述出來。至於有沒有必要知道這些演算法長什麼樣?我覺得除非想當專家,否則根本不必學。

我想,會寫程式不代表一定懂計算思維,所以要教資訊通識或計算思維的教師,應該要多參考已有的教材,例如Google這裡有個給『教師』去了解計算思維的線上課程 [3],修課者不需要程式設計的基礎,只需要會使用瀏覽器,花費15-30小時。當然,這類課程也頗適合想瞭解所謂的計算思維的一般人。

反過來說,懂運算思維不見得會寫好程式,那又如何?話說寫程式也只是初步,資訊世界還很寬廣,如果懂得資訊世界的運作,心中有運算思維之後,或許有人會想閱讀程式去更加理解資訊世界,或許有人會想學習用程式設計改變周遭世界,或許會想改進資訊系統的架構,或許會想到新的應用、新的商業模式,或許會用計算思維去解決各類學術研究上的問題⋯⋯

所以,我不是說不要教程式設計,而是不希望過於強調程式設計而框限住學習內容和未來的發展性。還有, Google提供的資料,可能比較強調他所在意的東西,所以也需要多參考其他的資料才好。


[1] https://www.google.com/edu/resource⋯⋯


[2] https://www.youtube.com/watch?v=lTj⋯⋯


[3] "Computational Thinking for Educators", https://computationalthinkingcourse.withgoogle.com/⋯⋯

2016年4月12日 星期二

失業率與學用落差

有些人看到聯合報這篇的標題【2.7萬碩博士沒頭路!失業率比專科生還高】(註1),馬上就下斷語,開始批評高等教育的學用落差問題,我看了覺得哭笑不得。

我這些年一直批判高等教育學用落差的問題,也一直提倡產學合作來降低學用落差,因此我樂見社會大眾關心這個問題,但並非隨意引用數據來踐踏專業。

不只聯合報,「關鍵評論網」這篇【所學無法致用 碩博士失業率比專科生還高】(註2),摘錄了各大媒體的報導,把失業率和學用落差扣連在一起。多虧有這篇,我很快就找到各大媒體報導的內容。

首先,如果今天有篇報告說,這個月蘋果的銷售率比橘子高,您會不會馬上說,這批橘子種得不好,種橘子的人有問題? 蘋果比橘子,就單一項目去比較,很容易得到錯誤的結論,更何況是拿大學比專科,應該要從多個面向去比較,才有意義(註3)。

其次,聯合報說「研究所以上學歷者失業率3.07%,但專科學歷者失業率僅2.96%」,請問這個0.11%的差別很大嗎? 注意到記者這邊用了「僅」字,試圖引導讀者。如果研究所以上學歷者的失業率跟專科一樣低,標題還是可以寫有2.6萬碩博士沒頭路。

大家不妨來研究以下的圖表,原本圖表刊在中國時報上(註4),為了不侵犯他的版權,我自己用Excel輸入資料重製過:




圖表上,每年的失業率起伏的幅度,常常大於0.11%。如果說是學用落差的問題,那麼100年、103年的時候研究所失業率比專科低許多,該如何解釋? 拿今年這0.11%(聯合報的數字)或0.13%(中時的數字)來指責學用落差,是沒有什麼道理的。失業率,與太多的因素有關,尤其是經濟狀況和產業的需求,不是隨意就把矛頭指向研究所。

再者,有些人比較專科和研究所的失業率,歸因說研究所做了很多沒用的學術研究,擴大學用落差,可是圖表上這些年大學畢業生的失業率一直維持在5.5%上下,遠高於專科和研究所,請問又該如何解釋呢? 我們知道,有不少大學生畢業後準備考研究所,所以提高了大學畢業生的失業率,所以要再次強調,失業率不是單一因素所造成的,不假思索、不合邏輯地就拿某項數據來支持個人論點,是偏頗而有失公允的。

最後,報導引用主計總處官員的話,說這是學用落差的問題,例如中時(註4):「碩博士雖然學歷較高,對就業有一定程度的幫助,但長期以來,由於產學間一直存在落差,學校所學未必符合業界的需求,因此失業人數比外界預期來得高,反觀專科偏重技術,較符合業界需求,就業機會較多、失業率較低。」

這種質性的說法,全然以業界的觀點來看待學用落差,失之偏頗。我們為何不換個角度說,業界不懂如何運用高等教育所造就的高階人才? 這麼多年各界一再呼籲產業要轉型,請問有多少產業真的轉型了? 薪水凍漲了這麼多年,請問還要高等教育和年輕人如何配合這個充滿了世代剝削和壓榨勞力的產業?

我前兩周在矽谷,看到許多公司爭相從台灣挖人才,要我推薦人才,我也是哭笑不得。如果本土產業能夠善用人才,我何必幫國外公司介紹? 如果本土產業只會集體壓低薪資行情,引進低薪外勞,來保證資本家穩賺不賠,哪我們何忍讓辛苦培育出來的高階人才被踐踏? 我會說,真正該檢討的重點不在於那3%的失業率,而是在那97%的人所受的待遇。

當然,高等教育有很多地方也需要被檢討,如果不是因為這些年累積的問題,也不至於如今落到人人喊打的地步,但不要因為打高等教育的問題而忽視產業轉型和世代剝削的問題,否則我們培育出的人才要何去何從?

(註1) http://udn.com/news/story/6/1621258

(註2) http://www.thenewslens.com/post/309⋯⋯

(註3) 題外話,我想,能夠分析多維度的資料,是近代機器學習技術遠優於仰仗規則的傳統AI的地方,由此可窺見一般教育訓練的不足之處。

(註4) http://www.chinatimes.com/newspaper⋯⋯

2016年4月8日 星期五

教改要怎麼改?

在這篇文(註)中,羅賓森很精要地在哲理上講了教育的問題和解決方法,跟我的想法頗為類似。基本上,羅賓森和我都認為,在這個人人幾乎都是知識份子的時代,人民本身應該要為教育負最大的責任,不只是抱怨和監督,而且該實際行動去改善教育系統。

以下我借用羅賓森的話,以問答的方式,討論一些關心教改者可能會問的問題:

Q1: 教改的問題不是領導者無能所造成的嗎?

A2: 羅賓森說:『看到全世界每個國家都在進行教育改革,可是其中不少卻是由根本不懂孩子該怎麼學習、好學校該怎麼運作的外行人主導,還將政治權力和商業利益列為優先考量,更是讓我擔心得不得了。』『現有教改不但沒有解決原本宣稱會解決的問題,反而讓它們更加惡化。』

所以,教改越改越糟,不是台灣特有的問題,而是全球性的問題。當然,不是說教育部長不需要負責任,而是說這個問題不是光換部長就能解決的。何況,領導者無能,也是教育系統的問題。

Q2: 全世界的問題?那麼是為什麼呢?

A2: 羅賓森:『因為系統本身才是造成問題的主因,所以只要系統不變,不管其他方面再怎麼努力,產生的效果都很有限。』

Q3: 什麼系統不系統的,我不懂,那為什麼以前沒問題,現在有問題?

A3: 羅賓森:『簡單的說,大多數已開發國家的公共教育系統依然和十九世紀中葉時差不多。這些教育系統原本只是為了滿足工業革命後的大量勞工需求,而設計架構則以「大量製造」為基本原則。後來的標準運動更是以加強這些系統的效率和可靠性為目標。問題是,這些老舊的教育系統早就不適合截然不同的二十一世紀的環境了。』

有些人覺得教改越改越糟,要求改回到教改之前,但要知道,現在和三十年前是截然不同的環境。

標準運動,指的是幫教育制定標準教材,為教育成果制定評量標準,再用標準的指標來評鑑教師和教育機構。

Q4: 標準不就很客觀公平嗎?不是也造就出很多英才嗎?

A4: 羅賓森:『許許多多人能適應這個系統,而且表現傑出。如果刻意去扭曲這一點,未免太過可笑。但是更多人在漫長的教育路途上卻只是虛擲時光,並沒有得到教育應該給他們的好處。為了少數在這個系統中表現傑出的佼佼者,卻犧牲了大多數人,這樣昂貴的代價真的值得嗎?』

我想,這是真正的人本情懷,每個人所關心的,不只是自家小孩的成績,而是有餘力去關心多數人。當然,我們的社會離這個境界還頗遠的,但我會用這個角度去看教改的方向。

Q5: 沒有標準的話還得了?學生要怎麼證明自己優秀?老師不知道要教什麼?家長要怎麼督促孩子用功?教育部要如何評鑑學校?

A5: 羅賓森:『我所提倡的教育革命是以和標準運動完全不同的原則為基礎。它推崇個人價值、保留自行判斷的權利,相信人人都有進化和發展充實人生的潛力,同時強調公民責任和尊重他人的重要。對我來說,教育的目的是:讓學生了解周圍的世界和自身的天份,以幫助他們擁有充實人生,並成為有熱情、有生產力的公民。』

我想,問這個問題的人,不妨先想一想自身從小大接受了多少的框架。有些成功者可能會將成功歸因於師長的鞭策,但請回去看Q3-4和A3-4,想想當年那些同學,是否有些會因為不適應教育環境而鬱鬱寡歡,甚至厭惡人生?

Q6: 那該怎麼辦?我們不就只有這點教育資源嗎?

A6: 羅賓森:『我們必須做的是找出一條完全不同路。教育系統需要的不是修正微調,而是徹底改變。』『現今,有了現代科技的幫助,加上自身的創意,我們比以前任何時代的人都有機會彌補這個遺憾。現在的我們不但有無數機會去激發年輕人的想像力,甚至還有能力為每個孩子量身打造最適合的教學模式。』

這也就是我這些年為什麼推崇數位學習、適性學習、自我學習。

Q7: 真的是這樣嗎?要怎麼找出一條完全不同路呢?

A7: 我想,『找出一條完全不同路』,並不是一下子就能做到的,社會得要有能接受失敗的勇氣和毅力,不斷去找,一直到找到為止。誠然,學生不是實驗品,但教育工作者也不是完人,如果不願接受大幅改革現有的系統時所可能出現的某些弊端,那大幅改革很難出現,也就不可能找出一條完全不同路。

什麼樣的人適合來帶領教改?羅賓森說:『我對教育承受的巨大政治壓力非常清楚。面對這些壓力,政治決策者必須接受挑戰,做出改變。一直以來,我都主張政治決策者要勇於面對急劇變化的改變需求,但革命不會為等待法律修正而停下腳步。第一線的人開始動手之後,力量就會團結起來。』

Q8: 那除了希望有正確的人來帶領教改之外,我們平民還能做什麼?

A8: 羅賓森說:『教育並不發生在立法機關的會議室裡,也不藏身於政客的華麗辭藻中。教育只存在於真正的學校裡,只存在於學生和老師的互動中。如果你是老師,對學生來說,你就是教育系統。如果你是校長,對你的社區來說,你就是教育系統。如果你是政治決策者,對所有你負責的學校,你就是教育系統。』

我想,他的意思是說,每個人所在之處,皆可作為教改的道場。所以,在抱怨和哀傷各種社會亂象的同時,我們可以設法讓自己和周遭的人變得更健康,這才是真正完整的教育改革。

Q9: 真的要改嗎?未來會是個什麼樣的世界?

A9: 試想,當機器人可以取代大量藍領和白領階級的時候,人能夠做什麼?人應該做什麼?

我沒有標準答案,但我知道現有的教育系統有很大部分已經不適合那樣的世界。我想,並非所有人都有能力創新,所以拉著所有人去搞創新也不是答案,如Q5/A5所言。

如A7所言,完全不同路,是需要去找的。悲觀的人或許不認為這條路存在,還是學習「認命」比較快... 但我可能比較樂觀一些。我想,人到這個世界上來,可能就是來學習和探索的,即便是「認命」,也有各種方式的,也是要學的。

(註)「世界的教育部長」:教改是一場注定由下而上的革命,

http://udn.com/news/story/7063/1339⋯⋯

2016年4月1日 星期五

博士滿座的系統優化團隊

今天到Oracle拜訪之前在Sun的老同事。沒想到,兩年不見,之前我工作過的團隊(Performance and Applications Engineering, PAE) 多出了一群生力軍。我在PAE的會議室裡和八位來自台灣的博士聊天,四位是我的學長輩的,四位是這兩年才加入的年輕人。
這四位年輕人,竟然有三位是我密西根大學的學弟妹,其中一位原本在新竹清華大學擔任副教授,幾週前才進來工作。另一位則是我台大電機系的學弟,威斯康辛大學博士... 這真是有緣千里來相會。



PAE擅長的是複雜系統的優化,當Oracle併購Sun之後,PAE的地位和價值更高。今天,Oracle的目標是做出世界最頂尖的Cloud,PAE雖然不直接負責產品開發,但在效能測試與優化上扮演關鍵角色,無論是資料庫系統還是大數據分析系統,PAE必須熟悉各項軟硬體技術,否則怎麼談系統優化?

為什麼需要博士?一位老同事說,因為工作上有很多未知數,沒有受過研究訓練的碩士,看了會怕失敗而不敢做,受過博士訓練的人比較能面對這類問題。他說,他們一天到晚為了解決新的問題,都在學新的東西。(註:在美國,通常碩士不必寫論文,不需接受研究訓練。)

我想起當年,我是PAE少有的博士,但我一開始沒有亮出博士學歷,因為團隊注重經驗多於學位。不過雇用我的老長官總是丟一些新的題目給我,讓我有機會表現,例如當時沒有人碰過的密碼加速卡以及最新的高速網路卡的效能問題,都丟到我手上,我得想辦法自己學。還好,我們圓滿解決問題,幫PAE在公司裡樹立起專業形象。之後,或許是覺得博士好用,新的博士陸續進來,PAE負責解決的問題日益複雜,但始終維持使命必達的好形象。

要知道,這個40多人的團隊,擁有上百櫃的機器,PAE在Oracle內部,是非常燒錢的單位,而且因為PAE沒有直接為公司賺進一毛錢,如果沒有非常良好的形象,如果公司沒有上進心,根本不可能維持這樣的團隊。

我其實很想讓台灣的公司來參觀一下,讓他們看看這個當年SUN能夠在幾年間以效能優化來提升競爭力,讓SUN能以小搏大,力抗IBM、Microsoft、Intel、HP、Dell等強敵的幕後功臣,雖然整個SUN的核心技術團隊已融入Oracle,但Oracle還是把SUN的標誌掛在每一台伺服器上,這說明Oracle對SUN的肯定。

對了,SPARC還在,只用在高檔的商用伺服器上,據說富有的阿拉伯國家很喜歡買...