【 2022 beanfun! 】暑期實習心得分享

beanfun! Tech
beanfun
Published in
6 min readSep 6, 2022

Data Team Intern

Beginning

最初知道 beanfun! 其實是來自電視上的選秀節目,當時對於裡面的服務內容了解的很少,只有偶爾會從連結連到 beanfun! 去關注一下選秀的投票,當時在國外交換的我突然看到 facebook 社團板上 beanfun! 的實習計畫分享中剛好有 AI Researcher intern 的職缺訊息,因為和自己的背景及領域興趣相關,當時還沒想好要什麼時候回台灣的我,就在截止日的最後一刻投了履歷,沒想到很幸運的拿到實習的門票了,在升碩一的暑假進到 beanfun! 參與兩個月的暑期實習計畫。

背景

我大學是資管系,在學期間有修習幾門關於AI、機器學習的課程,大學的畢業專題則是做和強化學習相關的主題。在 beanfun! 的實習是自己第一個 AI 實習,希望可以透過這個工作體驗 AI 工程師的日常生活(順便了解一下自己到底適不適合這個工作XD)。

關於實習

進來後,我們是到 Data Team — 大數據與資料科學研發處 — 擔任實習生,Data Team 是橘子集團新近成立的,team 內的主要工作就是提供 beanfun! 底下各平台的 AI 數據服務。這段期間同時有其他兩位實習生一起加入 Data Team,雖然是在同一個 team,但基本上我們是各自擁有任務。即使沒有一起合作,有其他實習生坐在一起也比較有伴,可以互相分享工作上的事情、或是排解工作上面臨困難的鬱悶。

實習任務

進來熟悉環境幾天後,我們就可以開始發想自己有興趣的研究題目,如果沒有想法也不用擔心,可以從他們提供的 list 中選一個題目做研究(最後大家都從 list 上選擇題目了),而選完題目後,這兩個月中他們也會安排一個 mentor 給你,在有問題的時候可以有一個最直接的詢問對象。

暑假這兩個月的實習主要分成 Research 和 implementation 兩個階段:

第一個階段主要就是進行 study,簡單來說,就是做 research 來找到一個合適的方法解決研究題目的問題,像我負責的題目,目標是做跨領域服務的推薦系統,大家可以依照自己對題目領域原本的了解程度去安排研究進度,大概有兩到三個禮拜的工作就是在讀 paper,過程中可能會先 survey 合適的 paper list,mentor 會給予建議再去選擇合適的 paper 去細讀裡面的內容,這個階段的最後會有一個 midterm research proposal 以及 paper sharing ,paper sharing 主要就是要了解裡面內容然後整理好和大家分享,research proposal 則是從 paper 裡面挑選合適的方法模型去做下一階段的實作提案,主管或其他工程師也會根據他們的經驗給予你意見。

第二個階段則是進行實作,我覺得這部分和課堂中最大的不同就是有業界真實的資料可以使用,聽起來雖然很美好,可以用業界資料進行研究,但資料前處理真的比起 open source的data 整理起來要更花時間,零零碎碎需要處理很多事情(mentor :歡迎來到真實世界XD),還沒開始建模型,光前置資料的處理可能前前後後就花上一個禮拜以上,後面慢慢地將資料丟到 model 去訓練,甚至去修改模型架構來符合公司需求,慢慢debug,和整理結果,
最後一個禮拜則是有一個 final presentaion 來展現這兩個月的研究和實作成果。

我學到什麼

# 如何清楚理性的表達自己的想法和換句話說

原本對工程師的既定印象可能是不擅於表達,只要能寫出很棒的程式、很好的模型有好的成效就夠了。但表達卻是日常工作上非常重要的一環。小至日常討論上可以清楚提出自己的問題與想法,大至在會議報告中讓台下與會者可以了解你的報告重點和目標,都需要良好的表達能力。另外,如何換句話說讓非技術( 或AI )背景的人可以理解你的成果,也是很重要的,除了和同樣為機器學習工程師的人合作,工作上可能也需要和其他專業的工程師或沒有技術背景的PM 合作。如何換句話說,將技術包裝成較好理解的文字,並將模型能提供的價值和限制,清楚傳達給其他合作者讓他們理解,就顯得格外重要。另外,在業界很重要的是模型是否能進行商用,讓 PM 可以更容易去使用甚至發想應用我們所提供的技術,進而提升商業價值。

# 了解和體驗業界工程師的工作內容

除了 project 研究和實作工作以外,在兩個月計畫中我們是用 scrum 來跑整個流程,每週我們會開 demo and planning meeting,來展示和討論上週的成果,並規劃下一個 sprint 的工作內容,每天早上也有 daily meeting 來同步大家的進度,有問題或遇到困難也可以即時提出來討論。另外,team 內是用 GitLab 來管理 project code,除了學習使用 GitLab 之外,也能完整經歷 code review 的過程,不像在學校的專案作業常常只追求最後程式跑得動就好,在工作上的專案更注重你程式未來的延展性以及易讀性,同時在 code review 的過程確認程式內容沒有問題,以及是否 match 團隊的 coding style 規範。

結語

當初參與這個實習很大一部分理由是希望可以了解他們的工作內容,但獲得和學到的卻比原本預想的更多。

原本單純想透過這個實習來了解 AI 在業界的應用,實習工作可能是幫忙他們專案的一小部分工作內容。進來後卻發現 team 上讓我們實習生自己 own 一個 project,從研究階段到實作驗證都由我們負責,雖然因此比原本想像中多了一些壓力,但也從中學習了很多。過程中,每週的會報他們也都會給予你專案上的建議以及他們的經驗分享,mentor 也會不定時的關心你的工作狀況,讓你不至於在茫茫問題中迷失了方向。

在 project 之外,如果對於工作中特定內容比較有興趣,也可以勇於提出討論,在專案之外,mentor 也很常關心實習生的想法,我記得有次在聊天過程中提到,我想要從這兩個月中學習的事情,以及當初參與這個實習的目標,那時候我就有提到最初申請實習的想法,希望可以透過這個工作體驗工程師的日常生活。因此在這兩個月的計畫裡,也特別加入對實習生進行 code review 的部分,這也是自己覺得最特別的地方,在實習的過程中對我來說是一個雙向的回饋過程,team 內也很關心我們實習生的想法和狀況而做適時的調整和改動。

這兩個月的實習雖然不能說是很輕鬆,但不管是在整個規劃上或是工作內容都讓自己覺得很幸運有機會參與這個實習計畫,而在工作環境或是公司福利的部分,整體也都很讓人嚮往,但這個部分就不在這邊多加琢磨,就推薦給其他對 AI 工程師或 beanfun! 其他職位有興趣的你自己進來體驗了~!

筆者品萱於2022參與beanfun!暑期實習計劃,在大數據與資料科學研發處完成兩個月的實習。

--

--