散人

一年了,這邊也該動動筆了。
那就紀錄一下發生了什麼事情吧。




該從哪裡追敘呢?
那就從大學畢業說起吧。

May & June, 2019

完成最後一學期的課,也拉了兩個好朋友參加了畢業典禮。

我的室友兼學伴(笑)也幫我拍了許多畢業照。

最後一學期的課大概是四年來修得最爽的了吧,修了 CG, CV, DL,
雖然 CV 修得不甚扎實,CG 也修得水水的,
但三門課的 final 都用 DL 的 colorization 做掉,
感覺滿有成就感的。雖然只是把別人的 U-net 載下來加上 ResNet 而已。
但整個配環境和怒 Train 的過程也是相當寶貴的經驗。

為了這三門課的 final,還配了一台新的桌機,
i7 + 16G RAM + 1T SSD,配了張二手的 1080Ti,花了老爸四萬多(GPU 佔了一半錢

(這個記在帳上…)

也算是為了升研究所一次總升級吧,畢竟比起其他同學,
我是一台 ASUS 筆電撐四年,也算是沒有特別花到什麼錢了。

GPU 的錢就用 AI 比賽慢慢賺回來吧(?)

記得開始怒 Train 沒多久,
Tom 擔任助教的課(hhh 教授的演算法)邀請了網路黑貓來演講,
我沒事的話,習慣性會去旁聽那門課,於是就這樣和黑貓大有了一面之緣。

演講結束後,我還在跟同學討論說 GPU 會不會燒掉時,
黑貓大聽到後還向我掛了保證儘管用 XD,因為 GPU 會自己調節降溫。

WSM 應該是我所有課程裡面收穫最多的,果然 mftsai 老師的課就是讚,兩門基礎程式設計課也是難忘。

他的課有趣,作業也很有得發揮,考試準備起來也頗有成就感,最後就是他分數也很敢給。

我大學生涯裡的唯一一次滿分就是他給的,其他兩門還有九十七及九十九,
不過比起分數,更重要的是 Vim, Linux 宗教,也是他傳給我的,受益無盡。

教授可以算是在工具使用上的貴人吧,如果我有一絲一毫的 geek 氣質都得拜他所賜。
不知道他最後有沒有曉得,每個禮拜陪我來旁聽的同學其實是我爸呢 XD

WSM 的 final 也是最後神翻轉,第一個報告的(分數最低的那組),最後竟然會變成最高分的 XD

最後還有兩位我很感謝的教授,這三位教授應該能算是我在大學時期的三個貴人。
(其實還有個隱藏版的 ccc 教授、資管系的 yuf 教授、台大電機的江教授,可惜我跟他們修的課少,
那裡學到的東西也相對不多,我的研究能力也不夠強,沒辦法做出什麼東西)

ck 教授帶我看到了更廣大的世界,接觸了函數式的美,
給了我難得的課程助教機會,還有一些區塊鏈相關的知識。
從大一就有緣份去旁聽他的課,到後來受了他很多照顧,身為導師,他也給我相當多的關心。
也因為他,我才有了機會去認識資管系那邊的教授。不過沒能做出什麼東西,我還是有點遺憾的。

mtchi 教授是我兩位好友的專題老師,因為我和其他兩個同學常常一起出現的緣故,
他還邀請我去他們的導生聚,還笑著說我還真像他的導生。
對於我而言,受益最多的課應該就是他的 system programming 吧,
算是和我的領域相關,而其實也是他的遊戲課也把我們三個朋友聯繫在一起,
也才有後來的 CG Lab 三劍客。

最後與同學的回憶,大概就是那個飯局吧。

大一一進去就認識的 Allen,接著和 Tom 三個人成為飯友。
接著認識 mingc、meijin,大神帶了我們兩個去比賽,那是我第一次開了眼界,也是第一次見到了所謂高手境界。
之後拉入 jeffu, 我們六個人組了兩隊,看大神如何以一己之力和名校選手抗衡 XD 。
最後認識了轉入的 binjin,他、meijin 和我成為了 CG Lab 的的三劍客。
六個和我大學生活密切相關的同學,和我爸,我們一起吃了飯,為這段四年的緣份點上了一個不錯的段落。

喔對了,可能是卷哥提早畢業,然後卷二也沒修啥課,最後一學期的成績就這樣不小心被我拿了第一 XD

July & August, 2019

離開了原本的學校,宿舍南遷,我在新宿舍待了兩個禮拜才去 Lab。

這兩個禮拜在整理新的資料,主要是要延續 WSM 的 final,一個 NLP 的 IR 比賽,是關於新聞立場的檢索比賽。
兩個禮拜的瘋狂下資料後,我來到了 plaslab,認識了新夥伴 rnic,以及 plas 其他的成員。
沒待多久,我就前往台北參與開源人的盛事,COSCUP,rnic 還是 rust 議程的其中一位講者 XD。
結束兩天的朝聖後,我就接著為期兩個禮拜的 flolac 了,聽了 yuf 教授和江教授的課,
還認識了一位學弟 Nemo(也是大神一個 XD)。

回到學校後,開始去認識新環境的人們。

和之前相比,這裡的高中同學多了許多,剛好四個和我同校,而三個在隔壁。
發現其實大家大部分到最後都走到了資訊這一塊。
隔壁動機系的同學之後要做 CV,資工系的要 DL,而化學系則是繼續他的研究(我有問是哪方面的,不過到現在也是忘了 55),
同校的電機系同學是原生種,直接讀五年碩,目前也是做 DL model 的優化,
而同為資工系的同學進的實驗室在做演算法,以後應該也是會做有關 DL 的方向。
我們在 KFC 吃過了一餐,不過之後好像也沒什麼聯絡了(

也遇到了一個國中小同學,目前是在做圖學相關的方向,
不過可能是興趣的方向不同,之後上課也沒啥遇過了。

September to December, 2019

檢索比賽在暑假的尾聲決賽,binjin 和我做了些 trick,
在 public board 拿到了第一,靜待比賽結果。

兩個室友也入住了,是南投人,而原訂的 Tom 也備上台大,可能日後有機會再見了 XD

學期初,跟著 rnic 一起修課,感覺課都滿硬的,修了計架、數值軟體、平行運算和正規語言。

計架和正規語言算是比較理論的課,而平行和數值算是比較實作的課程。

計架算是計組的延伸,除了回顧一些先前的知識,也介紹了滿多其他的東西。
期末 paper reading 的部份,滿多組別都在介紹 FPGA 那些 AI 晶片,
我們讀到的是一篇關於 Data Flow 的優化方式,也蠻有趣的。

正規語言在大學也有修過,不過這門課多了滿多證明的,修完了感覺自己還是不太會寫,
正規還是很不扎實 XD。

數值軟體讓我真正接觸到了 python binding 的寫法還有一些會影響 performance 的小細節。
我們使用 pybind11 來幫助 python 調用 cpp11 的 code。
最後期末 project 我選了 SVM 當主題,不過沒時間也寫不出來,也就把這門課 withdraw 了((

我在平行程式學了許多平行化的方法,像是大學已經接觸過的 threading,
還有 OpenMP、OpenMPI、OpenCL 還有 CUDA。不過沒有接觸到 SIMD 感覺有點可惜。
最後我們期末寫了關於 huffman encoding 和 decoding 的平行化。
隔壁組則是寫了太鼓達人的 RL 平行化 XD

不過平行的遺憾很巧合地被補起來了。

十月份的時候,剛好看到黑貓大大在元智大學有一場 Halide 的分享,
那門課先教了我們 ARM 上 SIMD 的寫法,然後用自己的手機上運行 gemm。
之後教了 Halide,發現他 SIMD, threading,tiling 什麼的全部幫我們做掉了,
TVM 據說也是受 Halide 啟發而發展出來的,一套 Halide 打天下,感覺也是相當有趣的研究方向。
最後在 lab 實作和回答問題,我和 rnic 還得到了兩塊板子,黑貓大大人實在太好了 XDD

兩週後,在學校餐廳還和他巧遇了,留下了一張合影 :)

十一月五號,外公走了,
而外婆苦撐一個月後也去陪外公了。

大家難過了好久。

那種空了的感覺,是真的空了。
沒有憤怒,只有空蕩蕩的哀傷。

有時候人就是這樣,
失去了一些東西才會想要開始去抓。
也只能盡力而為了。

伴隨著外公外婆的離開,似乎也帶走我前陣子因為感情帶來的苦痛。
不能執著的東西,最後總是要放下,我們都已經盡力了。
好好想想還能做的吧。世界變了,但我們還是要面對。

緬懷著外祖父母,來到了年底。

January to June, 2020

本該在年底排出名次的檢索比賽,遲遲沒有消息,
可能是我們先前做的事情讓主辦方很難辦吧 :P

去年因為發生一些事,並沒有好好過年,
甚至初二都沒會去看外公外婆,想到這裡,令人不勝唏噓,
後來中秋是有回去,不過也沒大家族團聚的感覺了。

而今天的初二,我們還在慢慢釋懷。

meijin,也來報考我們研究所,
可能有一年不見了吧,遇見故人格外高興。

他與我分享了這段時間來的心路歷程,
沈重的壓力讓人聽了不禁感到惋惜。
一方面也覺得自己當初很幸運,能夠推甄就上。

與他吃了晚餐,他便入住在火車站附近的旅館了,祝他順利。

轉眼間,開學了,rnic 和我選了作業系統與實作(OSDI)、編譯器和演化計算。
而在三月,疫情爆發了,課程全面遠端化。

但即便如此,遠端修課的 OSDI 還是很有趣,
編譯器也是寫寫 code 就可以了,算是也有學到一些東西。
而演化計算我們用了芒果辨識相關主題當作期末報告,雖然成果沒有很好,
但也讓那個比賽有了好一個開頭。(雖然這比賽真的滿謎的)

在這期間,在學校的便利商店遇到高中同寢的學長,
閒聊之下才知道就讀企管研究所的他因為興趣,修了 AI 相關的課程。
能有可以共同的話題,還閒聊了一陣子。

之後他們課程開了伺服器,一個空空的 Linux Account,裡面什麼配置也沒有,
剛好我能夠幫忙,就在 7-11 上他們伺服器配了 jupyter 給他發揮啦 :)

到了五月,富堅了快半年的資訊檢索比賽落幕,最後發了個佳作給我們,
但沒有公佈分數,也沒公佈獲獎隊名(但 public board 只有隊名),只有公佈獲獎人名,
令人感到有點失望,不過有總比沒有好,也算是草草結束了這次比賽。

研究所也差不多放榜,meijin 順利來到這裡,CG Lab 三劍客成功在這裡相會 :)

學期結束,OSDI 有幸拿了滿分,沒想到大學畢業後竟然還能拿到滿分(
這學期的期末有點忙,於是就在有點充實的狀況下結束了。

July to September, 2020

實驗室的兩個學長也畢業了,我們變成中間層。
在學期結束之前,也就是檢索比賽落幕後不久,
我在 FB 的人工智慧社團看到了玉山銀行的夏季挑戰賽。

從六月開始報名,但看到時已經學期末了,期末爆炸,算一算也只能暑假開始。

在學期結束前就和朋友們提了這個比賽準備組隊參加。
看了看內容,覺得滿有趣的,加入 slack 後,感受一下參賽者們的提問情形。

恩,這應該是場菜雞互啄的比賽(誤)

可以做的時間剩下兩三個禮拜,我對自己有信心,
想要證明一下我們其實是有實力的,
上次比賽一定是被黑箱掉的!所以隊名就叫 BlackBoxOperator 了,
這次,我們自己當黑箱操盤手 XD。

花了兩三個小時就把資料抓下來整理好了,
有了經驗,一切是如此迅速。

我就隨便撘一搭,把 API 什麼全都接上,一方面慢慢改良模型。

binjin 提議把模型改成 Bert,他丟了一個模型出來,分類器準確度順利上到 95% 以上。
我便按照他的 pattern, 也用 Bert 幹了個 NER 出來。

為期兩個禮拜的爭霸賽,我們有幸拿到第三,這是一個成功的衝刺。
最後也應主辦單位的活動,把經歷寫成了一篇心得,寫得最好的一篇可以拿到一台螢幕。

結果最後被第七名拿走 XD

(然後我心裡又有點不平衡了,真糟糕)
(我連 sample code 都很用心自己重寫過呀!我覺得我文筆不比他們差的!)

不過原本一個好好的一個比賽,如果跟自己過不去,那又很不值了。
只是一個機會,繼續加油、繼續努力。 ouo b

感謝隊友們的支持,雖然你們會說你們這次沒什麼發揮到,
但我相信只要這個 Team 還在,以後有的是機會,
畢竟大家是真的比我厲害很多啊 XD

比賽落幕,回歸日常。

一方面 lab 也算是終於找到東西可以做,
不過我還是放了一些心力在新的比賽上 :P

雖然我本身的研究並不在這個領域,不過我不想設限自己,
甚至到最後,我希望我可以跨出電腦,Beyond coding。

暑假便這樣結束了,開始新學期選課,和 rnic 也接了編譯器助教。
meijin 忙著 lab 的研究,每天都過得很充實,而 binjin 研究則是差不多了,一邊在找實習。

一邊做著 lab 的研究之外,我也一邊關注著其他比賽的動態,這差不多就是我的現況了。

總是會懷疑自己出社會是否能勝任與現在研究方向相關的工作(compiler 相關的工程師),
對於未來的樣貌還是有點迷茫,不過至少現在,
就讓我好好使用學生的身份,做自己想要做的事吧!

畢業這一年來,發生了許許多多的事情,心情的低潮也經歷了好幾次,
不過每次只要看看自己的生活紀錄,認清現在的位置,
懷著感恩的心回想著幫過自己的人,總感覺能重新振作。

願我能夠以沉著的心懷抱著熱情,度過接下來的研究生活。

Let my mind be clear and strong. Let me study well and long.
All that I shall need to know, as I walk, shall now be shown.

------------- EOF -------------