在上一篇文章中我們介紹了 AI Security 的概念,也提到近年來大型語言模型(Large Language Model,LLM)逐漸成為企業導入 AI 的核心技術。
不過在開始探討 AI Security 前,我覺得還需要先了解一些觀念。
在開始介紹 LLM 前,先釐清一個很多人容易搞混的觀念,很多人會把 ChatGPT 和 LLM 畫上等號,但其實兩者並不完全相同。
LLM(Large Language Model,大型語言模型) 是 AI 的核心模型,是一種技術,負責理解與生成自然語言,而 ChatGPT 則是 OpenAI 推出的 AI 產品,它是建立在 LLM 之上的聊天介面,讓使用者能透過對話的方式與模型互動。
簡單來說,可以把它們想像成:
沒有引擎,汽車就無法行駛;同樣地,沒有 LLM,ChatGPT 也無法回答問題。
除了 ChatGPT 之外,目前市面上常見的 AI ,例如 Claude、Gemini、Microsoft Copilot 等,也都是建立在各自的大型語言模型之上。
了解兩者的差異後,接下來我們就來看看,到底什麼是 LLM,以及它是如何運作的。
很多人以為 ChatGPT 就像 Google 一樣,只要輸入問題,它就會到網路上搜尋答案,再回傳給使用者,然而大部分情況並不是這樣,雖然現在的 ChatGPT 可以透過 Web Search 等工具搜尋網路上的最新資訊,但**「搜尋網路」與「LLM 生成回答」還是兩件不同的事情**。
LLM 並不是一個搜尋引擎,而是一個經過大量資料訓練的語言模型,它的工作是根據上下文預測下一個最有可能出現的文字。
LLM 透過大量文本資料進行訓練,例如文章、新聞、網頁以及程式碼等,模型會從這些資料中學習人類語言的規律。因此當我們向它提出問題時,它並不是到網路上搜尋答案,而是根據目前的上下文,依照機率預測下一個最有可能出現的 Token(詞元),並持續重複這個過程,最終組成完整的回答。
舉例來說,當我們輸入:
「台灣最高的山是哪一座?」
LLM 並不會像搜尋引擎一樣,到資料庫查詢「台灣最高的山」這個關鍵字,而是根據過去訓練時學到的知識,以及目前對話的內容,逐步預測下一個最合理的 Token,最後生成像是:
「台灣最高的山是玉山,海拔約 3,952 公尺。」
這個回答並不是一次產生,而是模型經過一次又一次的預測,將許多 Token 串接起來後,才形成我們看到的完整句子。
整個流程大致可以簡化成下圖:
使用者輸入 Prompt
↓
將文字切成 Token
↓
理解上下文
↓
預測下一個最有可能出現的 Token
↓
重複上述步驟
↓
生成完整回答
既然 LLM 是透過預測 Token 來回答問題,那麼 Token 到底是什麼?
AI 其實並不是一個字一個字的思考,LLM 處理的是 Token(詞元),它可以是一個字、一個詞,甚至是一部分單字,而不是固定的一個字元。
例如 Hello World 可能會被切成 Hello 跟 World,中文也一樣,不一定是一個中文字就是一個 Token,而是依照模型的切分方式決定,也因為 LLM 是以 Token 為單位進行運算,所以我們常聽到的 Token 數量、Context Window、API 計費等概念,都是建立在 Token 的基礎上。
看到這裡我們先把話題拉回資安,我們剛剛有介紹 LLM 並不是根據「真假」來回答,而是根據輸入的內容與上下文來生成回應,這代表很有可能出現以下問題:
這些都是 AI Security 所關注的核心議題。
下一篇文章我們將正式進入 AI Security 的攻擊面,介紹目前 LLM 常見的安全威脅,以及 Prompt Injection、Jailbreak 等攻擊手法,了解攻擊者是如何利用 LLM 的特性發動攻擊。
iThome鐵人賽