天天看點

京東零售基于NLP的風控算法模型建構實踐

作者:DataFunTalk

17位進階專家共同打造,涉及15個領域,133個體系架構,1000個細分知識點!

關注公衆号“大話數智”,免費下載下傳這份《資料智能知識地圖》⬇️

京東零售基于NLP的風控算法模型建構實踐

導讀:本團隊主要負責京東零售領域的風控算法模型建構,針對京東零售風控方面,業務要求不斷地更新、模型失效快、更新疊代慢以及成本高昂等情況,我們提出了自己設計研發的 NLP 預訓練架構模型和使用者行為預訓練模型,并進行預訓練模型的平台化,友善一鍵部署開發,快速疊代,簡單易用,推理速度提升等,有效解決了業務問題,并在公開資料集上也得到了很好的效果。

本文将對我們的一些工作進行介紹,并對未來京東零售風控的發展方向進行展望。主要包括以下幾部分:

  • 背景介紹
  • NLP 預訓練
  • 使用者行為預訓練
  • 預訓練平台化
  • 展望

分享嘉賓|王三鵬 京東零售 風控算法架構負責人

編輯整理|任文強 xtransfer

出品社群|DataFun

01

背景介紹

首先介紹一下京東零售風控的背景。

京東零售基于NLP的風控算法模型建構實踐

如上圖所示,京東零售風控的任務是維護京東零售平台健康的交易生态環境,主要包括主站 APP、PC 端等。場景包括 C 端和 B 端兩大部分。

C 端風控主要針對惡意刷券,使用外挂軟體擷取權益,比如用一些黑客軟體搶茅台等,還有一些廣告辱罵的内容,比如發小廣告、不合規的内容等,以及價格方面的管控等。B 端風控主要是針對商家刷單行為、惡意套利行為,以及客服防騷擾。

京東零售基于NLP的風控算法模型建構實踐

如上圖所示,零售風控算法能力整體上分為使用者行為和文本兩大部分。使用者行為這一塊,通過上面提到的場景,算法人員可以将這些場景的資料建構成統計特征、序列行為特征,比如浏覽頁面等。文本這一塊,主要是内容風控,包含輿情,位址異常等場景識别作為基礎,以 NLP 的文本特征作為識别的基礎。風控領域相對于其他領域的 NLP 場景,其主要的特點是異音異形字的識别,比如加微信,如上圖中所示,通過一些異形字型,+薇信,躲避文本的風控檢測。

以上兩大場景,存在以下幾個問題:

  • 第一,失效快,比如廣告引流場景,模型很快就會有效果衰減,具體原因就是惡意攻擊者,會反複嘗試不同的字型和形式,用以破解算法模型,進而達到自己的目的,導緻模型失效或者效果下降。
  • 第二,針對新的業務場景,需要大量的人工标注資料,人工标注的成本會非常高,而且耗時比較長。
  • 第三,模組化的效率低,效果差,因為首先要做特征,特征完之後,再預訓練模型,整個鍊條拉得非常長,等到模型做好之後,業務方可能不需要這個模型了,或是效果不能達到預期,有的模型效果要求準确率達到接近 100%。

針對這三個問題,我們做了一些思考研究。針對失效快的問題,是否可以建立一個長期有效的機制來解決;針對需要人工标注大量資料這個問題,是否可以建立一個小樣本學習能力的模型,不需要标注那麼多的标簽資料,使用無監督的方式進行訓練;針對模組化效率低、效果差等,是否可建立一個特征,模型平台化自動生成的機制,使預訓練模型和大模型更好地發揮作用,快速模組化和生成模型。

基于以上思考,我們依賴于預訓練技術,做了一些改進優化。

--

02

NLP 預訓練

京東零售基于NLP的風控算法模型建構實踐

如上圖所示,NLP 是風控内容、輿情、位址等風控能力的基礎,而且,近年來,預訓練技術是處理 NLP 的最常用的方式。整體的流程如上圖所示:首先資料采集,然後進行模型預訓練,最後對模型進行微調。

京東零售基于NLP的風控算法模型建構實踐

如上圖所示,本團隊也嘗試在開源 Bert 上進行微調訓練,發現效果很差,主要原因有三:第一,公開資料集覆寫的是普通文本,不是風控領域的資料,是以,收斂效果很差;第二,開源的資料集上沒有生僻字等情況,導緻訓練出的模型容易失效,因為風控領域有很多的生僻字;第三,在小樣本的訓練集上效果不好。整體而言,就是資料偏差,即沒有風控領域的資料進行訓練,導緻開源 bert 的效果無法發揮出來。

首先,常見的 bert 改進分為三個方面:

  • 第一,資料方面,主要通過采用更多的資料集,或者有效資料的清洗政策;以及針對特殊領域引入領域内的資料,包括引入其他嵌入模型等,比如 Chinese-Bert,Ernie-T 等模型。
  • 第二,改變訓練任務,進而提高模型的泛化能力。主體上的改進方向有以下幾種:删減 NSP 預訓練任務,比如 Roberta;基于實體的掩碼語言模型,比如 BERT-wwm 等;以及引入其他有效的預訓練任務等,比如 ERNIE 等。
  • 第三,其他的應用方向,比如一些跨語言模型,跨模态模型等。

結合以上問題,以及常用的 BERT 改進方向,本團隊設計出一個适用于風控領域的自适應模型。

京東零售基于NLP的風控算法模型建構實踐

如上圖所示,結合調研的情況,本團隊在資料和字典這一塊,做了風控領域的資料和字典。如上圖左圖所示,主要是零售領域的業務資料,以及電商領域的資料,為了具有泛化能力,需要社群互動、對話資料以及百度百科等的資料,總共采集了 10 億條資料;在字典方面,如上圖右圖所示,增添了異音異形字、電商高頻字、生僻字等。

京東零售基于NLP的風控算法模型建構實踐

如上圖所示,第一步将語料和字典建構好,但是,如果僅僅引入生僻字,還是不具備足夠的泛化能力, 如果輸入換了一批生僻字,還是不能很好的識别,本團隊進行充分實驗和調研,針對異音異形字,有很多情況是形不一樣,但是音一樣,比如“+”和“加”,是一個音,是以添加了拼音的編碼。另一塊就是字形,比如“京東”的“京”,再加一個單人旁,變成“倞”,和“京”很相似,是以也引入了字形的編碼,進而提高對異音異形字的識别。

京東零售基于NLP的風控算法模型建構實踐

接下來,針對任務排程進行規劃。引入任務排程,主要是為了解決不同的業務場景,比如評論、輿情、位址、咨詢、直播等十幾個場景效果不均衡的問題。如上圖左圖所示,是本團隊調研的開源的解決方案。方案1主要是通過多任務的學習方式進行學習,是以,會導緻不同任務的收斂程度不一緻;方案2是通過持續學習,但是,但是,比如 task1 已經學習的非常好了,但因為後面的 task 并沒有訓練好,共享的BERT部分的參數還是會不斷的調整,可能會破壞 task1 已經學到的特征;方案3是結合了方案1和方案2,有一定的優化,但是,task 的難易程度是人為定義的,具有很大的主觀性,而且,也還是會存在 task1過度訓練的情況。

針對前面幾個方案的分析,本團隊提出了上圖右圖的方案,建構内循環可持續學習任務排程方案。首先,針對不同的任務進行分組,然後在訓練過程中,感覺到不同的組的訓練情況,比如某一個 task 的效果變差,即針對性的去訓練這個組,進而提升模型的能力。

京東零售基于NLP的風控算法模型建構實踐

接下來,如上圖所示,是本團隊針對訓練加速的方案設計。如果按照傳統的訓練方式,從頭訓練一個億級的規模模型需要十幾天的時間,如果是 T5 模型需要幾十天,耗時過長。本團隊基于京東自己的架構,并對資料和模型進行改進。首先,使用 ZeRO 的架構,可以在不影響通信效率的情況下,讓模型的記憶體均勻的配置設定到每個 GPU 上,減少單個 GPU 的顯存個,提高并行效率。其次,在操作融合方面,通過将多個操作進行融合,一次執行多個計算邏輯,減少全局記憶體的通路,有效的提高訓練吞吐。最後,基于多源頭資料讀取能力,充分發揮 A100 顯示卡潛能。

京東零售基于NLP的風控算法模型建構實踐

推理加速方面,因為模型部署主要是實時場景,對時延要求比較高,是以需要對模型進行蒸餾,提高推理速度。基本上使用業界的主流方式,将模型參數壓縮 90%,推理速度提升 3 倍,效果接近于原始預訓練模型。

京東零售基于NLP的風控算法模型建構實踐

上圖是本團隊預訓練模型的效果展示。因為使用了開源資料集的緣故,是以具有泛化性,在開源的 6 個資料集上,基本上都達到了最好的效果。在内部資料集上,廣告識别,以及異常位址識别,有非常明顯的提升。在業務名額上,模型更新以及模組化速度有了非常大的提升,并且小樣本訓練的效果有了非常大的提升。

--

03

使用者行為預訓練

京東零售基于NLP的風控算法模型建構實踐

接下來介紹使用者行為預訓練。前面講到,使用者行為是風控能力識别能力的基礎,行為模型的深度決定了風控能力的上限。預訓練模型使用以前,不同的業務場景,會各自建設一個風控的模型,存在重複性的勞動,而且特征選擇不盡相同,各個場景都是從 0 到 1 獨立的模組化。該方式存在的問題:

  • 第一,效率低,統計特征建構速度慢、人工澆築慢,未能有效利用龐大細分場景标簽;
  • 第二,效果差,模型簡單、模組化方式簡單,魯棒性差等;
  • 第三,底層支援少,缺少統一模組化方案。

預訓練模型的特點,可以克服以上幾個問題,畢竟預訓練是站在巨人的肩膀上,底座模型加細分場景微調,可以快速模組化;并且效果好,有監督、無監督預訓練可以充分挖掘存量标簽、資料知識等;由于特征和模型統一建設,底層具有強支撐。

京東零售基于NLP的風控算法模型建構實踐

預訓練模型主要應用于 NLP 領域和 CV 領域,其他的領域方面,還處于起步階段。在業界,谷歌和騰訊等有行為預訓練在推薦和畫像等場景有應用,但是行為預訓練在風控領域處于空白狀态。風控領域的使用者行為特征,主要還是浏覽、搜尋等序列特征,以及大量手動設計的統計特征。

京東零售基于NLP的風控算法模型建構實踐

上圖展示了使用者行為預訓練模型的整體算法模型。首先,将使用者的行為、類别等多模态資訊進行融合,通過 Transfermer 将其轉化成統一的行為特征,輸入到 bert 中進行預訓練。總的參數量達到了 5 億多,表達能力遠超 Bert 模型。未來使用預訓練模型達到業務目的,本團隊也應用了很多對比學習的方法,比如 NSP、MLM、有監督等方法,放到内循環的學習系統裡面,使模型充分地學習到資料的知識。下一個階段,是進行微調。當微調的樣本不是很多,由于參數量很大,為了防止微調調偏,需要定制化的操作,比如當機部分參數等,使模型具有更好的泛化性能。

京東零售基于NLP的風控算法模型建構實踐

上圖是整個使用者行為預訓練的架構。風控的場景有很多,比如惡意訂單、刷單等,異常的散亂複雜,而且碎片化,每個場景的準确度、召回率等要求不盡相同,是以需要考慮架構的适用性和泛化性。如上圖右邊所示,在自動化資料轉換過程中,直接将使用者的資料封裝起來,不同場景的輸入,作為參數,輸入到資料中,然後輸出轉換後的行為資料。并且将預訓練模型訓練過程也進行封裝,主要是對微調階段進行訓練處理。在微調階段,根據自定義模式,對模型進行微調,這樣不管業務是幾十個,甚至幾百個場景,底層的訓練是保持不變的,微調階段可以部署到不同的業務場景。

京東零售基于NLP的風控算法模型建構實踐

使用者行為預訓練模型的效果如上圖所示。首先在效率方面,模組化效率大大提升,周期降低 8 倍以上;其次,在效果上,模型效果長期穩定,魯棒性非常強,而且在同等精度下,召回率提高一倍以上;在标注樣本方面,支援小樣本标注資料;在技術和資料沉澱方面,持續做大做強預訓練模型,提升風控全場景識别能力。

--

04

預訓練平台化

預訓練平台化的目的,是為了解決之前存在的問題:之前的模型架構的使用,隻存在于代碼階段,存在閱讀代碼費時間、費人力,并且接口混亂,雜亂無章等問題。搭建平台之後,支援一鍵式使用,友善高效。

京東零售基于NLP的風控算法模型建構實踐

如上圖所示,本團隊将 NLP 這塊的内容封裝到 RiskNLP 包中,非常簡單易用,而且功能十分健全,比如支援多種模型類型轉化,多任務模型,NER 等複雜的功能,都可以一鍵式訓練出來;并且訓練速度,推理速度等,都可以一鍵式的配置,非常友善。

京東零售基于NLP的風控算法模型建構實踐

上圖是本團隊提出的 RiskCDA 工具包,主要是提高異音異形字的對抗能力。這個工具包,既支援 Python 安裝包一鍵部署,還支援本地線上擴充方式,并且支援自定義詞典,最重要的是支援多種基于深度學習的前沿擴充方式,比如 TextFooler 等。

京東零售基于NLP的風控算法模型建構實踐

最後,如上圖,是使用者行為預訓練模型的工具包——RiskBehavior 包。一鍵部署使用,與前面包所不同的地方就是這邊的特征展出,也是部署成為服務的形式,針對内部需要的特征,都可以進行産出。并且在速度優化方面,也得到了很好地實作。

--

05

展望

京東零售基于NLP的風控算法模型建構實踐

對于未來的展望,主要分為以下幾個方面:

第一,預訓練模型不能隻停留在 NLP 和 CV 領域,可以在更多的領域,比如風控,多模态等特征,容納更多的資料知識,賦能業務。

第二,更強大的模型,包括更大的參數、更強結構模型以及蒸餾能力等。

第三,更強大的易用能力,更加快速便捷地應用到業務。

第四,擁抱開源,将架構,以及資料和模型脫敏之後進行開源。

--

06

問答環節

Q1:在使用者行為預訓練中,有多個 session 的 NSP 是怎麼定義的?MLM 中的Mask 單元在你們模型中是什麼?

A1:多個 session 的 NSP 相對而言用的不多,因為 NSP 非常的長,在少數的關聯場景,将一個序列作為下一個序列的上下句進行訓練,主要還是通過 MLM 單元進行處理的。MLM 中的 Mask 單元在你們模型中是浏覽的某個頁面的資料。

Q2:使用者行為的預訓練,現在的應用場景多嗎?

A2:現在做的使用者行為預訓練模型,是作為基礎模型進行使用,換而言之,所有的業務場景,即本文提到的各個業務場景,比如訂單,付款等幾十個,上百個的業務場景,都會過一下這個基礎模型,然後針對各個業務場景,再對這個預訓練模型進行微調,是以,在京東零售這邊,應用的落地場景還是很多的。

今天的分享就到這裡,謝謝大家。

|分享嘉賓|

京東零售基于NLP的風控算法模型建構實踐

王三鵬

京東零售 風控算法架構負責人

京東零售風控算法架構負責人,負責底層算法架構搭建以及内容、訂單、營銷等相關場景的應用。曾就職宜信、美團從事風控算法研發工作。

|DataFun新媒體矩陣|

京東零售基于NLP的風控算法模型建構實踐

|關于DataFun|

專注于大資料、人工智能技術應用的分享與交流。發起于2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會,已邀請超過2000位專家和學者參與分享。其公衆号 DataFunTalk 累計生産原創文章900+,百萬+閱讀,近16萬精準粉絲。

繼續閱讀