前言
大家好,我是 Amber Chen,目前在 Data Dev, Data & ML Platform Team 擔任 Intern。
從校園走向真正的產品開發環境,這段轉變充滿挑戰,也讓我第一次深刻感受到「把技術落地到真實世界」所需要的責任與思維。在 LINE 這個高手雲集、節奏迅速且講求品質的環境中,我從一名對企業級流程仍懵懂的新手,逐步學習如何參與大型系統、資料平台與 AI 服務的開發。透過實際體驗 DevOps 與 MLOps 的完整流程,我看見了工程師在系統背後,為可靠性與可擴展性所進行的長期工程投入。
今天想透過這篇文章,分享我在 LINE 的學習旅程,包括參與的專案、面對的挑戰,以及在團隊協作、技術能力與開發思維上的成長。希望能為即將步入職場、或對資料與 AI 工程領域感興趣的讀者,帶來一些實用的觀點與啟發。
Data Dev Team 負責的任務
在 LINE 的產品與服務背後,每天都會產生大量多元的資料,包含文字、影像、使用者操作行為等。而 Data Dev Team 的核心使命,就是支援這些資料從原始收集到最終成為 AI 應用的完整生命週期。
在 Data Processing 階段,我們整理並清洗來自不同來源的資料,確保其可用性;在 Data Utilization 階段,團隊會進一步分析整理後的資料,並建立模型,讓資料能夠轉化為具體且可行的洞察與預測;最後在 AI Applications 階段,將模型整合到產品中,讓生成式模型 、推薦系統或偵測服務落地,為 LINE 使用者帶來實際價值。
透過這樣從資料處理、分析、建模到應用的完整流程,Data Dev Team 確保 LINE 的資料與 AI 能力能持續推動產品創新,並在各項服務中發揮最大效益。
我參與過的專案
LINE SHOPPING:Object Detection Service Development
我加入 LINE 後參與的第一個專案,是 LINE SHOPPING 中以圖搜圖功能的 Object Detection Service 開發。我在這個專案負責的部分涵蓋了整個開發流程,包括模型研究與選擇、資料處理、流程建置,和完整的模型訓練及部署。最具挑戰性的部分,是我們的原始資料並未經過標記。而在資料缺乏標註的情況下,我們如何訓練出高效能的模型,是一大難題。為了解決這個問題,我們採用了 Auto-Labeling 與人工互動輔助的方式來生成訓練資料,最終顯著提升了模型的整體準確度。
OA: Image Forgery Detection
在 LINE 生態系中,有大量官方帳號供使用者取得資訊或服務。然而,隨著詐騙行為日益猖獗,不肖人士可能會偽裝成官方帳號進行不法活動。為了阻擋這類風險,我們著手進行圖片偽造識別與相似度偵測的研究。希望能透過模型比對申請者所上傳的圖片,當相似度達到一定門檻時,便對該申請帳號採取相應的處置,以降低偽冒官方帳號的可能性,保障使用者安全。
Internal Service: Image & Text Generation
除了面向使用者的服務之外,Data Dev Team 同時也負責內部工具開發,提升其他開發團隊的工作效率。這個專案的核心目標是協助大家生成文案與圖片,並打造一個 Agent,將現有工具串接起來,讓使用者能更便捷地操作。我主要負責 Agent 的研究與後端開發工作。
如何真正把專案做「穩定」:DevOps 與 MLOps 的價值
剛開始實習時,我就體悟到,在公司開發與在學校做 Side Project 或課堂作業,完全是不同層次的世界。
在學校,我們常見的開發方式往往缺乏完整的版本管理與持續測試,並且通常在交付前才一次性整合程式碼,也較少要求一致的程式碼風格。
這樣的方式在小規模專案中或許尚可運作,但若直接套用到企業環境,往往會造成團隊協作困難、品質不一致且維護成本高昂、錯誤容易在一次更新中集中爆發,並讓每次部署都充滿不確定性,系統也更容易在高負載或複雜情境下失效。
因此,在 LINE 的開發流程中,透過 DevOps 與 MLOps 建立穩定、可持續的工作流程,成為確保產品品質與服務可靠性不可或缺的一環。
DevOps:讓軟體工程從「完成」走向「可持續」
如果用一句話形容 DevOps,它是一種讓軟體可以持續、可靠被開發和部署的工作方式。
它透過版本管理、自動化測試與部署流程,讓團隊在多人協作時,能安心地修改程式碼、不用擔心一個改動就影響整個系統。DevOps 的核心目的不是追求速度而已,而是確保每一次更新都是可預期、可追蹤、可回溯的,讓軟體能在長時間運作與頻繁更新的情況下,依然維持品質與可靠性。
在這樣的 DevOps 流程中,CI/CD(Continuous Integration / Continuous Delivery) 扮演著關鍵角色。每當程式碼有更新時,系統會自動進行建置與測試,確保新修改不會破壞既有功能,並透過自動化的部署流程將變更安全地推送到不同環境。透過 CI/CD,團隊能降低手動操作帶來的風險,讓部署不再是一件高壓且充滿不確定性的事情,而是成為一個可預期、可重複的日常流程。