什麼是大型語言模型 (LLM)?
大型語言模型 (LLM) 是一種前沿的自然語言處理 (NLP) 開發,旨在理解和生成人類語言。LLM 是在大量文字資料上訓練出來的先進人工智能模型,使其能夠辨識語言模式、理解上下文,並產生連貫且與上下文相關的回應。NLP 提供了機器處理語言的基礎技術,而 LLM 則代表了一種專門的方法,大幅提升了機器模擬人類語言理解與產生的能力。
目前有哪些 LLM?
LLM 代表了自然語言處理的前沿領域,目前有幾種模型在這個領域中佔有主導地位,包括 Google 的 Gemini、Meta 的 Galactica 和 Llama、OpenAI 的 GPT 系列,以及其他如 Falcon 40B 和 Phi-1。透過不同的架構和參數大小,這些模型在回答查詢、產生連貫且與上下文相關的長篇幅文字等任務上表現優異。
Google 推出的 BERT以其變壓器架構奠定了基礎。另一方面,最近加入的 Meta's Galactica 明確以科學界為目標,同時因產生誤導的「幻覺」而面臨審查,可能在科學領域產生深遠的影響。與此同時,OpenAI 的 GPT 系列,尤其是 GPT-3 和 GPT-4,在容量上有突破性的發展,據傳後者包含超過 170 兆個參數,並具備處理文字和影像的能力。這個模型的優勢引發了人們對人工智慧(AGI)的猜想,即理論上可以與人類智慧相提並論或超越人類智慧的機器能力。
然而,挑戰依然存在。這些模型的大規模和複雜性可能會導致不可預測的輸出,而其巨大的訓練需求也引起了人們對環境可持續性和結果偏差的關注。
儘管存在種種疑慮,但法律碩士的演進有望在不同領域取得進展 - 從網路搜尋改善等平凡工作,到醫學研究和網路安全等關鍵領域。隨著領域的發展,潛力與謹慎之間的平衡仍然是最重要的。
LLM 如何運作
為了在理解和產生類似人類的語言方面表現傑出,LLMs 結合使用了神經網路、龐大的訓練資料集,以及稱為轉換器的架構。
神經網路
大型語言模型的核心是具有多層次的神經網路,稱為深度學習模型。這些網路由互相連接的節點或神經元組成,在訓練階段會學習辨識輸入資料中的模式。LLM 在大量的文字上接受訓練,包括網站、書籍和文章等不同來源,讓它們學習文法、語法、語義和上下文資訊。
神經網路透過一種 機器感知、標籤或原始輸入聚類的方式,以專門識別模式的演算法為基礎,詮釋感官資料。神經網路的架構有簡單的前饋網路(節點之間的連接不會形成循環),也有複雜的結構,包含精密的層級和多重回饋循環。
卷積神經網路 (CNN):這些對於處理具有網格狀拓樸的資料特別有效。例如影像資料,可視為像素的 2D 網格。
循環神經網路 (RNN):這些適用於文字和語音等序列資料。每一步的輸出都取決於之前的計算和某種有關目前已處理內容的記憶。
Transformer 架構
Transformer 架構是 LLM 的關鍵元件,由 Vaswani 等人在 2017 年提出。Transformers 可解決早期序列模型 (如 RNN 和 LSTM) 的限制,這些模型在長距離相依性和平行化方面頗為吃力。Transformers 採用一種稱為自我注意 (selfattention) 的機制,讓模型能夠衡量輸入上下文中不同詞彙的重要性,並擷取它們之間的關係,而不考慮它們在序列中的距離。
標記化
標記化是使用 LLM 處理文字的第一步。輸入的文字會被分解成稱為 token 的較小單位,然後轉換成神經網路可以處理的數值表示 (向量)。在訓練過程中,模型會學習根據輸入標記及其關係產生符合上下文的輸出標記。
訓練過程包括透過稱為反向傳播的技術調整神經網路連線的權重。透過最小化模型預測與訓練資料中實際目標詞彙之間的差異,模型可學習產生更準確、更連貫的語言。
大型語言模型一旦經過訓練,就可以在特定的任務或領域上進行微調,例如情感分析、總結或問題解答,方法是在較小的、特定任務的資料集上進行短期的模型訓練。此過程能讓 LLM 調整其一般化的語言理解,以符合目標任務的細微差異與需求。
相關文章: 人工智慧說明
LLM 的優點
大型語言模型具有多種優點,包括
- 進階自然語言理解:LLM 可以理解語言的上下文和細微差異,讓他們的回應更貼切、更像人類。
- 多功能性:LLM 可應用於各種任務,例如文字產生、摘要、翻譯和問題回答,而不需要特定任務的訓練。
- 翻譯:接受過多種語言訓練的 LLM 可以有效地在多種語言之間進行翻譯。有些人認為,他們甚至可以根據模式從未知或失落的語言中引申出意義。
- 自動化平凡任務:LLM 可以執行與文字相關的工作,例如總結、重寫和產生內容,這對企業和內容創造者來說特別有用。
- 新興能力:由於 LLM 接受了大量的資料訓練,因此可以展現出意想不到但令人印象深刻的能力,例如多步運算、回答複雜的問題,以及產生連續思考的提示。
- 除錯與編碼:在網路安全方面,與傳統方法相比,LLM 可以更快速地協助編寫和除錯程式碼。
- 威脅模式分析:在網路安全方面,LLM 可以識別與進階持續威脅相關的模式,協助事件歸因與即時減緩。
- 回應自動化:在安全作業中心,LLM 可以自動回應、產生腳本和工具,並協助撰寫報告,減少安全專業人員花在例行工作上的時間。
儘管有這些好處,但必須記住 LLM 也有必須管理的缺點和道德考量。
LLM 的挑戰
LLM 令人印象深刻的語言能力所帶來的好處很容易讓人著迷,但組織也必須意識到並準備好應對隨之而來的潛在挑戰。
營運挑戰
- 幻覺:LLM 有時候會產生怪異、不真實的輸出,或是給人有知覺的印象。這些輸出並非基於模型的訓練資料,因此稱為「幻覺」。
- 偏見:如果 LLM 是在有偏見的資料上訓練出來的,它的輸出可能會對某些群體、種族或階級有歧視或偏見。即使在訓練之後,偏見也會根據使用者的互動而演變。微軟的 Tay 就是一個臭名昭著的例子,說明偏見是如何顯現和升級的。
- Glitch 代幣或逆向範例:這些特定的輸入會使模型產生錯誤或誤導的輸出,實際上會造成模型「失靈」。
- 缺乏可說明性:要了解 LLM 如何做出特定決策或產生特定輸出可能會很有挑戰性,因此很難排除故障或改進它們。
- 過度依賴:隨著 LLM 越來越融入各行各業,過度依賴 LLM 的風險也就越大,有可能讓人類的專業知識和直覺靠邊站。
LLM 使用案例與部署選項
LLM 為 組織提供許多可選的實作模式,每種模式都依賴不同的工具集及相關的安全影響。
使用預先訓練的 LLM
OpenAI 和 Anthropic 等雲端供應商提供 API 存取功能強大的 LLM,並由他們管理和保護。組織可以利用這些 API 將 LLM 功能整合到應用程式中,而無需管理底層基礎架構。
另外,開放原始碼的 LLM(例如 Meta 的 LLaMa)可在組織自己的基礎架構上執行,提供更多的控制和客製化選項。從壞處來看,開放原始碼 LLM 需要大量運算資源和人工智能專業知識才能安全實作與維護。
LLM 部署模式
- 以 API 為基礎的 SaaS:基礎架構由 LLM 開發者 (例如 OpenAI) 提供與管理,並透過公共 API 佈建。
- CSP 管理:LLM 部署在雲端超級運算提供的基礎架構上,可以在私人雲端或公有雲端執行,例如 Azure、OpenAI 和 Amazon Bedrock。
- 自我管理:LLM 部署在公司自己的基礎架構上,這只與開放原始碼或自創模式有關。
預先訓練的 LLM 可提供各種功能 - 內容產生、聊天機器人、情感分析、語言翻譯和程式碼助理。電子商務公司可能會使用 LLM 來產生產品說明,而軟體開發公司則可以利用 LLM 驅動的編碼助手來提升程式設計師的生產力。
與預先訓練的 LLM 相關的安全問題
可輕鬆存取的雲端 API 和開放原始碼模式,大幅降低了在應用程式中加入進階 AI 語言功能的門檻。開發人員現在可以將 LLM 插入其軟體中,而無需維持 AI 和 ML 的深厚專業知識。這在加速創新的同時,也增加了缺乏適當安全性與合規性監督的影子 AI 專案風險。與此同時,開發團隊可能在未充分考慮資料隱私、 模型治理和輸出控制問題的情況下,就開始嘗試使用 LLM。
微調與檢索增強世代 (RAG)
若要針對特定應用程式客製化 LLM,組織可以在與所需任務相關的較小資料集上微調 LLM,或是實作 RAG,也就是將 LLM 與知識庫整合,以進行問題解答與內容總結。
這些用例包括可存取內部資料的專門 AI 助理 (例如,用於客戶支援、人力資源或 IT 服務台) 和問答程式 (例如,用於文件、程式碼儲存庫或訓練材料)。例如,電信公司的客戶服務聊天機器人可以針對產品文件、常見問題或過去的支援互動進行微調,以更好地協助客戶解決技術問題和帳戶管理。
與微調和 RAG 相關的安全性影響
微調和 RAG 可讓組織將 LLM 適用於其特定領域和資料,從而實現更有針對性和更精確的輸出。然而,這種客製化過程通常會在訓練期間讓模型暴露於敏感的內部資訊。需要強大的資料管理實務,以確保只使用授權的資料進行微調,並確保所產生的模型是安全的。
模型訓練
有些大型科技公司和研究機構選擇投資培養自己的 LLM。雖然這是一個高度資源密集的過程,需要大量的運算能力和資料集,但卻能讓組織完全控制模型架構、訓練資料和最佳化過程。此外,該組織對所產生的模型擁有完全的智慧財產權。
模型訓練可以產生藥物發現、材料科學或自主系統等先進應用。例如,醫療照護組織可以開發一個模型,協助從醫療記錄和影像資料診斷疾病。
與模型訓練相關的安全問題
在處理複雜的黑盒模型時,訓練自訂 LLM 會產生如何維持模型行為的問責性和可稽核性的難題。訓練過程本身會消耗龐大的計算資源,因此必須在訓練環境周圍進行強大的隔離和存取控制,以防止濫用或干擾。首先,組織必須建立高效能運算基礎架構,並仔細整理海量資料集,這可能會帶來新的安全挑戰。
LLM 安全疑慮
在企業環境中部署大型語言模型的主要顧慮是在訓練過程中可能包含敏感資料。一旦資料被納入這些模型,要精確分辨哪些資訊被納入這些模型就變得很有挑戰性。如果考慮到用於訓練的眾多資料來源,以及可能存取這些資料的各種個人,這種缺乏可見性的情況可能會造成問題。
確保資料來源的可視性,並嚴格控制誰可以存取資料來源,對於防止機密資料意外暴露防護至關重要。
另一個值得關注的問題是 LLM 可能會被濫用於網路攻擊。惡意行為者可利用 LLM 製作具說服力的網路釣魚電子郵件,欺騙個人並未經授權存取敏感資料。這種稱為社交工程的方法有可能創造出引人入勝的欺騙性內容,使資料保護的挑戰升級。
如果沒有嚴格的存取控制和防護措施,發生重大 資料外洩的 風險就會增加,而惡意行為者也會獲得輕易散播錯誤資訊、宣傳或其他有害內容的能力。
雖然 LLM 有著近乎無限的正面應用,但它們也潛藏著創造惡意程式碼的潛力,繞過傳統的過濾器來防止這種行為。這種易受性可能會導致網路威脅進入新時代, 資料洩漏 不只是竊取資訊,而是產生危險的內容和程式碼。
舉例來說,如果受到操控,LLM 可能會產生惡意軟體、腳本或工具,危及整個系統。他們「獎賞駭客」的潛力引起網路安全領域的警覺,表示可能會發現實現目標的非預期方法,導致意外存取或收集 敏感資料。
當我們越來越依賴 LLM 應用程式時,組織和個人就必須對這些新興威脅保持警覺,隨時做好保護資料的準備。
圖 1:保護 LLM 免於 OWASP 的頂級安全風險
OWASP 前十名:LLM 安全風險
傳統的應用程式弱點為 LLM 帶來了新的安全風險。但一如以往,OWASP 及時發表了 OWASP 十大 LLM 安全風險 ,提醒開發人員注意新的機制,並需要針對利用 LLM 的應用程式調整傳統的修復策略。
LLM01:即時注射
提示注入可透過狡猾的輸入操控大型語言模型,使 LLM 執行攻擊者的意圖。透過直接注入,惡意使用者會覆寫系統提示。透過間接提示注入,攻擊者會操控來自外部來源的輸入。這兩種方法都可能導致 資料外洩、社交工程和其他問題。
LLM02:不安全的輸出處理
不安全的輸出處理是當未經審查就接受 LLM 輸出時發生的漏洞,會暴露後端系統。當下游元件盲目地接受 LLM 輸出而沒有進行有效的審查時,就會出現這種情況。濫用可能導致網頁瀏覽器的跨網站指令碼編寫 (XSS) 和跨網站請求偽造 (CSRF),以及後端系統的伺服器端請求偽造 (SSRF)、權限提升和遠端程式碼執行。
LLM03:訓練資料中毒
當 LLM 訓練資料透過 Common Crawl、WebText、OpenWebText、書籍和其他來源被篡改時,就會發生訓練資料中毒的情況。這種操作會引入後門、漏洞或偏差,危及 LLM 的安全性,並導致效能下降、下游軟體開發和聲譽受損。
LLM04:模型拒絕服務
模型拒絕服務發生於攻擊者利用 LLM 來觸發資源密集的作業,導致服務降級和成本增加。LLM 的高要求性質和使用者輸入的不可预測性,更擴大了這種弱點。在模型拒絕服務的情境中,攻擊者以要求過多資源的方式與 LLM 交戰,導致攻擊者和其他使用者的服務品質下降,同時可能產生大量的資源支出。
LLM05:供應鏈漏洞
LLM 的供應鏈漏洞可能會危及訓練資料、ML 模型和部署平台,造成安全漏洞或整體系統故障。易受影響的元件或服務可能來自中毒的訓練資料、不安全的外掛程式、過時的軟體或易受影響的預訓模型。
LLM06:敏感資訊揭露
LLM 應用程式可能會暴露敏感資料、機密資訊和專屬演算法,導致未經授權的存取、智慧財產遭竊和 資料外洩。為了降低這些風險,LLM 應用程式應採用資料消毒、實作適當嚴格的使用者政策,並限制 LLM 傳回的資料類型。
LLM07:不安全的外掛程式設計
外掛程式可能包含不安全的輸入和不足的 存取控制,使其容易受到惡意請求,導致 資料外洩、遠端執行程式碼和權限提升。開發人員必須遵循嚴格的參數化輸入和安全存取控制準則,以防止被利用。
LLM08:過度代理
過度代理是指基於 LLM 的系統採取的行動會導致非故意的後果。漏洞源自於賦予 LLM 過多的自主權、過度的功能或過多的權限。開發人員應該將外掛程式的功能限制在絕對必要的範圍內。它們還應該追蹤使用者的授權,要求所有動作都必須經過人工批准,並在下游系統中實作授權。
LLM09:過度依賴
當人類使用者或系統過度依賴 LLM 而未提供適當的監督時,LLM 可能會產生不當的內容。LLM09 的潛在後果包括錯誤資訊、安全漏洞和法律問題。
LLM10:盜竊模型
LLM 模型竊取涉及未經授權存取、複製或外洩專屬 LLM。模型盜竊會導致財務損失和競爭優勢的喪失,以及聲譽受損和未經授權存取敏感資料。組織必須執行嚴格的安全措施,以保護其專屬的 LLM。
大型語言模型常見問題
NLP 是人工智慧與語言學的子領域,著重於讓電腦能夠理解、解釋和產生人類語言。NLP 涵蓋廣泛的任務,包括情感分析、機器翻譯、文字摘要和命名實體辨識。NLP 技術通常涉及計算演算法、統計建模和機器學習,以處理和分析文字資料。
LLM 是一種深度學習模型,特別是神經網路,設計用來處理大規模的 NLP 任務。LLMs (例如 GPT-3 和 BERT) 會在大量的文字資料上進行訓練,以學習複雜的語言模式、文法和語義。這些模型利用一種稱為轉換器架構的技術,使它們能夠捕捉語言中的長距離依賴關係和上下文資訊。
NLP 與 LLM 的主要差異在於 NLP 是一個更廣泛的領域,包含各種處理人類語言的技術與方法,而 LLM 則是專為進階 NLP 任務所設計的特定類型神經網路模型。LLM 代表了 NLP 網域中最先進的方法,與傳統的 NLP 方法相比,LLM 在理解和產生類人語言方面提供了更佳的效能和能力。
生成式敵意網路 (GAN) 是一類機器學習模型,旨在產生與給定資料集相似的新資料樣本。GAN 由兩個神經網路組成,一個是產生器,另一個是判別器,它們以競爭的方式同時進行訓練。產生器會產生合成樣本,而辨識器會評估所產生的樣本,並將它們與真實資料區分開來。
產生器會不斷地嘗試欺騙鑑別器,從而改善其資料產生能力,而鑑別器也會反過來改善其辨識真實與產生樣本的能力。這個敵對過程會不斷地進行,直到產生的樣本與真實資料幾乎沒有差異為止,這使得 GAN 在圖像合成、資料增強和風格轉換等應用方面特別有用。
變異自動編碼器 (VAE) 是一種生成模型,透過將輸入資料編碼到低維潛在空間,然後從此壓縮表示重建資料,從而學習如何表示複雜的資料分佈。VAE 由兩個神經網路組成:一個編碼器將輸入資料映射到潛在空間中的概率分布,另一個解碼器從此分布中的取樣點重建資料。
VAE 模型的訓練目的在於最小化重建誤差和正則化項目,正則化項目鼓勵學習到的分佈與預先定義的先驗分佈一致。VAE 能夠透過解碼從潛在空間取樣的隨機點來產生新的資料樣本,因此適用於影像產生、資料去噪和表象學習等應用。