2023年是人工智能的奇跡年,OpenAI的ChatGPT橫空出世,在自然語(yǔ)言的人機(jī)對(duì)話領(lǐng)域?qū)崿F(xiàn)了突破性的智能表現(xiàn)。人工智能技術(shù)的革命性應(yīng)用已在各行業(yè)引發(fā)了熱潮,醫(yī)療、金融、法律等領(lǐng)域都涌現(xiàn)出了垂類開(kāi)源大模型,為行業(yè)應(yīng)用帶來(lái)了無(wú)限可能性。與其他行業(yè)類似,網(wǎng)絡(luò)安全從業(yè)者們也一直在積極探索安全垂直大模型的實(shí)際應(yīng)用。這一趨勢(shì)在網(wǎng)絡(luò)安全領(lǐng)域引發(fā)了深刻的變革,為保護(hù)互聯(lián)網(wǎng)生態(tài)系統(tǒng)和應(yīng)對(duì)不斷增長(zhǎng)的威脅提供了新的工具和方法。
近日,云起無(wú)垠公司發(fā)布了名為「SecGPT」的網(wǎng)絡(luò)安全大模型開(kāi)源項(xiàng)目。該項(xiàng)目是全球首個(gè)開(kāi)源的網(wǎng)絡(luò)安全大模型,截止目前已經(jīng)在GitHub上積累了超過(guò)400個(gè)star,受到了廣泛的業(yè)界關(guān)注。云起無(wú)垠希望貢獻(xiàn)自己的力量,推動(dòng)網(wǎng)絡(luò)安全領(lǐng)域邁向智能化時(shí)代,實(shí)現(xiàn)“讓軟件更安全,讓安全更智能”的企業(yè)使命。
1.SecGPT
SecGPT的愿景是將人工智能技術(shù)引入網(wǎng)絡(luò)安全領(lǐng)域,以提高網(wǎng)絡(luò)防御的效率和效果。其使命是推動(dòng)網(wǎng)絡(luò)安全智能化,為社會(huì)提供更安全的數(shù)字生活環(huán)境。
SecGPT可以作為基座安全模型,用于探索各種網(wǎng)絡(luò)安全任務(wù)。以下是對(duì)SecGPT在網(wǎng)絡(luò)安全任務(wù)中可能應(yīng)用的進(jìn)一步探討:
1.漏洞分析:SecGPT可以與安全研究人員或開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行多輪對(duì)話,共同分析和審查應(yīng)用程序或系統(tǒng)中的潛在漏洞。它可以幫助識(shí)別和理解漏洞的性質(zhì)、潛在影響以及可能的修復(fù)方法。
2.溯源分析:在網(wǎng)絡(luò)入侵事件調(diào)查中,SecGPT可以與調(diào)查員合作,協(xié)助分析網(wǎng)絡(luò)流量、日志和事件記錄,以追蹤攻擊者的活動(dòng)路徑,從而支持安全溯源分析。
3.流量分析:SecGPT可以分析網(wǎng)絡(luò)流量數(shù)據(jù),識(shí)別異常流量模式,幫助檢測(cè)潛在的網(wǎng)絡(luò)攻擊或入侵行為,并提供應(yīng)對(duì)這些行為的建議。
4.攻擊研判:在面對(duì)未知攻擊時(shí),SecGPT可以與安全團(tuán)隊(duì)一起進(jìn)行多輪對(duì)話,共同分析攻擊的特征、模式和可能的來(lái)源,以便更好地理解和應(yīng)對(duì)威脅。
5.命令解釋:SecGPT可以解釋和分析安全相關(guān)的命令、腳本或代碼,幫助安全專家理解其功能、潛在風(fēng)險(xiǎn)和執(zhí)行結(jié)果。
6.網(wǎng)安知識(shí)問(wèn)答:SecGPT可以用于回答網(wǎng)絡(luò)安全領(lǐng)域的問(wèn)題,為安全從業(yè)者提供支持和解釋,包括解釋安全概念、提供最佳實(shí)踐建議和分析最新的威脅趨勢(shì)。
相較于其他的開(kāi)源模型,SecGPT有以下幾個(gè)重要的特色:
1.自寫訓(xùn)練代碼,節(jié)省顯存: SecGPT提供了自己的訓(xùn)練代碼,包括預(yù)訓(xùn)練、有監(jiān)督學(xué)習(xí)和DPO強(qiáng)化對(duì)齊等功能。這使得即使使用小型顯卡,也能夠訓(xùn)練大規(guī)模的網(wǎng)絡(luò)安全模型,為更多的開(kāi)發(fā)者和研究者提供了參與網(wǎng)絡(luò)安全研究的機(jī)會(huì)。
2.高質(zhì)量網(wǎng)絡(luò)安全訓(xùn)練集: SecGPT提供了精選的高質(zhì)量網(wǎng)絡(luò)安全類無(wú)監(jiān)督訓(xùn)練集,使模型能夠?qū)W習(xí)網(wǎng)絡(luò)安全問(wèn)題。這有助于提高模型對(duì)于網(wǎng)絡(luò)安全領(lǐng)域的理解。
3.DPO強(qiáng)化學(xué)習(xí): 通過(guò)DPO強(qiáng)化學(xué)習(xí)方法,SecGPT引入了安全專家的見(jiàn)解和答案,與模型原始輸出一起作為數(shù)據(jù)進(jìn)行訓(xùn)練。這種方法有助于模型更好地模擬安全專家的思維方式,提高了模型輸出的實(shí)用性和準(zhǔn)確性,使其更符合安全領(lǐng)域的需求。
4. 無(wú)道德限制:在網(wǎng)絡(luò)安全領(lǐng)域,無(wú)道德限制的GPT模型具有優(yōu)勢(shì)。比如模型可以深入分析和解釋惡意軟件的代碼、行為和影響,而不受道德限制的束縛。當(dāng)然,需要注意的是,無(wú)道德限制并不意味著可以不受限制地使用這些模型。在執(zhí)行敏感網(wǎng)絡(luò)安全任務(wù)時(shí),仍然需要謹(jǐn)慎考慮法律、道德和隱私問(wèn)題,并遵循適用的法律法規(guī)和道德準(zhǔn)則。
2. 效果展示
1) 代碼審計(jì)&解釋&修復(fù)建議
2)反匯編偽代碼分析
3)釣魚郵件編寫
4)命令解釋
5)日志分析
3.模型訓(xùn)練
目前,SecGPT不僅開(kāi)源了基座模型,還開(kāi)源了所有的訓(xùn)練代碼以及數(shù)據(jù)(包括預(yù)訓(xùn)練,有監(jiān)督訓(xùn)練,DPO訓(xùn)練等大模型全流程訓(xùn)練代碼)和網(wǎng)絡(luò)安全訓(xùn)練數(shù)據(jù)。我們鼓勵(lì)任何人都使用這些代碼和數(shù)據(jù)去訓(xùn)練自己的網(wǎng)絡(luò)安全大模型!該模型的訓(xùn)練過(guò)程大致如下圖所示:
1)基座模型
(1) 選用Baichuan-13B模型作為基座模型進(jìn)行訓(xùn)練(無(wú)道德限制,較好中文支持,顯存資源占用小)
(2) 訓(xùn)練環(huán)境與配置:
?、?webdemo推理:2*4090(24G)
?、?lora訓(xùn)練:3*4090(24G)
2)微調(diào)技術(shù)
(1) 基于Lora做預(yù)訓(xùn)練和SFT訓(xùn)練
(2) 優(yōu)化后的訓(xùn)練代碼可展示訓(xùn)練的底層知識(shí)
(3) 大幅減少訓(xùn)練的顯存占用,可在3*4090顯卡上訓(xùn)練
3)訓(xùn)練數(shù)據(jù)
(1)預(yù)訓(xùn)練數(shù)據(jù)
?、?收集安全書籍,安全知識(shí)庫(kù),安全論文,安全社區(qū)文章,漏洞庫(kù)等等安全內(nèi)容。
② 數(shù)據(jù)集開(kāi)源地址:
中查找。
(2)有監(jiān)督訓(xùn)練數(shù)據(jù)
① 利用ChatGPT+人工構(gòu)造各類有監(jiān)督安全能力數(shù)據(jù)集,讓模型能了解各類安全指令。
② 思維鏈:基于思維鏈方式構(gòu)造有監(jiān)督數(shù)據(jù)集讓模型能夠根據(jù)問(wèn)題逐步推理到最終答案,展現(xiàn)推理過(guò)程。
?、?知乎回答:加入了部分高質(zhì)量知乎數(shù)據(jù)集,在一些開(kāi)放性問(wèn)題上模型能通過(guò)講故事舉例子等方式回答答案和觀點(diǎn),更易讀懂。
④ 為防止災(zāi)難性遺忘,在有監(jiān)督數(shù)據(jù)中,通用能力數(shù)據(jù):安全能力數(shù)據(jù),約為5:1。
4)模型訓(xùn)練
(1)超參數(shù)信息配置:
(2)預(yù)訓(xùn)練配置:
(3)SFT訓(xùn)練配置:
(4)RLHF強(qiáng)化學(xué)習(xí)校準(zhǔn):
為了改善模型的輸出質(zhì)量,有以下兩種策略可供選擇。首先,可以通過(guò)使用更明確的提示詞來(lái)引導(dǎo)模型,使其更專注于用戶需求,從而生成更有針對(duì)性的回答。其次,可以采用RLHF強(qiáng)化學(xué)習(xí)方法,模型將生成多個(gè)答案,用戶可以手動(dòng)選擇最優(yōu)的答案,在后面進(jìn)行強(qiáng)化學(xué)習(xí),從而不斷提高模型對(duì)齊的能力。SecGPT模型具備內(nèi)置的RLHF選擇器,每次會(huì)輸出三個(gè)不同的答案。用戶可以根據(jù)需求選擇最佳答案,同時(shí)這也為后續(xù)的RLHF微調(diào)提供了有價(jià)值的數(shù)據(jù),有助于模型進(jìn)一步提升輸出的質(zhì)量。這些方法共同作用,有助于確保模型輸出滿足用戶的預(yù)期,并在網(wǎng)絡(luò)安全等領(lǐng)域中發(fā)揮更大的作用。
關(guān)于SecGPT網(wǎng)絡(luò)安全大模型,這只是我們分享的一部分內(nèi)容。云起無(wú)垠致力于將SecGPT開(kāi)源大模型分享給更多的安全從業(yè)者,我們鼓勵(lì)大家積極參與共同的研討和交流,以不斷改進(jìn)和增強(qiáng)其功能。通過(guò)開(kāi)源的方式,我們也期望加強(qiáng)網(wǎng)絡(luò)安全從業(yè)者對(duì)這一大模型的理解和應(yīng)用。
如果您有任何關(guān)于該模型的問(wèn)題或建議,請(qǐng)隨時(shí)在GitHub(搜:SecGPT)上提交issue或PR。我們熱切歡迎各位共同參與建設(shè),讓SecGPT網(wǎng)絡(luò)安全大模型能夠惠及網(wǎng)絡(luò)安全領(lǐng)域的每一位需求者!共同的努力將有助于提高網(wǎng)絡(luò)安全的水平,確保數(shù)字生活的安全性。
相關(guān)稿件