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