祝全天下的開發者朋友,新年職業發展虎嘯風生,新年工資增速如虎添翼,新年愛情運勢虎躍龍驤,新年代碼事故下虎口逃生,虎!虎!虎!
軟件工程圣經《人月神話》一書中曾提到“軟件開發沒有銀彈”,事實也正是如此,復雜的軟件工程問題無法靠簡單的答案來解決。在字節跳動,海量數據、復雜業務場景、快速發展的業務規模,都對業界成熟的開源技術方案帶來了或多或少的挑戰。字節跳動各技術團隊在充分調研了業界成熟方案后,從業務實際出發,自研了多套取得了卓越成效的方案與工具,其中部分已開源,部分已集成到火山引擎服務中,更多方案在內部打磨成熟后也將開放給業界使用。
以下內容為過去一年中,字節跳動技術團隊公眾號所發布的自研技術方案集合,以饗讀者。
字節工程師自研基于 IntelliJ 的終極文檔套件
眾所周知,程序員最討厭的四件事:寫注釋、寫文檔、別人不寫注釋、別人不寫文檔。因此,想辦法降低文檔的編寫和維護成本是很有必要的。為解決寫文檔原始模式的諸多痛點,字節工程師自研的基于 IntelliJ 的終極文檔套件方案可以做到完全脫離瀏覽器 / 文檔編輯器,線上頁面的同步完全交給定時觸發的自動化部署。
字節自研 Android 虛擬機內存管理優化黑科技 mSponge
字節自研的 Android 虛擬機內存管理工具 mSponge,從應用側視角對 Android 虛擬機內存管理進行改造,優化了虛擬機對 LargeObjectSpace 的內存管理策略,間接增加其它內存空間使用上限。改造后的方案,32 位運行環境 LargeObjectSpace 的內存使用上限可達到 2G 甚至更多(64 位環境使用上限理論上會趨于無限大)。通過本方案可以最大程度上從系統側解決諸多應用都會遇到的內存瓶頸和 OOM 問題,一鍵接入,安全可靠。
拯救OOM!字節自研 Android 虛擬機內存管理優化黑科技 mSponge
自研推薦系統大規模 Training & Serving 方案 Monolith
Monolith 是字節跳動火山引擎智能推薦平臺中的大規模 TrAIning 和 Serving 方案,包括了 Training/Serving/Parameter Sync 等,是一套完整的系統方案。與業界其它系統相比,Monolith 成功應對了多方面的挑戰,具備以下特色:解決了 TensorFlow PS 通信瓶頸、全方位容錯、分布式 Serving、性能優化等,目前,Monolith 已通過推薦平臺,成功應用在電商、社區、視頻等多個行業的場景上,效果、穩定性、性能均得到了充足的驗證。未來,我們也將繼續保持高速迭代,不斷優化用戶體驗和平臺功能。
字節優化版性能檢測工具 atop
atop 是一款開源的單機性能監測工具,支持實時觀測的同時、也支持讀取歷史文件排查問題。另外一個優點是除提供 CPU、MEM、DISK 等全局指標外,還提供進程、線程級別的各項指標監控數據。字節跳動基于社區的 atop 進行優化,目前已迭代 3 個版本,穩定運行接近三年,新增包括 NUMA 聚合、JSON 格式輸出、交互界面改進、日志相關改進及其他特性優化。
自研 OpenBMC 方案
OpenBMC 是 Linux Foundation 組織里的一個項目,也是目前開源 BMC 里方案最成熟、社區最活躍的項目。字節跳動系統部 STE 團隊自研的 OpenBMC,已在內部成功上線,并穩定運行了四個多月。這也是字節跳動首次正式上線并初步產品化的 OpenBMC 方案。同時,STE 團隊的工程師們,也在 OpenBMC 開源社區里提交了涉及新 feature 及 bug fix 的諸多 commits,目前已經成為了 OpenBMC Technical Oversight Forum (TOF) 的一員。
字節跳動自研 OpenBMC 方案成功上線,STE 團隊工程師都做了哪些事?
自研同傳系統「火山同傳」
2021 北京智源大會上,火山翻譯推出的產品 「火山同傳」 為會議現場和線上直播提供 「低延時、高質量」 的同傳字幕,助力大會順利召開。字節跳動 AI-LAB 智能語音團隊對 RNN-T 模型做了較多嘗試和探索,通過數據的不斷積累、算法的持續優化,基于 RNN-T 模型的自研端到端語音識別系統獲得了顯著優于 CTC 模型的性能,被應用到了會議轉錄、同傳等多個業務中,都取得了較好的反饋。
自研智能化測試系統 Fastbot
Fastbot 是由字節自研的客戶端智能測試工具,主要適用客戶端穩定性/兼容性/壓力測試。目前 Fastbot 已支持多平臺:Android,iOS,Web,PC 等。目前,Fastbot 已廣泛應用于字節客戶端類產品的穩定性測試與兼容性測試。每日啟動任務數超過 1 萬次,每月平均發現 5 萬個以上的崩潰。借助 Fastbot 的能力,我們在發版前就可以修復大部分的 crash,確保線上用戶的使用體驗。同時,Fastbot 在整個 DevOps 流程扮演重要的基礎服務角色。其中 iOS、Android 版本均以開源。
自研端智能一體化方案 Pitaya
Pitaya 是字節跳動移動平臺團隊與 MLX 團隊深度合作共建的一套從端(云端)到端(終端)的全鏈路動態部署方案。Pitaya 是專門為移動端打造的端智能一體化方案,與傳統方案相比,具備以下優勢:降低了端智能使用成本,方便業務快速集成,拿到業務收益;;完善的動態化能力,支持模型的快速迭代與效果驗證;提升多方協作的效率,讓算法工程師深入參與客戶端場景中;算法、模型高度復用,可以快速推廣已經驗證的方案。目前,字節跳動內已經有抖音、頭條、西瓜等眾多產品線基于 Pitaya 開始了端智能的實踐和探索,后續還將規劃特征工程、模型自衍化、通用 AI 能力建設等新功能。
下期字節技術年貨預告:實踐篇
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。