世界最強(qiáng)開源大模型 Falcon 180B 忽然火爆全網(wǎng),1800億參數(shù),F(xiàn)alcon 在 3.5 萬億 token 完成訓(xùn)練,性能碾壓 Llama 2,登頂 Hugging Face 排行榜。
今年5月,TII(阿聯(lián)酋阿布扎比技術(shù)創(chuàng)新研究所)推出了號稱是 “史上最強(qiáng)的開源大語言模型”——Falcon(獵鷹)。雖然 Falcon 的參數(shù)比 LLaMA 小,但性能卻更加強(qiáng)大。
此前,F(xiàn)alcon 已經(jīng)推出了三種模型大小,分別是1.3B、7.5B、40B。據(jù)介紹,F(xiàn)alcon 180B 是 40B 的升級版本,F(xiàn)alcon 180B 的規(guī)模是 Llama 2 的 2.5 倍,且可免費(fèi)商用。 Falcon 180B在 Hugging Face 開源大模型榜單上被認(rèn)為是當(dāng)前評分最高的開放式大模型,其評分68.74,Meta 的 LlaMA 2以 1.39 的分?jǐn)?shù)差距排名第二。
據(jù)官方介紹,F(xiàn)alcon 180B 是當(dāng)前最好的開源大模型。 其在 MMLU 上 的表現(xiàn)超過了 Llama 2 70B 和 OpenAI 的 GPT-3.5。在 HellaSwag、LAMBADA、WebQuestions、Winogrande、PIQA、ARC、BoolQ、CB、COPA、RTE、WiC、WSC 及 ReCoRD 上與谷歌的 PaLM 2-Large 不相上下。
目前大家可以通過以下地址進(jìn)行Demo 體驗(yàn):https://hf.co/spaces/HuggingFaceH4/falcon-chat
硬件要求
類型 | 種類 | 最低要求 | 配置示例 | |
---|---|---|---|---|
Falcon 180B | Training | Full fine-tuning | 5120GB | 8x 8x A100 80GB |
Falcon 180B | Training | LoRA with ZeRO-3 | 1280GB | 2x 8x A100 80GB |
Falcon 180B | Training | QLoRA | 160GB | 2x A100 80GB |
Falcon 180B | Inference | BF16/FP16 | 640GB | 8x A100 80GB |
Falcon 180B | Inference | GPTQ/int4 | 320GB | 8x A100 40GB |
Prompt 格式
其基礎(chǔ)模型沒有 Prompt 格式,因?yàn)樗⒉皇且粋€(gè)對話型大模型也不是通過指令進(jìn)行的訓(xùn)練,所以它并不會以對話形式回應(yīng)。預(yù)訓(xùn)練模型是微調(diào)的絕佳平臺,但或許你不該直接使用。其對話模型則設(shè)有一個(gè)簡單的對話模式。
System: Add an optional system prompt here User: This is the user input Falcon: This is what the model generates User: This might be a second turn input Falcon: and so on
從 Transfomers 4.33 開始,可以在 Hugging Face 上使用 Falcon 180B 并且使用 HF 生態(tài)里的所有工具。但是前提是請確保你已經(jīng)登錄了自己的 Hugging Face 賬號,并安裝了最新版本的 transformers:
pip install --upgrade transformers huggingface-cli loginbfloat16 以下是如何在bfloat16中使用基礎(chǔ)模型的方法。Falcon 180B 是一個(gè)大型模型,所以請注意它的硬件要求(硬件要求如上所示)。
from transformers import AutoTokenizer, AutoModelForCausalLM import transformers import torch model_id = "tiiuae/falcon-180B" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="auto", ) prompt = "My name is Pedro, I live in" inputs = tokenizer(prompt, return_tensors="pt").to("cuda") output = model.generate( input_ids=inputs["input_ids"], attention_mask=inputs["attention_mask"], do_sample=True, temperature=0.6, top_p=0.9, max_new_tokens=50, ) output = output[0].to("cpu") print(tokenizer.decode(output)
這可能會產(chǎn)生如下輸出結(jié)果:
My name is Pedro, I live in Portugal and I am 25 years old. I am a graphic designer, but I am also passionate about photography and video. I love to travel and I am always looking for new adventures. I love to meet new people and explore new places.使用 8 位和 4 位的 bitsandbytes Falcon 180B 的 8 位和 4 位量化版本在評估方面與bfloat16幾乎沒有差別!這對推理來說是個(gè)好消息,因?yàn)槟憧梢苑判牡厥褂昧炕姹緛斫档陀布蟆U堄涀。?8 位版本進(jìn)行推理要比 4 位版本快得多。要使用量化,你需要安裝 “bitsandbytes” 庫,并在加載模型時(shí)啟用相應(yīng)的標(biāo)志:
model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, **load_in_8bit=True,** device_map="auto", )對話模型 如上所述,為跟蹤對話而微調(diào)的模型版本使用了非常直接的訓(xùn)練模板。我們必須遵循同樣的模式才能運(yùn)行聊天式推理。作為參考,你可以看看聊天演示中的format_prompt函數(shù):
def format_prompt(message, history, system_prompt): prompt = "" if system_prompt: prompt += f"System: {system_prompt} " for user_prompt, bot_response in history: prompt += f"User: {user_prompt} " prompt += f"Falcon: {bot_response} " prompt += f"User: {message} Falcon:" return prompt如你所見,用戶的交互和模型的回應(yīng)前面都有User:和Falcon:分隔符。我們將它們連接在一起,形成一個(gè)包含整個(gè)對話歷史的提示。這樣就可以提供一個(gè)系統(tǒng)提示來調(diào)整生成風(fēng)格。
-
開源
+關(guān)注
關(guān)注
3文章
3408瀏覽量
42714 -
大模型
+關(guān)注
關(guān)注
2文章
2551瀏覽量
3172
原文標(biāo)題:1800億參數(shù),性能碾壓Llama 2,世界最強(qiáng)開源大模型Falcon 180B發(fā)布
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論