Line Today
Line Today臺灣開發團隊日前分享自家系統架構和機器學習推薦平臺工具鏈,這套提供各種新聞和影音內容、擁有1,800萬名月活躍用戶的平臺,使用不少熱門開源工具,像是用MongoDB、HBase來處理不同特性的資料和存取頻率,以及用Redis加速處理流程、以Kafka同步不同服務的更新。
此外,團隊也透過Line開發的ML平臺,來執行內容分析和推薦工作。這套ML平臺也採用不少主流開源工具,像是用Spark、Hive處理和運算不同類型資料,並用AirFlow自動化模型訓練和推論工作。他們也用MLFlow,來管理不同實驗數據和指標。這整套Line Today系統,就部署在開源容器管理平臺Kubernetes(簡稱K8s)上。
Line Today如何用開源工具打造內容平臺架構
Line從2016年開始在臺推出內容入口平臺Line Today,不只提供文字新聞,後來也提供影音、直播等內容,甚至連天氣、電影介紹和投票都包括在內。這幾年,這個內容平臺還進一步從臺灣擴展到印尼、泰國、香港等市場,也根據不同地區特性,發展出在地特色內容。目前,Line Today在臺每月活躍用戶數達1,800多萬人。
要支援這麼種類型的數位內容的提供,Line Today如何處理?
Line Today臺灣團隊成員Rita Yang首先揭露整體系統運作架構,首先,為獲取內容來源,Line Today與許多媒體合作,媒體會先透過類似RSS的訂閱通知機制,將新內容發送至Line Today的專屬伺服器(Feeding server)。此時,Line Today內部編輯會透過內容管理系統(CMS),挑出合適的內容,並發布在Line Today版位上。
再來,考量到不同的資料特性和存取頻率,團隊採用開源資料庫MongoDB、高效能的HBase架構來處理,並以開源資料庫Redis來加速處理流程,再以Kafka同步不同服務的訊息更新。
在使用者端,Line Today除了透過內容傳遞網路(CDN)來保護系統,也將使用者瀏覽的圖片、影音等內容,存放於物件儲存庫(Object Storage)中。
在整體資料處理流程中,還有一個關鍵步驟,驅動著後續的ML推薦系統。團隊在使用者同意資料使用條款的前提下,利用前端函式庫,來收集使用者瀏覽行為,統一彙整到內部的IU資料倉儲中。
這一步很重要,因為,這些資料是團隊用來分析、找出使用者喜好的關鍵資料,更是ML平臺用來訓練推系統不可或缺的資料。
AirFlow排程、MLFlow管理數據,ML平臺也藉助不少主流開源工具
Line Today團隊能用這個ML平臺和自然語言處理(NLP)技術,先萃取出使用者偏好瀏覽的文章內容關鍵字,並比較不同文章的相似度,來推薦使用者可能感興趣的內容。
Rita Yang進一步說明平臺所採用的工具鏈,首先,在開發環境上,他們將Jupyter Notebook打包成一個開發環境Jutopia,讓資料科學家,更方便存取收集在內部IU資料倉儲中的使用者瀏覽行為資料,好用來探索、開發模型。在模型運算時,團隊採用開源大數據分析工具Spark和Hive,來處理、運算不同資料,並利用NSML系統調度CPU和GPU資源。
在模型開發階段,他們也利用開源機器學習平臺MLFlow,來管理不同實驗數據和指標。當模型準備正式上線,團隊則採用開源排程管理工具AirFlow,來管理模型周期性訓練或周期性推論。
在模型正式部署階段,團隊則利用開源部署工具BentoML打包成即時工作管線,來與不同服務的介面介接。如果需要批次處理,團隊則透過Jutopia Notebook,將模型與IU資料倉儲離線整合。
而整套Line Today內容平臺,就部署在K8s上。
資料團隊負責優化推薦系統,還有4組Scrum團隊來解決4國市場需求
Line Today臺灣團隊裡面,還有一組資料團隊,專門負責改善平臺服務。
他們把改善工作細分為服務、模型和底層平臺。在服務部分,他們把重心放在新聞內容理解,利用自然語言理解(NLU)分析文章、進一步找出相關性,來優化推薦系統。在模型部分,他們鎖定關鍵字抽取、文章分群分類器,來改善模型,進一步優化推薦系統。Rita Yang透露,近期團隊也運用收集的使用者資料,來理解使用者意圖、找出使用者可能感興趣的內容,實現精準內容推薦。在底層平臺部分,團隊則聚焦線上預測和服務流程的穩定性,要進一步開發特徵分布和模型表現監控儀表板,來評估模型有效性和資料適用性。
她也表示,Line Today鎖定的受眾是年輕用戶,因此,這些優化措施也以年輕用戶為主。至於推薦系統處理的資料類型,則不限於文章,還包括影片。
Line Today是臺灣推出的內容平臺,資料團隊開發的模型不只在臺灣使用,也是香港、泰國、印尼等地市場的參考。當其他市場提出需求後,臺灣還有4組敏捷團隊來進行海外市場的在地化優化。在開發過程中,臺灣的產品負責人(PO)會收集臺灣、香港、泰國和印尼等地提出的需求,統整後,再由上述4組敏捷團隊處理。這種做法很特別,有別於Line臺灣大多支援總部開發工作的模式,Line Today平臺的優化、開發都由臺灣團隊處理,就像是總部開發中心一樣。
熱門新聞
2024-11-18
2024-11-12
2024-11-20
2024-11-15
2024-11-15
2024-11-19