這一篇其實是個意外,前幾天在某個AI大師對談的活動上出現一個提問,在網路上引起了不小的討論,提問是這樣的
什麼是LLM
突然意識在談LLM的開發,但卻沒有大略說明什麼是LLM,似乎說不過去,於是今天臨時插進了這一篇。本篇內容並不打算討論該活動的插曲或好與壞,僅就提問的題目做說明。
LLM的全名是"Large Language Model",也就是大型自然語言模型,在人工智慧領域內,模型泛指的是負責接收Input然後預測產出output的中間大腦。想像一下,LLM就像是一個語言專家。它懂得很多語言,能夠迅速回答各種問題、寫文章、進行翻譯、寫詩、甚至幫你寫程式碼。然而但這個專家並不是真正的人類,而是一個電腦程式。這個程式是由大量的資料所訓練出來的,這些資料包括了大量的書籍、文章、網頁、維基百科等。並且因為它學習了這麼多的資料,所以它能夠處理和理解各種語言的問題(事實上並不是真的理解,而是一種模仿)。所以當你問這個"專家"問題時,它會根據過去所學習的資料來給你答案。它可以做的事情非常多,從回答簡單的問題到幫你寫一篇文章,都沒有問題,而這個專家因為內部參數量非常大,因此被稱為"大型自然語言模型",簡稱LLM。
目前知名的大型語言模型 (LLM),並不是只有ChatGPT,例如:
這些模型都是基於大量的文本資料進行訓練的,模型的任務是透過接收輸入文本並預測下一個詞或符號。因此LLM並非指特定的哪一個模型,也可以說它是個統稱。
那麼LLM又是如何被訓練的,讓我們用白話一點來描述它的過程,至於細節有興趣的讀者就自行參考各大LLM模型的論文。與一般我們認知的人工智慧一樣,首先還是需要有資料
要注意的是,與過去的模型相同,LLM也會受到訓練集資料的偏見或假訊息的影響。
前一段提到"自監督學習",然而當我們提到GPT時,時常伴隨著一個詞叫做"Transformer",Transformer是OpenAI的GPT模型的核心架構,在這個架構裡有個很重要的機制稱為"自注意力機制",它與"自監督學習"有什麼差別呢?
自監督學習
自監督學習是一種機器學習方法,模型在沒有人工標註的資料上進行訓練。換句話說,訓練資料的標注是從資料本身衍生出來的,透過挖掘大量無標註資料中的資料資訊,人為的製造標籤(pretext),其目的是讓模型能學習資料中的通用表示規則,例如:給一個句子"高雄市位於台灣的__",模型的任務是預測被接下來的詞(如"南方")。
自注意力機制
自注意力機制是允許模型在處理序列資料時,能夠關注序列中的其他部分的技術,它可以幫助模型捕捉到長距離的依賴關係,也是Transformer架構的核心部分,它允許模型在不依賴於固定大小的窗口或卷積核的情況下,處理整個輸入序列。例如:"小明因為發燒所以沒有去學校",自注意力機制可以幫助模型理解"沒有去學校"是因為"發燒"的原因。
簡單來說,自監督學習是一種學習策略,它指的是如何使用未標注的資料來訓練模型,而自注意力機制是一種模型架構中的技術,它指的是模型如何處理和關注輸入資料中的不同部分。
本篇藉由一個突發議題,臨時性興起介紹什麼是LLM,主軸是對LLM表達一個淺顯的概念,希望能讓尚不理解什麼是LLM的讀者,有個概念即可。具體而深入的細節並不在本文的討論範疇內,有興趣的讀者,可以翻閱各大LLM的公開論文資料,接下來的後續文章內容會再回到這個系列主軸—Semantic Kernel。
嗨,我是Ian,我喜歡分享與討論,今年跟2位朋友合著了一本ChatGPT主題書,如果你是一位開發者,這本書或許會有些幫助,https://www.tenlong.com.tw/products/9786263335189
這次的鐵人賽文章也會同時發佈於個人blog,歡迎關注我的blog : https://medium.com/@ianchen_27500