1. LLaMA是什麼?
LLaMA是Meta推出的通用大型語言模型(large language model),其硬體需求較低,可離線安裝在個人電腦,在本機與AI對話。
隨著OpenAI ChatGPT的出現,讓人們了解到通用大型語言模型的應用潛力。不過ChatGPT有一個很大缺點,就是它跑在OpenAI的伺服器。語言模型龐大需要伺服器等級的硬體支撐,這點可以理解,但是使用會受到廠商限制,導致不能肆意妄為,甚至要「催眠」一下才會聽話(喂)。那麼有沒有可能在個人電腦跑「解除封印」的語言模型呢?LLaMA是目前最新的選擇。
2023年2月,Meta研發的通用大型語言模型「LLaMA」在發表前慘遭外洩,造成轟動,吸引許多人為其撰寫程式。儘管Meta要求各大網站下架,仍阻擋不了相關程式的推出。所以Meta等於「被迫」將LLaMA開源,只不過模型的完整權重(weights)仍需要向Meta填表格索取。
Meta訓練了不同等級的LLaMA模型,依訓練參數數量分為7B、13B、30B、65B,Meta在論文中宣稱LLaMA 13B的模型性能超越GPT-3模型。
即使如此,LLaMA的訓練參數還是差ChatGPT一截,所以不能預期回答品質超越ChatGPT。
訓練參數越多的模型理論上越聰明,但是最大的跑起來仍需要伺服器等級的硬體;而最小的模型雖然比較笨,卻是個人電腦跑得動的等級,有些模型甚至不用顯示卡也能跑。所以,LLaMA使個人電腦、手機跑大型語言模型成為可能。
LLaMA大型語言模型特色
優點
- 在個人電腦跑一個小型ChatGPT,不需要超高級的硬體。
- 不用「催眠」就能繞過道德限制,回答各式各樣的問題。除非模型本身額外加入倫理機制。
- 參數最少的LLaMA 7B模型只要4GB的RAM就能跑。
- LLaMA 7B可以只用6GB VRAM的GPU跑,也可以只用CPU跑(
llama.cpp
、alpaca.cpp
)。
缺點
- LLaMA的性能比OpenAI的ChatGPT弱,可能回答牛頭不對馬嘴,對話長度比較短。
- LLaMA預設只支援英文對答。不過已有用LoRA技術微調的中文、日文模型出現。
- 按照Meta的授權條款,LLaMA模型禁止商用,且完整模型權重尚未完全開放。
LLmMA可以做的事情
作為大型語言模型,LLaMA可以完成以下這類任務:
解釋Skinner行為主義心理學理論的優缺點,並舉出五個例子
寫個Python程式,尋找一個字串中出現最多次的字元
幫我想五個新文章標題候選:使用Linux當主力系統的好處
段落抓重點:請抓出以下有關普遍文法 (Universal Grammar) 段落的重點,並用十句話解釋何為普遍文法。
文字翻譯
2. 基於LLaMA訓練的大型語言模型
在LLaMA之前,能與GPT-3抗衡的開源模型只有EleutherAI的GPT-J-6B,之後延伸出了Pygmalion 6B模型。
在Meta發表LLaMA後,開始有基於LLaMA訓練的模型出現。
美國史丹佛大學的Stanford Alpaca,以LLaMA + text-davinci-003訓練的「Alpaca」模型,使其能像GPT-3模型一樣聽從指示。
Vicuna 13B基於LLaMA + ShareGPT所微調的模型,並用GPT4做評估,號稱能在90%場景超越原始的LLaMA。
Nomic AI的GPT4ALL模型為基於LLaMA + 800k GPT-3.5-Turbo所訓練。
也有使用LoRA (Low Rank Adaption)技術微調過的大型語言模型,例如中文LLaMA模型與Alpaca大模型,可讓大型語言模型以中文對話。
3. 如何安裝與使用LLaMA?
大型語言模型不能直接使用,還需要有人開發程式方便與大型語言模型對話。
開發者cocktailpeanut推出了網頁程式Dalai讓用戶方便與LLaMA/Alpaca對話。使用方法看這篇。
oobabooga的Text generation WebUI提供Gradio網頁界面,支援更多LLaMA以外的語言模型。使用方法看這篇。
nsarrazin推出的serge網頁版程式,界面仿造ChatGPT,只能用Docker容器跑。