ChatGPT 的持續爆火,早已讓各大科技公司坐不住了。
就在剛剛過去的一周,Meta「開源」了一個新的大模型系列—#LLaMA(Large Language Model Meta AI),參數量從70 億到650 億不等。因為 LLaMA 比之前發布的許多大模型參數更少,但性能更好,所以一發布讓許多研究者興奮不已。
例如,130 億參數的LLaMA 模型「在大多數基準上」可以勝過參數量達1750 億的GPT-3,而且可以在單塊V100 GPU 上運行;而最大的650 億參數的LLaMA 模型可以媲美Google的Chinchilla-70B 和PaLM-540B。
參數量的減少對於普通研究者和商業機構來說都是好事,但 LLaMA 真的像論文中說得那樣表現那麼好嗎?和目前的 ChatGPT 相比,LLaMA 是否可以勉強一戰?為了解答這些疑問,有些研究者已經對這個模型進行了測試。
還有公司已經在嘗試補齊 LLaMA 短板,想看能不能透過增加 RLHF 等訓練方法讓 LLaMA 表現更好。
這份評測結果來自一位名叫 @Enryu 的 Medium 作者。它比較了 LLaMA 和 ChatGPT 在解釋笑話、零樣本分類和程式碼產生三個頗具挑戰性的任務中的效果。相關部落格文章為《Mini-post: first look at LLaMA》。
作者在 RTX 3090/RTX 4090 上執行 LLaMA 7B/13B 版本,在單一 A100 上執行 33B 版本。
要注意的是,與 ChatGPT 不同,其他模型並不是基於指令微調,因此 prompt 的結構有所不同。
解釋笑話
#這是Google原始PaLM 論文中展示的一個用例:給出一個笑話,讓模型來解釋它為什麼好笑。這個任務需要將世界知識和一些基本邏輯結合。 PaLM 之前的所有模型都無法做到這一點。作者從 PaLM 論文中提取了一些範例,比較了 LLaMA-7B、LLaMA-13B、LLaMA-33B 與 ChatGPT 的表現。
#可以看到,結果很糟糕。這些模型 get 到了一些笑點,但無法真正理解,它們只是隨機生成一些相關的文字流。 ChatGPT 雖然與LLaMA-33B 一樣表現很差(其他幾個模型更差),但它遵循了不一樣的策略:生成了一大堆文本,希望自己的回答至少有一部分是正確的(但大部分顯然不是),很像大家考試時應對問答題的策略?
不過,ChatGPT 起碼 get 到了 Schmidthuber 的笑話。但總的來說,這些模型在零樣本笑話解釋任務上的效果與 PaLM 相差甚遠(除非 PaLM 的例子是精心挑選)。
零樣本分類
#作者考慮的第二項任務更具挑戰性— 標題黨(clickbait )分類。由於連人類也無法就什麼是標題黨達成一致,作者在 prompt 中為這些模型提供了一些示例(因此實際上是小樣本而非零樣本)。如下為 LLaMa 的 prompt:
I will tell whether the following news titles are clickbait: 1) The WORST care homes in England: Interactive map reveals the lowest-rated 2,530 residences - so is there one near you? Clickbait: yes 2) Netflix's top 10 most-watched movies of all time Clickbait: yes 3) Peering Through the Fog of Inflation Clickbait: no 4) You’ll never believe which TV cook this cheeky chap grew up to be Clickbait: yes
下圖為 LLaMA-7B、LLaMA-13B、LLaMA-33B 與 ChatGPT 的更多範例結果。
很明显,赢家为 LLaMA-33B,它是唯一一个能够遵循所有请求格式(yes/no)的模型,并且预测合理。ChatGPT 也还可以,但有些预测不太合理,格式也有错误。较小的模型(7B/13B)不适用于该任务。
代码生成
虽然 LLM 擅长人文学科,但在 STEM 学科上表现糟糕。LLaMA 虽然有基准测试结果,但作者在代码生成领域尝试了一些特别的东西,即将人类语言零样本地转换为 SQL 查询。这并不是很实用,在现实生活中直接编写查询会更有效率。这里只作为代码生成任务的一个示例。
在 prompt 中,作者提供表模式(table schema)以及想要实现的目标,要求模型给出 SQL 查询。如下为一些随机示例,老实说,ChatGPT 看起来效果更好。
-- We have a table `events` with columns `event_id`, `timestamp`, `user_id`, `rpc_method`. -- We want to count how many users issued request "Login" over the last week. -- SQL query for this is: -- 7b SELECT count (*) FROM events WHERE user_id IN (SELECT user_id FROM events WHERE timestamp >= NOW () - INTERVAL 7 DAY) AND rpc_method = 'Login'; -- 13b SELECT COUNT (*) FROM events WHERE rpc_method = "Login" AND UNIX_TIMESTAMP (timestamp) >= UNIX_TIMESTAMP (CURRENT_DATE - INTERVAL 7 DAY) -- 33b SELECT user_id, COUNT (DISTINCT user_id) AS total FROM events WHERE timestamp BETWEEN TIMESTAMP '2013-08-14 00:00:00' AND TIMESTAMP '2013-08-21 00:00:00' AND rpc_method = 'Login' GROUP BY user_id -- ChatGPT SELECT COUNT (DISTINCT user_id) FROM events WHERE rpc_method = 'Login' AND timestamp >= DATE_SUB (NOW (), INTERVAL 1 WEEK);
从测试结果来看,LLaMA 在一些任务上表现还不错,但在另一些任务上和 ChatGPT 还有一些差距。如果能像 ChatGPT 一样加入一些「训练秘籍」,效果会不会大幅提升?
虽然 LLaMA 发布之初就得到众多研究者的青睐,但是少了 RLHF 的加持,从上述评测结果来看,还是差点意思。
在 LLaMA 发布三天后,初创公司 Nebuly AI 开源了 RLHF 版 LLaMA(ChatLLaMA)的训练方法。它的训练过程类似 ChatGPT,该项目允许基于预训练的 LLaMA 模型构建 ChatGPT 形式的服务。项目上线刚刚 2 天,狂揽 5.2K 星。
项目地址:https://github.com/nebuly-ai/nebullvm/tree/main/apps/accelerate/chatllama
ChatLLaMA 训练过程算法实现主打比 ChatGPT 训练更快、更便宜,我们可以从以下四点得到验证:
图源:https://openai.com/blog/chatgpt
更是有研究者表示,ChatLLaMA 比 ChatGPT 训练速度最高快 15 倍。
不过有人对这一说法提出质疑,认为该项目没有给出准确的衡量标准。
项目刚刚上线 2 天,还处于早期阶段,用户可以通过以下添加项进一步扩展:
Nebuly AI 希望更多人加入进来,创造更高效和开放的 ChatGPT 类助手。
该如何使用呢?首先是使用 pip 安装软件包:
pip install chatllama-py
然后是克隆 LLaMA 模型:
git clone https://github.com/facebookresearch/llama.gitcd llama pip install -r requirements.txt pip install -e .
一切准备就绪后,就可以运行了,项目中介绍了 ChatLLaMA 7B 的训练示例,感兴趣的小伙伴可以查看原项目。
以上是Meta開源的ChatGPT平替到底好不好用?測試結果、加料改裝方法已出爐,2天5.2k星的詳細內容。更多資訊請關注PHP中文網其他相關文章!