2020 Techo Park開(kāi)發(fā)者大會(huì)召開(kāi),作業(yè)幫分享拍搜系統(tǒng)架構(gòu)演變歷程

12月19日至20日,由騰訊主辦的2020TechoPark開(kāi)發(fā)者大會(huì)于北京召開(kāi)。據(jù)悉,本次大會(huì)邀請(qǐng)了全球超200位頂級(jí)技術(shù)專家來(lái)到現(xiàn)場(chǎng),與數(shù)千位參會(huì)者就云計(jì)算、大數(shù)據(jù)和人工智能等前沿技術(shù)話題展開(kāi)深度交流,為中國(guó)及全球云計(jì)算愛(ài)好者、從業(yè)者、開(kāi)發(fā)者提供最具參考價(jià)值的創(chuàng)新分享。

2020 Techo Park開(kāi)發(fā)者大會(huì)召開(kāi),作業(yè)幫分享拍搜系統(tǒng)架構(gòu)演變歷程

作業(yè)幫視覺(jué)智能實(shí)驗(yàn)室架構(gòu)負(fù)責(zé)人程童受邀參加大會(huì),并發(fā)表了題為《作業(yè)幫拍照搜題系統(tǒng)架構(gòu)的演變》的主題演講,系統(tǒng)地介紹了作業(yè)幫拍搜系統(tǒng)概況、不同階段面臨的問(wèn)題和應(yīng)對(duì)方法,以及GPU服務(wù)虛擬化的實(shí)踐經(jīng)歷和取得的遷移效果。

底層技術(shù)加持,作業(yè)幫拍搜助力用戶精準(zhǔn)獲取全面信息

作為中國(guó)最大的K12在線教育公司,作業(yè)幫致力于用科技助力教育普惠,解決教育領(lǐng)域痛點(diǎn),旗下?lián)碛凶鳂I(yè)幫、作業(yè)幫直播課、作業(yè)幫口算、鴨鴨AI課、智能硬件喵喵機(jī)等多款教育產(chǎn)品,總?cè)栈钣脩舫?000萬(wàn),月活用戶超1.7億,累計(jì)激活用戶設(shè)備超8億。其中,作業(yè)幫APP是進(jìn)入中國(guó)應(yīng)用市場(chǎng)Top30的唯一一款教育類APP,作業(yè)幫直播課是中國(guó)在線教育領(lǐng)軍品牌,累計(jì)服務(wù)學(xué)員已超6500萬(wàn)。

在作業(yè)幫的整套產(chǎn)品鏈條中,拍搜系統(tǒng)提供了底層的技術(shù)支持。據(jù)程童介紹,作業(yè)幫拍搜系統(tǒng)擁有多項(xiàng)OCR、檢索、系統(tǒng)專利,率先在業(yè)界實(shí)現(xiàn)“隨手一拍,秒出答案”。與此同時(shí),隨著拍搜功能的不斷拓展,作業(yè)幫完成了從單題到整頁(yè)再到猜你想拍,從搜索到批改再到打分的全方位搜題場(chǎng)景設(shè)定,充分幫助學(xué)生提高學(xué)習(xí)效率。

據(jù)了解,作業(yè)幫拍搜算法架構(gòu)主要分為OCR和檢索兩部分。其中,OCR系統(tǒng)主要任務(wù)是將所拍內(nèi)容識(shí)別成文本,由多個(gè)策略&預(yù)處理模塊,以及大量使用GPU作為運(yùn)算設(shè)備的深度學(xué)習(xí)在線推理服務(wù)組成;而檢索系統(tǒng)的主要任務(wù)是通過(guò)識(shí)別出的文本檢索答案,包含策略層、正排系統(tǒng)、倒排系統(tǒng)和離線建庫(kù)四個(gè)主要部分,針對(duì)拍照搜題這個(gè)垂直領(lǐng)域進(jìn)行了大量的策略優(yōu)化。

程童表示:“針對(duì)用戶在不同使用場(chǎng)景下可能出現(xiàn)的模糊、傾斜、低像素、干擾等各類拍照問(wèn)題,作業(yè)幫在持續(xù)5年以上的自主研發(fā)和數(shù)據(jù)積累中,不斷進(jìn)行算法迭代和架構(gòu)完善。”

在一次完整的文字識(shí)別流水線中,作業(yè)幫拍搜系統(tǒng)擁有超30種不同的神經(jīng)網(wǎng)絡(luò)各司其職,平均一次識(shí)別可運(yùn)行260次以上的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)。此外,通過(guò)構(gòu)建大規(guī)模的并行GPU集群,平均只需要200毫秒,便可完成一次完整的識(shí)別流程,且作業(yè)幫系統(tǒng)在一分鐘可完成百萬(wàn)次這樣的搜題請(qǐng)求。對(duì)于識(shí)別出的題目?jī)?nèi)容,系統(tǒng)可以在索引量超過(guò)3億的題庫(kù)搜索引擎中進(jìn)行匹配,確保用戶獲取更全面和準(zhǔn)確的信息。

從更快更準(zhǔn)到快速應(yīng)變,有限算力下的極限探索

程童在演講中提到,在過(guò)去的六年里,作業(yè)幫拍搜系統(tǒng)以兩年為進(jìn)化周期,大致可分為三個(gè)發(fā)展階段,每個(gè)階段因業(yè)務(wù)場(chǎng)景和系統(tǒng)規(guī)模不同,面臨的問(wèn)題也有所不同。2015年至2016年屬于第一階段,作業(yè)幫拍搜系統(tǒng)業(yè)務(wù)剛起步,需要解決的核心問(wèn)題是更快和更準(zhǔn)。更快是為了提供更好的用戶體驗(yàn),更準(zhǔn)則容易形成口碑傳播,吸引更多用戶。

為了實(shí)現(xiàn)“隨手一拍,秒出答案”的效果,作業(yè)幫視覺(jué)智能實(shí)驗(yàn)室工程架構(gòu)團(tuán)隊(duì)從并行計(jì)算、調(diào)度策略、工程實(shí)現(xiàn)三方面做出了努力。團(tuán)隊(duì)率先將GPU用于在線推理服務(wù):使用CPU做預(yù)處理,利用GPU強(qiáng)大的并行運(yùn)算能力運(yùn)行深度神經(jīng)網(wǎng)絡(luò),上線后取得了10倍的加速效果,平均耗時(shí)從3秒以上縮短至300多毫秒,后續(xù)持續(xù)優(yōu)化到平均200毫秒。團(tuán)隊(duì)還自研輕量級(jí)RPC框架,設(shè)計(jì)適合多GPU協(xié)同的線程池和調(diào)度策略,高峰期GPU利用率達(dá)到90%以上。

伴隨業(yè)務(wù)流量的持續(xù)上漲,作業(yè)幫拍搜系統(tǒng)在2017年至2018年進(jìn)入發(fā)展的第二階段,不斷擴(kuò)張的業(yè)務(wù)引入了更多的算法模型,需要不斷開(kāi)發(fā)交付新的服務(wù);算力需求的快速上漲又帶來(lái)了成本上的壓力。這兩年,團(tuán)隊(duì)在開(kāi)發(fā)和運(yùn)維雙線面臨挑戰(zhàn)。

團(tuán)隊(duì)迅速調(diào)整策略,制定應(yīng)對(duì)方案。首先,優(yōu)先滿足業(yè)務(wù)發(fā)展需求,盡快交付服務(wù),確保算法模型的快速上線;同時(shí),盡力優(yōu)化系統(tǒng)環(huán)境,減少技術(shù)債務(wù)。例如,針對(duì)環(huán)境異構(gòu)的問(wèn)題,團(tuán)隊(duì)通過(guò)升級(jí)接入層,優(yōu)化自研RPC客戶端,滿足多機(jī)房、多機(jī)型負(fù)載均衡以及實(shí)驗(yàn)分流需求;通過(guò)遷移服務(wù)器的機(jī)會(huì)收斂異構(gòu)機(jī)型和環(huán)境;不斷根據(jù)業(yè)務(wù)情況調(diào)整優(yōu)化系統(tǒng)部署,將日常操作自動(dòng)化,提高管理效率。

經(jīng)過(guò)技術(shù)團(tuán)隊(duì)不懈努力,在業(yè)務(wù)不斷擴(kuò)展、流量持續(xù)增加的情況下,系統(tǒng)有力支撐了作業(yè)幫拍照搜題類業(yè)務(wù)的發(fā)展,自身也成長(zhǎng)到了一定規(guī)模。

虛擬化突破兩大矛盾,顯著遷移效果激發(fā)更多可能性

2019-2020年系統(tǒng)進(jìn)入到第三階段,針對(duì)前期發(fā)展過(guò)程中的各種問(wèn)題,程童和團(tuán)隊(duì)沒(méi)有停留于表面,而是不斷回顧、總結(jié)和深挖,認(rèn)為之前出現(xiàn)的很多問(wèn)題,表現(xiàn)出的形式是性能和穩(wěn)定性相關(guān),但實(shí)際上是因?yàn)橄到y(tǒng)靈活性不足。在人力有限的前提下,以物理機(jī)(baremetal,裸金屬服務(wù)器)作為資源分配和系統(tǒng)管理的最小單位,無(wú)法突破兩個(gè)矛盾,即日益頻繁的變動(dòng)與系統(tǒng)管理之間的矛盾,和日益增長(zhǎng)的需求與資源管理之間的矛盾。為了突破這一瓶頸,團(tuán)隊(duì)選擇了虛擬化,具體實(shí)現(xiàn)形式是K8s和容器。

對(duì)于為什么選擇K8s,程童解釋道:“在最關(guān)鍵的資源分配環(huán)節(jié),K8s突破了機(jī)器的邊界,將資源抽象整合為資源池,應(yīng)用按需申請(qǐng),由調(diào)度器分配,解決了資源管理的矛盾;而通過(guò)抽象出pod、deployment、service等概念,可低成本實(shí)現(xiàn)應(yīng)用整個(gè)生命周期的自動(dòng)化,解決了系統(tǒng)管理的矛盾。”

為了減小系統(tǒng)遷移的風(fēng)險(xiǎn),團(tuán)隊(duì)制定了漸進(jìn)式的遷移步驟,首先對(duì)環(huán)境進(jìn)行標(biāo)準(zhǔn)化,對(duì)一些不適合容器環(huán)境使用的組件或功能進(jìn)行改造;之后將整個(gè)系統(tǒng)容器化運(yùn)行,了解和掌握相關(guān)數(shù)據(jù);最后實(shí)現(xiàn)灰度環(huán)境驗(yàn)證和線上系統(tǒng)遷移。針對(duì)K8s原生不支持按顯存調(diào)度的問(wèn)題,團(tuán)隊(duì)也通過(guò)研發(fā)調(diào)度插件給出了解決方案。

從目前的遷移效果來(lái)看,通過(guò)更細(xì)顆粒度的資源分配和服務(wù)混部,部分集群遷移后節(jié)省了50%的機(jī)器資源,資源利用率也大大提升;而通過(guò)遷移獲得的彈性伸縮能力,可以讓系統(tǒng)在應(yīng)對(duì)流量高峰時(shí)更游刃有余;相比于集群調(diào)整平均需要2小時(shí)的物理機(jī)時(shí)代,如今平均只需要10分鐘即可完成;而在故障處理方面,也從原來(lái)的平均20分鐘縮短至平均5分鐘,對(duì)于簡(jiǎn)單故障,系統(tǒng)可以實(shí)現(xiàn)無(wú)人工介入。

2020 Techo Park開(kāi)發(fā)者大會(huì)召開(kāi),作業(yè)幫分享拍搜系統(tǒng)架構(gòu)演變歷程

在程童看來(lái),遷移效果遠(yuǎn)不止如此,虛構(gòu)化改造所帶來(lái)的靈活性,讓之前許多不方便的事情變得更加便捷,創(chuàng)造了許多可能性。未來(lái),作業(yè)幫技術(shù)團(tuán)隊(duì)將持續(xù)搭建先進(jìn)技術(shù)系統(tǒng),不斷突破在線教育發(fā)展所遇到的技術(shù)難題,真正實(shí)現(xiàn)以科技賦能在線教育創(chuàng)新發(fā)展。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )