|
大型語言模型基礎概念
定義和名詞釐清
大型語言模型與指令(詠唱)
「大型語言模型(LLM)的原文是 Large Language Model,「Large」指的是有大量的參數進行數學運算,「Language」就是我們日常說說寫寫的語言,而「Model」指的是模型,可以理解成是用程式碼和數學建構一個虛擬的大腦。
這個大腦會什麼呢?它最擅長的就是「說話」,你給指令(prompt),它會依照你的指令回覆,例如回答你的問題、發想一段文章、總結一篇文章、撰寫一小段程式碼、甚至幫忙將資料整理成不同格式等。
自然語言處理 / 自然語言理解
說話是人類的基本能力,說很多笑話會令人覺得幽默,瞎掰很多廢話會讓人感受不可靠,具有邏輯性的推理則令人感到靠譜。
虛擬的大腦理解我們的指令、生成回答,在學術界屬於自然語言處理(NLP; Natural Language Processing),又或是歸屬於自然語言理解(NLU; Natural Language Understanding),「自然語言」是個很拗口生澀的詞,想成是「口語」的意思就好。
訓練大腦:文字接龍與克漏字
說話是一種技能,而話中內容的品質則衡量高下,即便是人類說的話也常出錯,這個虛擬的大腦也不例外,當質疑他說的內容明顯有誤,我們會說它在「幻想」(Hallucination)。
人學會說話,仰賴在日常生活中增加字彙量、知道說話的文法、甚至開始頓悟世界運行的潛規則。就像是我家現在 2 歲的小朋友,從會說「牛奶」,到最近經過便利商店會說「買西瓜口味的牛奶喝」,生活經驗裡接觸到的事物,以及我們平常他說話的方式,提供他學習的素材,這個過程可以想成是「訓練模型」。
實務上,大型語言模型靠「閱讀幾乎無窮無盡的文章」來練成說話能力,就像虛擬大腦每天在圖書館裡混,看一點書、雜誌、漫畫、新聞,我們要求模型離開圖書館時玩「文字接龍」來評估說話能力,並且提供回饋讓模型知道接得好不好。
舉個例子,用「我的爸爸 …」造句,大型語言模型讀完哆啦A夢,也許會接龍「我的爸爸每天加班應酬到很晚,回到家就睡覺」,我們給合理的接龍高分,不合理的接龍低分,久了模型就會學會很多說話的邏輯和技巧。
特點與優勢
ChatGPT 讓全世界開始關注大型語言模型,筆者個人認為有幾個很簡單的原因:
1. 理解語意的能力真的很好:透過爆多數據、爆多參數、爆多 GPU,GPT3.5 (及更高等級的模型)不論是在翻譯、總結、擬人度都是前所未有的好,特別是在中文的效果也顯著提升。
2. ChatGPT 是個高度精修的技術產品:ChatGPT 除了技術真的不錯,在很多小細節上著力地令人印象深刻,例如當你指出 ChatGPT 的回答有誤時,ChatGPT 會先是道歉、承認自己理解可能有誤,這個對齊人類互動模式的效果,其實絕對不是一般純技術團隊會花時間微調的,標準的作法是在常見的 NLP 任務上盡可能地取得全面性的更高結果,而 OpenAI 選擇投資在對齊人類,反映 ChatGPT 在推出前就是針對普羅大眾,而且記取歷史上失敗聊天機器人的教訓(例如微軟小冰、Tay 等),從後見之明來看是很成功的一步棋。
4. 開放的 API?:很多分析文章指出 API 是很好的推廣手段,但絕對不是這個原因,Google、Azure、AWS 一直以來也都有很方便的自然語言處理 API,很少人用只有一個簡單的原因:效果不好。
5. 對大規模使用的工程基礎功:雖然 ChatGPT 還蠻常壞掉的,體感覺得可用性不到 95%,但這麼大量的用戶湧入,OpenAI 沒有整個系統炸翻已經是非常厲害的了。
缺點與限制
- 資料偏見:如果訓練資料中存在統計上的偏見,模型的回答會是偏誤的。根據 Statistia 的統計,2023 截止今天為止(2023/09/28)中文的網站只占據 1.7%,繁體中文的肯定更少。模型僅反應數據本身的統計特質,也因此更貼近英語體系的文化與價值觀。
- 資訊的時效性:模型的資訊被日期最接近的訓練資料限制,它不會知道之後的發生的事件。然而,這是個很大的誤區,其實不應該試圖從大型語言模型取得肯定的事實(fact),把它當作是一個知識淵博的顧問會更好,我們從顧問口中得到觀點(opinion),消化吸收後再決策。
- 資安問題:以 OpenAI 為例,雖然他們做出更多企業等級的資安規範,例如數據完全獨立管理,不過依舊不建議把個人隱私資料輸入進去。至於企業機密,這就要看個別企業評估風險背後的有多大的代價,基本上微軟、Google 早就看光 Outlook、Gmail 裡面所有的企業機密了,這有點像是我們是否放心把錢放在銀行。如果對 OpenAI 等新創事業不放心,選微軟或 Google 等大型企業風險會低得多。
大型語言模型的發展歷史
統計模型
最早的語言模型可以追溯到 100 年前的 Markov chain,基本原理就是從句子中已知的字去推斷下個字,一般稱為語言模型,但這還不是「大型」語言模型。
早期的語言模型用在輸入法也許還 OK,但還是有很多技術上無法突破的議題,例如 Markov chain 的記憶長度越長,需要的參數就平方地成長,加入 hidden layer 的 Hidden Markov Model 不容易訓練,這一系列的模型難以掌握相似詞的語意相關性,雖然在語音辨識、語音合成領域都會用到這些技術,效果不夠好,因此都沒有進入大規模商用。
深度學習模型
自從類神經網路證明其威力,RNN、LSTM 等模型開始被套用在語言模型,效果也的確遠遠比早期模型更好,不過在落地的時候還是有點力不從心,有點像是繳了張 60 分的考卷,使用者覺得不夠好,開發者也只能找理由說是數據量還不夠大。
大型語言模型
大型語言模型的起始點是 BERT,由Google在 2019 年推出,採用 Transformer 的架構,使用了多頭的雙向注意力的架構,模型學習目標就像是考試中「克漏字」,挖空一個字詞讓模型猜,猜得合理就給高分,猜得不好就給低分,技術細節可見我們的介紹影片。
採用 Transformer 的架構,OpenAI 於 2018 年推出了 GPT (Generative Pre-trained Transformer)架構,模型學習目標是「文字接龍」,有 1 億 2 千萬個參數,是當前 ChatGPT 的前身;筆者當初測試 GPT-2 的時候效果還是非常爛的,就像一個喝醉酒的業務,滿嘴瞎掰胡扯而且一本正經。
隨後,OpenAI 又陸續推出 GPT-2、GPT-3、GPT3.5、GPT-4,現在 ChatGPT 對應的 GPT3.5 、GPT4 的模型,文字接龍的效果非常好,離商用可行性非常接近了。
除了最有名的 ChatGPT,其他 LLM 還包括Google 的 T5、Databricks 的 Dolly、Google 的 Bard和 Meta AI 的 LLaMA、Anthropic 的 Claude 等,不勝枚舉。
應用方式與熱門產品
寫作
- 藝術或文學創作:幫助創作者生成內容或大綱,像是小說、劇本、詩詞等。
- 審查與合規:糾正語法錯誤、提供寫作建議。也能用來比對法規或政策以指出具有不一致風險的段落,例如 Grammarly、 Lawsnote 的法遵系統。
- 電商與行銷文案:能夠協助編寫商品描述、客服回覆訊息、書狀等文件,例如 jasper、Writer。
- 客戶服務:協助客服人員搜索內部知識庫與撰寫回覆,例如 ZenDesk。
- 法律文件:幫助法務人員彙整文字、編寫書狀等。
- 程式撰寫:檢查程式碼錯誤、自動完成程式碼段落等,例如 Github Copilot。
對話
- 客戶服務:最直覺的應用是 AI 客服,讓 LLM 可以查找企業內部的商品、退換貨等政策,以此回覆客戶的產品諮詢、售後服務等。
- 教育與學習:提供學生 24/7 的即時問答,根據學生的學習水平和需求,提供個人化的練習和測試。例如哈佛大學推出的 CS50 電腦科學 AI 助教、Khan Academy 的 Kamingo 、MacroMicro 的總經問答系統 MMGPT、Hahow 仍在測試中的 Hahowise 等。
- 諮商與諮詢:解決諮商的空間/時間議題,例如 AI心理諮詢好閨蜜,透過 LINE 就能隨時抒發心情、獲得陪伴。