黃碩:百度飛槳文心大模型在語音文字稽核中的應用

聲網 發表於 2022-06-17

實時互動作為下一代基礎技術能力,正在支撐並推進著人、物及空間之間創新的溝通和互動方式。

語音處理是實時互動領域中非常重要的一個場景,在「RTC Dev Meetup 丨語音處理在實時互動領域的技術實踐和應用」活動中,來自百度、寰宇科技和依圖的技術專家,圍繞該話題進行了相關分享。

本文基於百度自然語言處理部架構師黃碩在活動中分享內容整理。關注公眾號「聲網開發者」,回覆關鍵詞「DM0428」即可下載活動相關 PPT 資料。

在這裡插入圖片描述

百度飛槳文心大模型在語音文字稽核中的應用

黃碩 百度自然語言處理部架構師

深度學習預訓練大模型最近幾年發展迅速,顛覆了很多以往使用傳統機器學習技術解決的領域。得益於大模型技術在百度的發展,語音文字稽核這項網際網路傳統業務在技術上也有了較大的發展。

本文將在大模型相對傳統模型的整體效果、通用性、個性化需求適配以及服務效能上進行介紹和展開,希望讓大家瞭解大模型的優勢,以及稽核技術最新的一些發展趨勢和業務應用效果。

01 百度飛槳文心大模型的發展

1、業界大規模與訓練模型的歷史

2018 年,Google 推出 BERT 預訓練大模型之後,自然語言處理領域的很多傳統做法被徹底改變。在此之前,如果想讓機器理解人類的語言,往往要解決一系列語言學問題,比如,中文領域最基礎的切詞、詞性標註、實體識別、核心詞的抽取,甚至複雜句子中詞語的依存關係,才能讓計算機準確理解一句話中的邏輯關係,從而進行搜尋、相關度計算或者推薦等完成任務。

而 BERT 這一類針對文字的大規模預訓練模型被提出之後,GPT、T5,以及百度的 ERNIE 等大模型底座相繼推出,使得我們在理解語言文字的相關任務時,可以快速地基於大規模的預訓練模型底座,利用其對語言的理解,直接在上層搭建要解決的任務即可。

如圖 1 所示,在 2014 年左右,業界就已經有了類似 word2vec 的詞向量的實踐,百度的網頁搜尋、語義計算排序的大升級也是在 2014 年左右進行進行了全流量上線,這些技術在當時優雅地解決了搜尋排序時關鍵詞不完全匹配的問題,通過這些技術,計算機也可以理解詞語背後的語義,不過在效果和泛化性上不及後來結合 Attention 以及 Transformer 等網路結構的預訓練模型。

圖片

■圖 1

2、深度學習技術框架在百度的發展

剛才提到,關於語義向量的計算,百度在 2013 年左右就已經開始了相關實踐。圖 2 的時間軸展現了百度深度學習技術的發展歷程。在 2012 年左右,百度就已經開始在語音識別和 OCR 領域研發深度學習相關的技術,而深度學習在搜尋上的應用也在 2013 年左右完成上線。同時,百度還自主研發了 PaddlePaddle,也就是飛槳深度學習框架。深度學習技術在影像、文字、語音、搜尋推薦以及自動駕駛等各個百度的主要業務上都實現了大規模的應用。

圖片

■圖 2

3、百度飛槳文心與訓練模型近幾年的發展情況

百度在 2019 年推出了飛槳文心大規模預訓練模型,今天會圍繞我們使用文心大模型在稽核技術方面所嘗試的各種應用方式來進行技術分享。在最近兩三年間我們陸續釋出了 2.0、3.0 以及各種不同領域、不同語言、不同規模的文心大模型版本。

圖 3 展示了文心大模型的家族。文心大模型的家族從下向上分為幾層,其實不僅是飛槳文心大模型,業界類似的大模型大多數也是如此。文心大模型有不同粒度的版本,也有針對不同任務型別進行優化的版本。比如,針對語言生成的模型和用於資訊抽取的模型,模型底座對應不同任務會有效果差異。再上層,中間是一層領域模型,基於不同的領域,大模型技術會利用不同的預訓練語料打造不同的效果,所以在不同的領域中,效果也會有所不同。再上一層是比如跨模態、跨語言這種,也就是說,除了文字以外,還可以融合語音、影像、文件等不同的資訊模態,實現一個更多層次的預訓練模型。最頂層代表不同傾向的預訓練大模型的應用,其在搜尋、推薦、語音、文件、客服等各個業務上都得到了應用驗證。

圖片

■圖 3

文心大規模的預訓練模型語音文字稽核業務上能起到什麼作用呢?關於這一點我將會從多個不同的方面來進行分享,包括大模型作為模型底座的效果是怎麼樣的?針對大模型的效能問題,利用蒸餾技術能起到什麼樣的作用?大模型對於資料樣本增強會起到什麼樣的作用?在不同使用者的個性化需求方面,大模型的作用是什麼?大模型可以如何優化傳統稽核業務中的匹配規則策略?

02 文心大模型在語音文字稽核中的應用

1、稽核業務特點

(1) 文字稽核與語音稽核背景介紹

文件稽核是語音稽核的一個基礎,內容稽核在業界大致劃分為涉黃、涉政、廣告暴恐、辱罵等類,各類在資料層面的細分中具有不同的稽核目標。而這些不同的資料來源對於稽核技術來說,難度是不一樣的。比如,在新聞網站上釋出的文章,其內容、用詞會相對規整;而使用者評論或論壇發帖等文字,在用詞和句式方面就會相對隨意。對應到稽核的需求,每一類下的細分內容也會有不同的需求,對應的技術方面,詞庫結合模型的語義判斷是最常見的做法。

除了經典的通過 ASR 轉譯為文字後可以利用文字的稽核能力以外,語音資料具備其他特點。比如聲紋,我們僅憑文字字面無法識別一句話是在憤怒的情緒下還是平靜的情緒下講述的,但通過聲音其實可以得到這些資訊。此外,語音的斷句、轉譯、糾錯,以及利用機器人合成的語音廣告、對話等,都是在語音稽核方面區別於純文字的特點。

(2) 語音稽核與文字稽核技術常見難點

圖 4 展示了稽核技術方面通常包含的技術難點。第一個是資料的多樣性,比如新聞稿、使用者彈幕和機器人語音,資料的內容差異非常大。第二個是稽核需求的多樣性,涉政、涉黃、廣告等各個類目,其稽核重點、在資料中的檢出率,以及對於語義理解的需求程度,難度各不相同。第三個是稽核業務對服務的效能要求通常較高,如在語音直播、語音聊天、彈幕等應用中,對時延的要求是非常高的。此外,很多業務需要實時攔截,而不能接受離線大批量稽核過濾方式。

圖片

■圖 4

(3) 稽核業務客戶個性化需求

除了上述幾點通用的技術難點以外,還有一些常見的來自客戶的個性化需求。比如,稽核的尺度存在差異,比如針對不同客戶的批評,在比較嚴肅的論壇中,客戶的要求基本是零容忍;而在聊天場景下,客戶或許可以接受一些不太過分的口頭禪等。這樣,即使是同樣的稽核需求,但是對於尺度的要求可能也是不一樣的。

另外,在稽核類目方面,比如,同樣是涉黃稽核,語音和純文字的稽核側重點可能是不一樣的,比如一些涉及未成年人保護的稽核要求等,在內容的稽核要求方面側重點就是不一樣的,這是不同使用者的特點。那麼,我們是怎麼結合大模型嘗試解決上述這些技術難點的呢?我將從下面幾個方面展開介紹。

2、文心大模型底座

(1) 語音與文字結合的稽核模型

首先我們從模型本身來講,圖 5 是語音跟文字相結合的稽核模型,圖 5 從左到右是三個不同層次的模型的語音和文字結合方式。首先,我們一般把稽核模型建模為一個分類問題。當然,在一些場景下,為了識別出不同的稽核程度,我們也會結合迴歸建模技術,但通常來說都是分類問題。圖 5 的左邊展示的是一種最樸素的語音稽核模型和文字稽核模型的結合方式,過程是在兩個模型分別預測出結果之後,通過規則策略將其相結合,這是一種最簡單的方式。但這種方式的效果是不太理想的。中間的模型進行了整合,把文字和語音模型在特徵層面展開,使兩邊的模型分別產出特徵,然後在這一層進行跨模態的的特徵層建模。這樣做的好處是,比如我們要判斷一段話是不是涉黃,不是單純地把語音模型識別出來的結果跟文字模型識別出來的結果進行加權打分,而是可以結合語音模型中識別出來的性別特徵和語調,以及在語音方面比較特殊的稽核特徵,通過從文字模型中識別出的整體涉黃度、涉黃特徵詞等詳細特徵,讓模型進行最終判斷。這是目前我們發現的一種效果比較好的建模方式。最右側是一種多模態的端到端建模的方式,它是在語義理解的 embedding 層把語音和文字展開,並在該層交叉之後直接進行建模。從長遠來說,這種端到端的方式更通用、更優雅,而且可以更好地擴充套件到視訊領域。比如我們可以把影像特徵也引入到 embedding 層上,目前我們在文件理解和視訊圖文理解方面的大模型中就是採取這種方式。

圖片

■圖 5

(2) 預訓練模型底座的效果

圖 6 展示了使用文心模預訓大模型之後的效果,可見利用這種語言理解的大模型作為底座,效果遠遠超過單純地增加訓練資料。圖 6 中紫色的線代表基線模型,這大概是我們一兩年前使用的基準模型,這裡橫軸是在不同稽核維度上的模型效果,縱軸中與基線模型對比的有兩種方法,黃色代表持續增加訓練資料,在持續增加訓練資料的情況下,模型效果是明顯有所提升的。而橙色展示的是把模型底座完成預訓練大模型之後的趨勢,發現其效果得到了整體的提升,可以說遠遠超出花費大量時間不斷積累訓練資料所帶來的效果。

圖片

■圖 6

使用預訓練大模型,除了直接替換語義理解層能帶來顯著的效果以外,我們還利用預訓練模型可以進行領域適配的這種領域預訓練方法,打造了多種不同場景下的場景化稽核模型。如圖 7 所示,左邊是一個比較簡單的流程示意圖,展示的是領域訓練的過程,對於已有的文心預訓練模型,我們會加入大規模的無標籤的領域語料進行領域預訓練。這樣,該模型的底座能更好地理解特定領域的語義,在用於上層的稽核模型訓練的時候,其訓練出來的模型對場景效果適配得更好。最右側是效果的對比圖,這是我們在遊戲場景下進行的效果評估。前四種顏色是我們的通用模型跟幾家友商內部評估的模型效果的對比。可以看到,在不同的稽核維度下,效果是各有所長的。但是當使用經過領域預訓練的遊戲場景模型之後,可以很明顯地看出,在各個維度上,不管是對比友商還是對比之前的通用模型,效果都是顯著領先的。

圖片

■圖 7

3、大規模蒸餾

眾所周知,大模型無論是訓練還是預測都需要巨大的計算量,那麼在稽核服務這種效能要求較高的場景下,怎麼使用大模型呢?接下來針對效能的問題介紹大模型蒸餾的效果。對於大模型蒸技術大家可能都有所瞭解,通過資料蒸餾或模型蒸餾方式,效果會受到一定程度的損失,但效能會得到顯著的提升。具體到我們的業務中,可以看圖 8 所示,左側圖中橙色的線展示了大模型經過蒸餾,被壓縮到一個較小的模型結構之後,用於預測服務的模型效果,相比完整訓練好的大模型它的效果確實會略有下降,但是相比於小模型或者加入大量訓練資料之後的小模型,它的效果還是得到了顯著提升。

圖片

■圖 8

右上角是我們在服務預測效能方面進行的評估,這裡我沒有列具體效能提升的數字,因為蒸餾之後小模型結構跟基線模型是一致的,所以它的預測效能跟使用大模型之前是齊平的。可以看到,跟完整的大模型的效能差距大概是數十倍的量級。

4、樣本增強

除了直接用於模型層以外,利用大模型技術,我們可以在資料樣本層進行一些比較有意思的操作。這裡列舉兩個樣本增強的例子,前面提到過,在稽核業務過程中,由於客戶需求的多樣性,我們無法基於每一個客戶的需求標註大量的訓練資料來優化模型,所以如何低成本地獲取大量的有效訓練樣本是一個很關鍵的問題。通過圖 9 分別展示了我們如何利用文心大模型基於有標籤的訓練資料和無標籤的資料達到樣本增強的目的。圖 9 左側展示的是基於有標籤的訓練資料,利用文心大模型針對生成任務的預訓練大模型,這裡我們用到 ERNIR-Gen。利用該模型可以生成大量與訓練資料相似的樣本,然後結合相似度或者匹配等簡單的過濾規則,可以低成本地得到大量基於生成的訓練資料。

在這裡插入圖片描述

■圖 9

圖 9 右側展示的過程是,首先收集大量線上業務中無標籤的資料,然後通過預訓練大模型的語義聚類計算加入少量有標籤的資料,對無標籤資料進行聚類,同時在每一個聚類處的結果中結合有標籤資料的分佈,可以看到哪些位置的標籤大概率是相同的,從而得到大批量基於聚類的來自線上的訓練資料。

此外,利用大模型進行樣本增強,除了通過生成或者聚類方式以外,還可以進行一些更有針對性的任務。比如在處理稽核業務的時候,往往要求稽核模型具有泛化性。所謂泛化性是指可以覆蓋某些“變體”,這是業界常見的繞過稽核技術的文字表達方式。對於這個問題,我們利用大模型的泛化性,借鑑文字糾錯技術中的建模方法,除了對單字的特徵進行語義的建模以外,還將拼音和筆畫這兩種資訊都進行了建模,使大模型能夠理解發音相同,或者筆畫相似的字,使得大模型具有一定的變體識別能力。當然,如果直接建模大模型用於稽核業務,其效果並不如人意。所以基於變體識別的大模型,我們可以通過資料增強方式有針對性地從外部定向挖掘可疑的變體和樣本,然後在離線利用變體檢測模型進行識別,經過校驗後將樣本新增到模型的訓練資料集中,就可以持續提升稽核模型對變體的識別效果。

5、個性化需求擴充套件

在技術難點的介紹中提到過,不同客戶的資料來源是不一樣的。這導致長期下來除了幾個通用的稽核模型以外,我們還積累了大量的不同場景下效果不同的子模型,如何使系統智慧地給不同的使用者選擇最優的模型組合,這對系統整體來說是一個難題,為此,我們嘗試了一種自適應的多模型排程框架。

首先是利用大模型對於客戶資料進行語義聚類,使型別相似的資料聚集在一起。如圖 10 所示,中間黃色這一層就是一個示意。當然我們無法準確地知道不同類的資料是怎樣的,但是它們的長短、文字特徵分佈等方面會有一定的特徵,使得類似需求的資料聚集在一起。將這些資料聚集在一起之後,再進行最優模型的選擇。這樣,既可以解決客戶的個性化需求,同時也可以避免整套系統無限的膨脹,因為我們不可能持續不斷地為每一個客戶增加效果優化過的子模型。通過這個語義聚類,運營人員也可以在模型的選擇層介入,這樣可以更有針對性地進行效果的分析和客戶需求的效果優化。

圖片

■圖 10

另外,為了滿足不同的客戶在稽核尺度上的需求,稽核服務的輸出是支援閾值可調的。但是我們在訓模型時經常會遇到一個問題,就是模型預測結果的概率分佈經常聚集在很小的區間中。比如圖 11 所示,模型預測出來的結果可能 90% 都集中在 0.4~0.6 這一概率區間之內,這會導致客戶無論是設定 0.8 的閾值還是 0.9 的閾值,都無法得到令自己滿意的準確召回率。因此,我們嘗試了不同的模型建模方法,比如在辱罵輕重度的需求方面,我們引入了 Pairwise 的建模方式,並在資料標註的時候嘗試了更細粒度的分檔標註,而不是簡單的 0/1 標註。這使得模型對稽核的程度更加敏感,從而一定程度上達到了把預測結果分佈拉伸到更廣的範圍上的目的。

圖片

■圖 11

6、大模型優化匹配規則

圖 12 的最左邊是一個簡單的詞匹配規則流程。詞匹配技術是傳統稽核系統中必備的環節。可以說大概從十多年前網際網路稽核需求出現開始,就產生了詞匹配技術。詞匹配技術具有簡單、見效快、精準等特點,但是它沒有泛化性,同時由於長期維護很容易導致規則的衝突,歷史規則或者詞更新標準不一致等都是長期維護中存在的難題。

圖片

■圖 12

在圖 12 中我想舉例三個例子,這是三種利用大模型優化詞匹配系統的方法。其中,流程圖上邊這部分利用了無標籤資料,下面這部分利用了有標籤資料。首先基於無標籤資料有兩種方法可以優化詞匹配規則。第一種是將無標籤的資料結合現有的詞匹配規則,可以得到大量不確定的匹配結果,對於這些匹配規則得到的結果我們不確定其正確性。然後可以利用大模型進行二次的稽核校驗,這樣可以得到一些高置信度的錯誤匹配的結果。利用這些錯誤的樣本就可以反向清洗詞庫或者匹配規則,這是一種直接高效的做法。另一種方法是對無標籤資料進行匹配之後,得到一些不確定的樣本,然後將這些樣本進行語義聚類。注意,此時既要新增匹配的樣本,也要把一些不匹配的樣本,也就是沒有命中稽核規則的樣本也新增進來。在進行語義聚類之後,可以分析每一個聚類簇的標籤分佈。我們可以發現,有一些簇的標籤是非常一致的,比如 100% 認為是正樣本或者 100% 認為是負樣本,也會有一些簇的標籤是相互矛盾的。同一個簇的語義是非常相近的,於是對於一半命中、一半沒有命中的情況,可以找出這些標籤矛盾的樣本,這些樣本同樣能用於詞典和匹配規則的清洗。第三種方法是利用已有的少量的有標籤資料,通過大模型技術生成一批標籤相同、文字相似的樣本,然後用於校驗詞匹配規則,這可以起到類似的效果。不過我們常用的是前兩種,因為這樣可以經常利用最新的線上業務資料來校驗歷史詞表和規則策略的準確性。

03 百度語音文字稽核產業化發展

圖 13 展示了稽核業務所依賴的技術全景圖,從資料層到基礎的演算法,包括詞法分析、句法分析、語義計算等技術,藍色部分展示了稽核業務支援的各種功能細節,最上層是稽核技術支援的產品。可以看出,稽核技術目前除了對外支援以外,同時也支援了百度重要的產品業務,比如說輸入法、百家號等。在對外業務方面,百度的內容稽核在各種常見的內容生產/分發場景都得到了廣泛的應用,比如視訊直播、社群社交、線上教育等。在服務接入方面,百度的內容稽核支援線上的公有云接入方式,也支援私有化部署。

圖片

■圖 13

關於 RTC Dev Meetup

「RTC Dev Meetup」是由聲網發起的技術分享交流活動,邀請業界優秀的一線技術專家,圍繞在實時音視訊應用開發過程中涉及的關鍵技術,分享實踐經驗,涉及移動開發、音視訊技術、計算機視覺等。

點選文末此處即可訪問聲網開發者社群,檢視活動更多相關資訊。