作者:韓松,單位:中國移動智慧家庭運營中心
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)應(yīng)用類型日益復(fù)雜,從Web、郵件等傳統(tǒng)應(yīng)用,發(fā)展到各類P2P應(yīng)用、自定義業(yè)務(wù)協(xié)議等。識別網(wǎng)絡(luò)流量中的應(yīng)用協(xié)議類型成為網(wǎng)絡(luò)管理中的一個重要問題。傳統(tǒng)的模式匹配和特征提取方法在面對復(fù)雜應(yīng)用協(xié)議時存在局限性。近年來,人工智能領(lǐng)域出現(xiàn)的大語言模型為應(yīng)用協(xié)議識別帶來新的契機。大語言模型通過預(yù)訓(xùn)練學(xué)習(xí)獲得對語言的深刻理解,可以運用到對網(wǎng)絡(luò)流量的語義分析中。
具體來說,大語言模型可以“讀懂”網(wǎng)絡(luò)流量中應(yīng)用層的協(xié)議語義,判斷HTTP、DNS等常見協(xié)議的格式,并可以對不常見協(xié)議進行anomaly detection。另外,大語言模型學(xué)習(xí)的知識可以幫助進行零樣本和少樣本學(xué)習(xí),識別全新或樣本稀少的應(yīng)用協(xié)議。業(yè)界一些最新研究已經(jīng)證明了大語言模型在應(yīng)用協(xié)議識別中的效果。例如華為提出的ProtocolMate系統(tǒng)使用RoBERTa模型,實現(xiàn)了高達99.7%的準確率。另外基于BERT等模型的語義模糊方法,也表現(xiàn)出色。這些成果都表明了大語言模型的潛力。
Part 01●??應(yīng)用協(xié)議識別是什么?●
應(yīng)用協(xié)議識別(Application Protocol Identification)指的是識別網(wǎng)絡(luò)流量所使用的應(yīng)用層協(xié)議的方法?;ヂ?lián)網(wǎng)上的應(yīng)用通信需要遵循某種應(yīng)用層協(xié)議,比如HTTP協(xié)議用于網(wǎng)頁瀏覽,DNS協(xié)議用于域名解析等。為了管理網(wǎng)絡(luò)流量,需要能自動識別流量所使用的應(yīng)用協(xié)議。
應(yīng)用協(xié)議識別的主要方法包括:
- 基于端口的識別:通過判斷特定端口號來識別協(xié)議,如80端口通常為HTTP。但有局限性。
- 模式匹配:通過查找協(xié)議特有的字節(jié)模式來匹配協(xié)議。
- 統(tǒng)計分析:提取流量統(tǒng)計特征,使用機器學(xué)習(xí)方法識別。
- 深度學(xué)習(xí):使用LSTM、CNN等對流量進行端到端的深度學(xué)習(xí),自動提取特征。
- 語法分析:解析應(yīng)用層數(shù)據(jù),判斷遵循的協(xié)議語法。
- 語義分析:利用大語言模型分析應(yīng)用層語義,識別協(xié)議含義。
應(yīng)用協(xié)議識別對于網(wǎng)絡(luò)流量監(jiān)控、安全防護等都有重要作用。隨著網(wǎng)絡(luò)應(yīng)用日益復(fù)雜,更智能高效的應(yīng)用協(xié)議識別技術(shù)變得尤為重要。
Part 02●?大語言模型的特點?●
大語言模型具有以下幾個主要特點:(1)卓越的語義理解能力;(2)強大的遷移學(xué)習(xí)能力;(3)多樣化的應(yīng)用形式。
(1)卓越的語義理解能力
大語言模型通過預(yù)訓(xùn)練,可以深度理解語言的上下文和語義關(guān)系,對詞匯、語法、常識都有很強的理解能力。這使其可以進行復(fù)雜的語義分析、文本生成等高難度語言處理任務(wù)。
(2)強大的遷移學(xué)習(xí)能力
大語言模型學(xué)到的語言知識具有很好的普適性,可以遷移至下游的不同任務(wù)中。即使下游任務(wù)數(shù)據(jù)不足,也可以取得不錯的效果。這使大語言模型可以擴展到更多不同的應(yīng)用領(lǐng)域。
(3)多樣化的應(yīng)用形式
大語言模型可以以不同的形式集成到實際應(yīng)用中,如通過微調(diào)進行文本分類、句子匹配;用作Encoder來提取語義特征;生成回復(fù)文本等。這使其能夠靈活地服務(wù)于不同的NLP應(yīng)用。
Part 03 ●??大語言模型的數(shù)據(jù)結(jié)構(gòu)?●
大語言模型通過組合使用各種特殊的數(shù)據(jù)結(jié)構(gòu),模擬并實現(xiàn)了人類語言的關(guān)鍵能力。它使用詞向量把詞轉(zhuǎn)換成數(shù)字編碼,類似詞典定義。注意力機制讓詞語之間進行交流,理解上下文,就像人類的語言交流。深層網(wǎng)絡(luò)提取語義特征,殘差連接傳遞信息,位置編碼理解順序,都增強了模型的語言理解能力。遮蔽語言模型進行自主學(xué)習(xí),像人類通過閱讀學(xué)習(xí)語言。數(shù)以億計的參數(shù)幫助記憶知識。通過集成這些數(shù)據(jù)結(jié)構(gòu),大語言模型建立了一個像人腦一樣的語言理解和生成系統(tǒng)。它不僅能學(xué)習(xí)語言知識,理解語義,還能應(yīng)用語言進行創(chuàng)造性的生成。大語言模型的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)了它對語言的深刻理解,使其達到了接近人類的語言處理能力。
數(shù)據(jù)結(jié)構(gòu) | 作用 |
嵌入層(Embedding Layer) | 將詞符號表示轉(zhuǎn)換為稠密向量表示 |
多頭注意力機制(Multi-Head Attention) | 允許模型同時關(guān)注文本不同位置信息 |
前饋全連接網(wǎng)絡(luò)(Feed Forward Fully Connected Network) | 在多頭注意力后進行語義特征提取 |
殘差連接(Residual Connection) | 將前一層輸出同當前層輸出相加,緩解梯度消失 |
Layer Normalization | 加速深層網(wǎng)絡(luò)訓(xùn)練,穩(wěn)定訓(xùn)練過程 |
位置編碼(Positional Encoding) | 為模型提供單詞順序信息 |
Mask機制 | 在預(yù)訓(xùn)練中屏蔽部分輸入,實現(xiàn)自監(jiān)督 |
權(quán)重參數(shù)矩陣(Weight Matrices) | 計算注意力分數(shù)、變換等,占用大量存儲和計算 |
圖1 大語言模型各模塊說明
大語言模型的運行原理簡要概括如下:
首先,大語言模型會將輸入的文本序列轉(zhuǎn)化為數(shù)字表示的詞向量,就像一個詞典將詞語映射為向量。然后這些詞向量被輸入到由多層Transformer模塊組成的編碼器結(jié)構(gòu)中。在每個Transformer模塊內(nèi),通過多頭注意力機制使詞向量之間進行交互,計算出詞與詞之間的相關(guān)性,以此來學(xué)習(xí)文本的上下文語義信息。
接著,經(jīng)過一個前饋全連接網(wǎng)絡(luò)進行特征提取和表示變換。為了訓(xùn)練更深層的模型,還使用了殘差連接、層規(guī)范化等技術(shù)。位置編碼為模型加入了順序信息。大量的參數(shù)支持復(fù)雜的語義計算。在預(yù)訓(xùn)練階段,大語言模型通過自監(jiān)督任務(wù)如遮蔽語言模型學(xué)到通用的語言知識。在微調(diào)階段,加入監(jiān)督學(xué)習(xí)特定下游任務(wù)。這樣,大語言模型通過先獲得泛化語言表示能力,再遷移到具體任務(wù)中,實現(xiàn)了對人類語言的建模和強大的語義理解與生成。它模擬人類獲取語言知識然后應(yīng)用的過程。
圖2 大語言模型核心模塊運行機制
各種數(shù)據(jù)源通過Kafka接入到數(shù)據(jù)平臺層,數(shù)據(jù)平臺講明細數(shù)據(jù)存入數(shù)據(jù)存儲層的ClickHouse中,明細數(shù)據(jù)的存活時間可以根據(jù)業(yè)務(wù)需求設(shè)置。同時可以根據(jù)業(yè)務(wù)報表查詢的不同維度,利用ClickHouse的物化視圖形成預(yù)聚合數(shù)據(jù),提高數(shù)據(jù)查詢效率。由數(shù)據(jù)服務(wù)層的定時任務(wù)周期性地從ClickHouse的預(yù)聚合數(shù)據(jù)中查詢業(yè)務(wù)所需的展示數(shù)據(jù),把展示數(shù)據(jù)存入MySQL。由數(shù)據(jù)服務(wù)層的報表服務(wù)向數(shù)據(jù)展示層提供查詢服務(wù),報表服務(wù)直接查詢MySQL中的結(jié)果數(shù)據(jù),保證了查詢效率和并發(fā)性。
Part 04●??大語言模型在應(yīng)用協(xié)議識別中的應(yīng)用?●
大語言模型具有強大的語言理解和建模能力,在應(yīng)用協(xié)議識別等領(lǐng)域中展現(xiàn)出巨大的應(yīng)用潛力。
下面將具體闡述大語言模型在應(yīng)用協(xié)議識別任務(wù)中的運作機制和應(yīng)用流程:
應(yīng)用協(xié)議識別針對網(wǎng)絡(luò)流量中的應(yīng)用層協(xié)議報文,判斷其所屬的協(xié)議類別,是網(wǎng)絡(luò)流量分析的關(guān)鍵環(huán)節(jié)。針對不同協(xié)議類型,可以進行定制化分析。相比基于規(guī)則的方法,基于大語言模型的協(xié)議識別具有更強的適應(yīng)性和拓展性。
大語言模型在協(xié)議識別任務(wù)中的應(yīng)用流程可以分成以下幾個步驟:
(1)數(shù)據(jù)預(yù)處理,需要收集大規(guī)模的應(yīng)用協(xié)議報文數(shù)據(jù),如HTTP、DNS等,對報文數(shù)據(jù)進行清洗,提取純凈的協(xié)議語料。
(2)構(gòu)建協(xié)議詞表,將報文通過詞表轉(zhuǎn)換為數(shù)字id序列,方便模型處理。在獲取處理后的數(shù)據(jù)集后,需要預(yù)訓(xùn)練語言模型以學(xué)習(xí)通用的協(xié)議語義特征。這里常用的預(yù)訓(xùn)練模型是BERT等變種。通過使用大量協(xié)議報文數(shù)據(jù)Fine-tune預(yù)訓(xùn)練模型,使其適應(yīng)協(xié)議語言的模式,獲得協(xié)議方面的先驗知識。預(yù)訓(xùn)練時也會使用Mask等技巧增強模型對協(xié)議語義的建模能力。
(3)微調(diào)模型以適應(yīng)具體的協(xié)議識別任務(wù)。這里將建立一個協(xié)議類別分類模型,使用協(xié)議報文及其類別標簽進行監(jiān)督訓(xùn)練。通過反向傳播等技術(shù)迭代優(yōu)化模型參數(shù),使其逐步適應(yīng)協(xié)議識別任務(wù),輸出精確的類別判斷。
(4)部署微調(diào)模型。經(jīng)過預(yù)訓(xùn)練和微調(diào)后,可以導(dǎo)出獲得的協(xié)議識別模型,并集成到在線網(wǎng)絡(luò)流量分析系統(tǒng)中。在線部署后,對實時網(wǎng)絡(luò)流量進行抓取,提取協(xié)議報文,輸入到導(dǎo)出的協(xié)議識別模型中,完成在線流量的智能協(xié)議分析。
整個流程充分利用了大語言模型支持的遷移學(xué)習(xí)范式。先通過自監(jiān)督在大規(guī)模語料上學(xué)習(xí)通用語言表示,然后快速適應(yīng)下游任務(wù)。相比獨立訓(xùn)練,這種方法顯著減少了人工特征工程,降低了對任務(wù)特定樣本量的依賴。同時也增強了模型的泛化能力。
綜上所述,依托預(yù)訓(xùn)練-微調(diào)框架,大語言模型可以高效適應(yīng)協(xié)議識別等專業(yè)領(lǐng)域任務(wù)。它模擬人類語言學(xué)習(xí)過程,在大規(guī)模非標注語料上學(xué)習(xí)語義知識,然后遷移應(yīng)用。這為解決更多特定領(lǐng)域的語言理解問題,提供了一個可靠的通用框架和技術(shù)路線。下圖給出了采用AI大語言模型的協(xié)議識別方法相對于傳統(tǒng)的基于域名規(guī)則的協(xié)議識別方法在準確率,識別精度和召回率上的效果提升。
各種數(shù)據(jù)源通過Kafka接入到數(shù)據(jù)平臺層,數(shù)據(jù)平臺講明細數(shù)據(jù)存入數(shù)據(jù)存儲層的ClickHouse中,明細數(shù)據(jù)的存活時間可以根據(jù)業(yè)務(wù)需求設(shè)置。同時可以根據(jù)業(yè)務(wù)報表查詢的不同維度,利用ClickHouse的物化視圖形成預(yù)聚合數(shù)據(jù),提高數(shù)據(jù)查詢效率。由數(shù)據(jù)服務(wù)層的定時任務(wù)周期性地從ClickHouse的預(yù)聚合數(shù)據(jù)中查詢業(yè)務(wù)所需的展示數(shù)據(jù),把展示數(shù)據(jù)存入MySQL。由數(shù)據(jù)服務(wù)層的報表服務(wù)向數(shù)據(jù)展示層提供查詢服務(wù),報表服務(wù)直接查詢MySQL中的結(jié)果數(shù)據(jù),保證了查詢效率和并發(fā)性。
Part 05●??總結(jié)展望?●
總結(jié)來說,大語言模型通過預(yù)訓(xùn)練-微調(diào)的框架,先在大規(guī)模協(xié)議語料上學(xué)習(xí)通用語義表示,然后遷移應(yīng)用到具體的協(xié)議識別任務(wù),實現(xiàn)了對網(wǎng)絡(luò)流量的智能解析。相比規(guī)則方法,這種方式顯著提高了模型的適應(yīng)性和拓展性。
展望未來,大語言模型在應(yīng)用協(xié)議識別領(lǐng)域還有多個方向的探索價值:(1) 構(gòu)建更大規(guī)模的跨協(xié)議預(yù)訓(xùn)練語料庫,增強模型對協(xié)議語言的理解能力。(2)嘗試不同模型架構(gòu),如基于編碼器-解碼器的BART等,進一步提升建模效果。(3) 多任務(wù)學(xué)習(xí)框架,同時適配相關(guān)任務(wù)如協(xié)議語義解析,共享語義知識。(4) 在線增量學(xué)習(xí)機制,使deployed模型能隨新協(xié)議更新迭代。(5) 模型壓縮技術(shù),部署輕量高效的協(xié)議識別引擎。(6) 可解釋性和安全性等考量,增加模型判斷的透明度和可控性。隨著模型和數(shù)據(jù)規(guī)模的提升,大語言模型必將持續(xù)改進應(yīng)用協(xié)議理解,在更廣泛的網(wǎng)絡(luò)分析任務(wù)中發(fā)揮關(guān)鍵作用。
參考:
【1】自然語言大模型介紹,2023年04月01日,
https://zhuanlan.zhihu.com/p/618786499(訪問日期:2023年8月19日)
各種數(shù)據(jù)源通過Kafka接入到數(shù)據(jù)平臺層,數(shù)據(jù)平臺講明細數(shù)據(jù)存入數(shù)據(jù)存儲層的ClickHouse中,明細數(shù)據(jù)的存活時間可以根據(jù)業(yè)務(wù)需求設(shè)置。同時可以根據(jù)業(yè)務(wù)報表查詢的不同維度,利用ClickHouse的物化視圖形成預(yù)聚合數(shù)據(jù),提高數(shù)據(jù)查詢效率。由數(shù)據(jù)服務(wù)層的定時任務(wù)周期性地從ClickHouse的預(yù)聚合數(shù)據(jù)中查詢業(yè)務(wù)所需的展示數(shù)據(jù),把展示數(shù)據(jù)存入MySQL。由數(shù)據(jù)服務(wù)層的報表服務(wù)向數(shù)據(jù)展示層提供查詢服務(wù),報表服務(wù)直接查詢MySQL中的結(jié)果數(shù)據(jù),保證了查詢效率和并發(fā)性。