我是Kaminyou,在2020/06至2020/12期間於Dcard擔任Data Engineer Intern,當初覺得極為漫長的六個月竟在爆炸的生活中倏然結束了,故趁記憶猶新時趕緊紀錄下這半年的日常。
契機、準備與面試
原先自己主要是在偏向Computer vision與wave類型之Deep Learning研究中打轉,然而在108–2修習了李宏毅教授新開的深度學習與人類語言處理後,便覺得這一塊十分有趣想嘗試玩玩看,而正好從投放的廣告中看到了Dcard Data Engineer Intern的計畫,思忖這是個具有大量文本corpus之處,因此開始準備投履歷的過程。
但因平時實在過度繁忙,全部的履歷(CV)、求職信、作品集都是在繳交期限當天從台南故居趕回台北的高鐵上趕出來的,或許是因為平時就有整理作品的習慣,而能夠在期限內繳交送出,千鈞一髮。
不久後就贏來的第一關的作業,簡而言之是要建置預測potential熱門文章的model,須使用提供的API撈到一些categorical的data,此外dataset本身也非常imbalanced,此外當時同時是期中考的水深火熱時期,幾乎是用了所有零碎時間把model快速建立好並做了相當多的實驗想辦法克服之,雖然到了第二次技術面試時被告知f1在testset上很低…
同前述,二面是技術面試,這部分我整理了近期2019~2020做的一些題目整理成Slide,挑選上則是以多元性為原則,Slide的排版與配色則是直接用Dcard色票搭配,這個階段因為都是自己的project故都沒什麼特別的障礙。而後續面試官會針對第一次的作業進行詢問,印象比較深刻的是回答了「可以透過adversarial training來擴增decision boundary有機會再增加f1 score」後,面試官表示他們沒想到這一塊,而這個想法是來自於該學期同時修習一堂機器學習安全的課程的體悟(adversarial training等價於regularization)。
第三階段則是與Kytu及HR面試,在Kytu的部分是會被問有什麼問題想問他,我問了相當多當時logo的設計與配色方面的考量,似乎相談甚歡導致幾乎聊了一小時(而更訝異的是在開始實習的第一天中午onboard lunch時得知Kytu也出身於南一中魔術社,更是教學片雲端整理之始祖)。後續的HR面試則相較下較輕鬆,但詢問的細項是真的不太記得了。總而言之,過幾天後就拿到了offer。
Intern Project
在這六個月期間我總共做了四個project,第一個為偏推薦系統的model建立,而後續則有偏惡意文本的偵測,第三個project是針對惡意圖像的偵測,最後則是影像的自動裁切,這個過程想起來相當神奇,竟然一路從推薦系統做到NLP,最後又回到了CV。
基本上平時每天都有sync,除了回報進度外,好處是能及時解決預到的問題,此外針對一些新穎的task,基本上提出什麼方法都可以嘗試實做,相當自由。對我而言學習到最多部分是處理這大量的資料與pipeline串接,平時不管是自己的實驗或是修課的作業都不太容易出現數百GB等級的資料,然而在Dcard db中隨意下個query就是這樣等級的資料,如何有效減少計算資源又不致於毀壞準確度是需要思考之事,而在GCP中的操作以及處理繁複的Kubernetes設定、串前後端對我來說也都相當新奇,非常好玩。
Intern 日常
在這邊的生活是相當開心的,除了每日可自由調整的上下班時間以及星期三的遠端日之外,星期二五下午的自選手搖飲料、點心及星期二中午的午餐日,都讓我每周充滿期待,另外在Ikea區無限享用的點心們與兩個雙層櫃的飲料真的讓生活充滿希望!
另外在這六個月的實習雖逢COVID-19,還是參與到了兩個活動,其一是中秋節的大型繪畫,亦即分為數組,每組完成一幅約100cm*100cm之壓克力畫後,再全部拼起來,而那幅畫目前正擺在公司正門,每次經過都十分感動。另一是在12月的周年慶祝活動,有神奇的闖關以及buffet與奇妙競賽,雖然那時正值學期中,我在兩堂課之間以極限的方式來往兩地,但也慶幸自己能參與到。
而最玄妙的則為global name提案計畫,因為要擴張至海外需要重新想一個名字以註冊domain name,故請所有員工提案,選上的則能拿到一隻iPhone 12。但最後沒有任何人的提案中選,反而把抽iPhone的部分擴增到所有提案者,而我就幸運的抽中了。
總結
整體而言,這是一個讓我各方面都迅速成長的實習,必須非常感謝mentor六個月來盡心盡力的帶領與code review,而且藉此可以一窺大型服務運作的協作方式,以及在這樣規模下需要進行的考量。
若你也想要嘗試把自己機器學習的各項技術應用到使用者端嘗試,那這邊會是非常推薦的地方!