<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    是共生還是毀滅,ChatGPT啟示錄

    VSole2023-03-31 10:45:20

    2022年11月,OpenAI推出人工智能聊天原型ChatGPT,吸引了全世界的關注,人工智能再一次回到人類的話題中心,《紐約時報》甚至稱其為“有史以來向公眾發布的最好的人工智能聊天機器人”。ChatGPT在發布后OpenAI估值已漲至290億美元,上線兩個月后用戶數量達到1億。

    ChatGPT能夠根據用戶的文本輸入,產生相應的智能回答。這個回答可以是簡短的詞語,也可以是長篇大論。其中GPT是生成型預訓練變換模型(Generative Pre-trained Transformer)的縮寫。ChatGPT是一種基于變壓器的模型,利用上下文信息來優化提高語義理解能力。ChatGPT能夠進行深度語義分析,并生成高質量的言語交互;具備語言翻譯功能,可以在人機對話過程中實現簡單的翻譯、自然語言理解和基于深度學習的文本分析等功能;同時還具備文本和語音的會話處理能力,可以為服務機器人和虛擬助手提供服務。這一強大的NLP模型為未來的自然語言處理系統樹立了標準,在一定程度上證明了從前人們認為不會被AI取代的知識型工作實際上有可能會被取代。

    InstructGPT

    圖1 OpenAI官網截圖

    從官網介紹可以看到,ChatGPT與InstructGPT是同源的模型,也就是說透過InstructGPT,我們能對ChatGPT有個大致的了解。

    InstructGPT是基于GPT-3模型訓練出來的。OpenAI 在2 至3 年前推出了GPT-3 模型,比起前兩代模型,GPT-3用以訓練模型的資料量大幅增加,用于訓練的模型參數已達1750 億。但相較于InstructGPT,GPT3的回答簡短,回復過于通俗毫無亮點。而InstructGPT則顯得“侃侃而談”,這是因為GPT3只是個語言模型,它被用來預測下一個單詞,絲毫沒有考慮用戶想要的答案,而InstuctGPT則進一步利用在GPT-3的龐大數據中學到的知識和能力進行進一步深化工作。

    InstructGPT(which is trained to follow an instruction in a prompt and provide a detailed response)顧名思義就是指令式的GPT。InstructGPT通過遵循數據中的指令進行訓練模型,從而提供詳細的響應文本。InstructGPT是OpenAI在今年3月在文獻 《Training language models to follow instructions with human feedback》[1]中提出的,其整體工作原理和下一節要詳細介紹的ChatGPT工作原理基本相同,都是三步走的戰略:收集反饋數據 、訓練獎勵模型 、PPO強化學習。但是在數據收集、基座模型(GPT3 vs GPT 3.5)以及初始化PPO模型方面ChatGPT要更為強大。

    透過InstructGPT分析ChatGPT 

    ChatGPT比其前身 GPT-3 有顯著的提升,比起同源的InstructGPT也有著獨到的優勢,甚至可以說ChatGPT是站在InstructGPT及GPT-3的肩膀上完成的一項偉大的工作。與InstructGPT類似,ChatGPT 能以不同的方式生成文本,并使用監督學習和強化學習的組合來進行迭代優化,但是ChatGPT 在泛用性、準確性、細節性及連貫性等方面比InstructGPT等大數據模型更強,其關鍵優勢來源于強大的基座大模型能力(InstructGPT)、高質量的真實數據(干凈且豐富)、強化學習(PPO算法)三個部分。

    要說最值得稱道的就是強化學習模塊。強化學習模型OpenAI 使用了人類反饋強化學習(RLHF)的訓練方法,在訓練中除了自身算法訓練外,還大量使用了人類反饋,提高了算法的人性化。因此ChatGPT的對話能力、文本生成能力、對不同語言表述的理解均很出色。ChatGPT可以回答各類問題,在多輪對話下的歷史記憶能力和篇幅擴展方面均比InstructGPT更強。與InstructGPT等大模型相比,ChatGPT回答更為廣泛全面,可以通過多角度對提出的問題進行回答及后續追述,相較以往的大模型,知識被“挖掘”得更充分。

    在機器學習領域,我們評價模型的能力一般是看對應模型執行特定任務或一組任務的能力以及通過它能夠優化其目標函數的程度來評估。例如,用來模擬評估秋田犬培育情況的模型,如果這個模型能夠較為準確地預測秋田犬隨時間、天氣等自然因素的成長變化,則認為該模型具有的分析能力處于一個較高階段。但在實際應用中,這些模型的訓練方式與期望使用它們的方式之間存在明顯的差異。盡管按照邏輯,機器計算詞序列的統計分布才是建模最高效的選擇,但這種方式對于大部分人來說是無法適應的,人類更愿意通過選擇最適合特定情境的文本來生成語言,并在此基礎上增加部分背景知識和常識來豐富語言文本,但是這對于機器來說很難實現。

    在訓練語言模型中,Next-token-prediction 和 masked-language-modeling 是核心技術。Next-token-prediction會給模型一個詞序作為輸入,并且預測承接這個詞的下一個詞序,例如我輸入“I want to work at”,那么下一個承接的詞序可能會是“woodhouse”或者其他相關度更低的詞匯,因為它的判斷邏輯來自于前面上下文中高頻率出現的字母,然后根據這些字母在詞庫里按照一定邏輯尋找合適的詞。masked-language-modeling 是 Next-token-prediction 的變體,它能自動識別語句,并且將輸入語句中的一些詞替換為特殊 token,例如“I [want] to work at home”,然后模型將會按照一定邏輯尋找合適的詞插入到 want位置。例如hope等詞匯。這些技術將讓模型學習語言的統計結構,例如常見的語氣和語法。這將有助于模型生成更自然、更流暢的文本,是每個語言模型預訓練階段的重要步驟。然而由于技術不夠完善,無法區分重要錯誤和不重要錯誤,一定程度上可能導致出現一些問題。例如“I [want] to work at home”,可能會被填入hate等完全和人類所希望產生的語境相反的詞匯。但是ChatGPT卻很大地改善了這一問題,想知道ChatGPT是怎么實現的,就要分析它的工作原理。

    圖2 ChatGPT工作原理[1]

    由于目前OpenAI尚未公布ChatGPT的詳細技術原理,我們只能根據現有透露的信息結合以及和它同源的InstructGPT的原理來進行分析。

    首先使用有監督學習方式,基于GPT3.5微調訓練一個初始模型,訓練數據為2w~3w量級(此處為推測量級,根據同源模型InstructGPT的訓練數據量級估算)。從訓練數據中抽取部分數據(例如在數據庫中隨機抽取一條數據:”我想在綠盟從事安全工作”),在這些數據的基礎上,進行進一步精細化的人工干預,干預方式通常為某個特定人類定下這個數據具體想要模型訓練的方向(如我想讓我訓練的數據模型的回答在收到“我想在綠盟從事安全工作”這類問題時,模型的回答會偏向“從事逆向研究方向”),就像給數據打上一個小小的標簽,告訴下一步模型需要將這個數據具體訓練成什么樣,然后通過由人類模擬人和機器進行對話及通過機器自身生成的一些建議來輔助人類撰寫回復(這一步就和傳統的訓練模型類似,通過人類預先設定好的一些回復以及靠模型自身從網絡收集的數據來調試初始的數據模型,從而使得模型和人類的對話兼備準確性和類人性),以此提高工作效率和準確度,如此多輪循環后得到含人工精確標注的對話數據。在有監督的訓練后將會得到一個初始的模型,該模型即作為指令式GPT的冷啟動模型(新模型對GPT來說沒有過往數據積累,需要通過一定的優化及迭代來收集基礎數據。這個從0到1積累基礎數據的過程就是冷啟動。其效果的好壞直接關系到整個模型后續的使用效果及優化策略,而數據的積累是做冷啟動優化的動力來源)。雖然精標的訓練數據的數據量不大,但由于經過人工監督訓練,數據的準確性和可用性非常高。

    其次收集相同上下文數據,并根據回復質量進行排序:即隨機抽取一大批數據,使用第一階段的冷啟動模型,產生多個不同回答(A 我想從事安保工作,B 鈍角,C 我想從事安全研究工作,D 我想從事安全研究下的具體分支),結果出來后,標注者將對這些輸出結果進行打分并排序(D>C>A=B),這些標注數據用來訓練獎勵模型,使其預測出標注者更喜歡哪個輸出,機器在"比較中"學習可以給出相對精確的獎勵值。這一步就是為什么ChatGPT能解決其他大型數據模型及相關技術無法解決的區分問題,可以說ChatGPT讓訓練模型從傳統的命令驅動轉向了意圖驅動,也意味著之后的模型訓練數據不需過多,基本維持在萬量級即可。因為訓練模型不再像過往訓練模型一樣需要在訓練模型前先窮舉并回復所有的問題才能在上層應用為用戶提供較為準確的回復,因為所有的問題回答模型之前已經訓練過了。ChatGPT只需要告訴模型特定人類的喜好,從而根據特定人類具體的喜好來強化模型意圖驅動的能力即可,此外如果需要泛用的模型則需要通過不同的人多輪訓練獎勵模型,從而減少模型回答的主觀性,符合大多數人類的認知。

    最后使用PPO強化學習策略(2017年OpenAI提出的一種新型的強化學習策略優化算法,它提出了新的目標函數,可以在多個訓練步驟實現小批量的更新,其實現簡單、易于理解、性能穩定、能同時處理離散/連續動作空間問題、利于大規模訓練)來微調第一階段的模型。通過隨機抽取新的數據,然后用第二步產生的獎勵模型給數據產生的回答自動打分。這個分數即回答的整體獎勵值,然后將此獎勵值回傳給標注者,標注者根據情況進行沿用或者獎勵模型調整,由此產生的策略梯度可以更新PPO模型參數。并以此反復,這就是標準的強化學習(reinforcement learning)的訓練框架了。

    以上三個步驟即ChatGPT的訓練過程,合稱為人類反饋強化學習(RLHF)。通俗來講,整個ChatGPT的強化學習算法可以簡單理解為通過不斷在人工干預下由模型調整訓練參數,使模型得到令人滿意的獎勵值,令人滿意的獎勵值意味著此時訓練出來的回復最符合人類的選擇取向。

    ChatGPT對網絡安全的影響

    從ChatGPT發布到現在,大量安全圈相關從業者對ChatGPT嗤之以鼻,認為ChatGPT不過就是個簡單的八股文編譯器,對安全行業不會產生任何助益,也不會造成任何威脅,但是隨著Chatgpt展現出改變安全行業未來格局的潛力后,越來越多的安全從業者開始重視并研究Chatgpt。

    Chatgpt的爆火使得AI技術再一次登上舞臺,但是在無人關注的幕后,AI對網絡安全的影響從未停止擴散。

    近些年由于AI自動化和智能化的能力,黑客攻擊速度的攻擊速度大幅提升,像平時使用的智能端口掃描等工具,其實就是低等AI的利用,這些AI通過簡單的判斷邏輯幫助黑客快速的搜集目標的準確信息或同時攻擊多個目標。舉個例子,現在黑客會使用AI來識別網站驗證碼(無論滑動拼格或者識圖填寫),從而繞過網站安全防護。

    安全機構Check Point Research公司在今年1月發布了一份調查報告,主要調查網絡犯罪分子如何惡意使用ChatGPT。調查發現,犯罪論壇上的威脅參與者創建了一封“令人信服的魚叉式網絡釣魚郵件”,并且使用ChatGPT創建了一個惡意Java腳本文件。為什么目前安全圈從業者對于ChatGPT表示不看好,根因就是ChatGPT代碼編寫能力還不是很完善且輸出質量、穩定性不高,導致如果目前使用ChatGPT編寫惡意代碼,還需要由有一定技術的人員進行校對及完善工作,說白了目前ChatGPT就像一枚研發不完全的洲際巡航導彈,即使僥幸能發射,如果不由專家來操控,導彈根本不能打擊到準確的目標,造成威脅的概率不大。但是隨著技術的完善,未來ChatGPT將有可能可以穩定編寫惡意代碼,屆時網絡犯罪成本將急劇下降,可能會導致不懂任何惡意代碼編寫的網絡犯罪分子激增,到時候洲際巡航導彈將變成小巧精致的手槍,使用者無論是誰,只要會瞄準并扣動扳機就能打到人。

    ChatGPT代碼編寫能力相對初級,對于實現開發安全工具這類對于網絡安全最直接的收益目前還差得遠,但是對于安全檢測及安全分析方面的應用已經開始嶄露頭角,如編寫程序檢測目標主機或URL是否存在漏洞、編寫程序掃描主機目錄是否存在惡意文件、逆向分析機器語言shellcode、解釋反編譯代碼、代碼安全審計、安全告警評估等,都已經有專家測試并驗證過,雖然細化程度不高,但確實可行。這就意味著隨著ChatGPT能力的成熟,目前困擾著社會安全人才嚴重短缺的問題將得到緩解,一些初級的安服人員將有可能依靠ChatGPT分析他們在警報和檢測中看到的內容,然后要求 ChatGPT 給出準確的威脅分析報告,并快速啟動安全事件分類流程,大幅降低了安全服務準入門檻的同時也大幅提高了安全分析的工作效率。此外在各式的安全事件分析匯總到 ChatGPT 后, ChatGPT 將有潛力成為世界上最大的威脅情報平臺。

    隨著ChatGPT的進步,未來某些日子我們的網絡安全防護可能變得更智能、反應更快,可以防護以前注意不到或防不住的攻擊行為,同時也可以通過AI技術自動生成防護規則,大幅縮短攻擊響應時間。

    ChatGPT就像一把雙刃劍,一方面在人機交互方面具有高度的靈活性和流動性,幾乎任何話題都可以得到令人滿意的回復及更進一步的探討研究。另一方面ChatGPT 的響應可能包含錯誤(例如可以發明不存在的詞匯或者給出錯誤的信息),即使ChatGPT 在這方面比它的前輩模型好了太多。

    ChatGPT是一個令人印象深刻的人工智能工具,它就像火藥,在善意的人手里就是過年時夜空中綻放的煙花,在心存歹念的人手里就是射穿他人的子彈。在安全方面ChatGPT具有無限可能,當然在惡意安全攻擊方面的潛力也深不見底,歸根結底這并不是技術本身的固有風險,而是由它的使用者決定的,相較于被動存在的風險,ChatGPT的廣泛應用可能性及未來的發展性,才是我們應該重點關注的。

    機器學習強化學習
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    該文為發表于ICICS 2021的Improving Convolutional Neural Network-Based Webshell Detection Through Reinforcement Learning。目前,Webshell檢測對于網絡安全保護非常重要。傳統方法主要基于關鍵字匹配,這在很大程度上依賴于領域專家的經驗。近些年來,機器學習被引入到Webshell檢測中,并被證明效
    對決策者和從業者來說,務實的做法是細致了解哪些任務可以從機器學習中受益,哪些任務不能。
    RSA Conference 2023將于舊金山時間4月24日正式啟幕。近日,RSA Conference正式公布RSAC 2023創新沙盒競賽的10名決賽入圍者,分別為AnChain.AI、Astrix、Dazz、Endor Labs、HiddenLayer、Pangea、Relyance AI、SafeBase、Valence Security、Zama。目前,已獲得種子輪600萬美元的融資。可見,機器學習的威脅攻擊面暴露并被利用的真實事件,是推動HiddenLayer團隊成立創業公司的核心驅動力之一。據統計,2021年全球的網絡攻擊估計造成了6萬億美元的損失。Security Audit Reporting,安全審計報告。
    無監督學習(無監督學習)是和監督學習的另一種數據監督機器的方法,無監督學習是沒有的明顯學習數據本身。
    所以在最壞的安全假設下,噪聲成為降低攻擊效率的主要條件。GE表示正確密鑰的位置排名。每條能量跡有25萬個樣本點,對其中1400個特征點進行分析。漢明重量泄露模型下特征點數量和PI的關系在高信噪比的情況下,神經網絡顯示出優于高斯模板攻擊的性能。圖中顯示了每個單獨的密鑰字節達到猜測熵為1 時所需的攻擊軌跡數。
    DeepExploit 是一種基于強化學習的自動化滲透框架,號稱能夠進行高效滲透,本文對該工具進行了分析并給出改進方向 本部分對DE(將DeepExploit簡稱為DE)利用到的核心工具做簡單介紹,分為metasploit介紹和強化學習算法介紹,均為入門介紹,熟悉的讀者可自行忽略。
    在網絡安全領域,全球越來越多的公司正在嘗試將人工智能、機器學習等集成到產品之中,智能化、自動化都是網絡安全領域的熱詞。
    隨著 OpenAI 發布 ChatGPT 帶來的影響,人們更加關注生成式人工智能(AIGC)這個在人工智能領域的新突破。隨著機器學習和大量計算能力的發展,復雜的人工智能已經成為現實,而且會不斷改進。這在帶來生產力變革的同時,也引起全球對其數據安全問題和挑戰的極大關切,包括內容安全、算法歧視、侵犯知識產權和信息泄露等安全隱患。
    這篇技術干貨 帶你了解深信服的AI技術
    人工智能密碼學”為觀察人工智能與密碼系統的互動、影響提供新視角,也為當下后量子密碼技術探索提供新方案,無疑是一個值得探究的新方向。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类