【新智元导读】一经发布,地表最强开源模型Falcon 180B直接霸榜HF。3.5万亿token练习,功能直接碾压LLaMA 2。
一夜之间,国际最强开源大模型Falcon 180B引爆全网!
1800亿参数,Falcon在3.5万亿token完结练习,直接登顶HuggingFace排行榜。
基准测验中,Falcon 180B在推理、编码、熟练度和常识测验各种任务中,一举打败LLaMA 2。
甚至,Falcon 180B能够与谷歌PaLM 2不差上下,功能直逼GPT-4。
不过,英伟达高级科学家Jim Fan对此表示质疑,
– Falcon-180B的练习数据中,代码只占5%。
而代码是迄今为止对进步推理才能、掌握东西运用和增强AI智能体最有用的数据。事实上,GPT-3.5是在Codex的根底进步行微调的。
– 没有编码基准数据。
没有代码才能,就不能声称「优于GPT-3.5」或「接近GPT-4」。它本应是预练习配方中不可或缺的一部分,而不是过后的微调。
**- 关于参数大于30B的言语模型,是时分采用混合专家系统(MoE)了。**到目前为止,咱们只看到OSS MoE LLM < 10B。
一起来看看,Falcon 180B究竟是什么来头?
国际最强开源大模型
此前,Falcon现已推出了三种模型大小,分别是1.3B、7.5B、40B。
官方介绍,Falcon 180B是40B的升级版别,由阿布扎比的全球抢先技能研究中心TII推出,可免费商用。
这次,研究人员在基底模型上技能进步行了创新,比方利用Multi-Query Attention等来进步模型的可扩展性。
关于练习过程,Falcon 180B基于亚马逊云机器学习渠道Amazon SageMaker,在多达4096个GPU上完结了对3.5万亿token的练习。
总GPU核算时,大约7,000,000个。
Falcon 180B的参数规划是Llama 2(70B)的2.5倍,而练习所需的核算量是Llama 2的4倍。
具体练习数据中,Falcon 180B主要是RefinedWe数据集(大约占85%) 。
此外,它还在对话、技能论文,以及一小部分代码等经过整理的混合数据的根底进步行了练习。
这个预练习数据集足够大,即使是3.5万亿个token也只占不到一个epoch。
官方自称,Falcon 180B是当时「最好」的开源大模型,具体表现如下:
在MMLU基准上,Falcon 180B的功能超过了Llama 2 70B和GPT-3.5。
在HellaSwag、LAMBADA、WebQuestions、Winogrande、PIQA、ARC、BoolQ、CB、COPA、RTE、WiC、WSC 及ReCoRD上,与谷歌的PaLM 2-Large平起平坐。
别的,它在Hugging Face开源大模型榜单上,是当时评分最高(68.74分)的开放式大模型,逾越了LlaMA 2(67.35)。
Falcon 180B上手可用
与此同时,研究人员还发布了谈天对话模型Falcon-180B-Chat。该模型在对话和指令数据集进步行了微调,数据集涵盖了Open-Platypus、UltraChat和Airoboros。
现在,每个人都能够进行demo体会。
地址:huggingface.co/tiiuae/falc…
Prompt 格局
根底模型没有Prompt格局,由于它并不是一个对话型大模型,也不是经过指令进行的练习,所以它并不会以对话方式回应。
预练习模型是微调的绝佳渠道,但或许你不该直接运用。其对话模型则设有一个简略的对话形式。
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
Transformers
从Transfomers 4.33开始,Falcon 180B能够在Hugging Face生态中运用和下载。
确保现已登录Hugging Face账号,并装置了最新版别的transformers:
pip install --upgrade transformers
huggingface-cli login
bfloat16
以下是如何在 bfloat16 中运用根底模型的办法。Falcon 180B是一个大模型,所以请注意它的硬件要求。
对此,硬件要求如下:
能够看出,若想对Falcon 180B进行全面微调,至少需求8X8X A100 80G,假如仅是推理的话,也得需求8XA100 80G的GPU。
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)
可能会发生如下输出成果:
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几乎没有不同!
这对推理来说是个好消息,由于用户能够放心地运用量化版别来降低硬件要求。
注意,在8位版别进行推理要比4位版别快得多。要运用量化,你需求装置「bitsandbytes」库,并在加载模型时启用相应的标志:
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
**load_in_8bit=True,**
device_map="auto",
)
对话模型
如上所述,为跟踪对话而微调的模型版别,运用了非常直接的练习模板。咱们有必要遵循同样的形式才能运转谈天式推理。
作为参考,你能够看看谈天演示中的 [format_prompt] 函数:
def format_prompt(message, history, system_prompt):
prompt = ""
if system_prompt:
prompt += f"System: {system_prompt}\n"
for user_prompt, bot_response in history:
prompt += f"User: {user_prompt}\n"
prompt += f"Falcon: {bot_response}\n"
prompt += f"User: {message}\nFalcon:"
return prompt
从上可见,用户的交互和模型的回应前面都有 User: 和 Falcon: 分隔符。咱们将它们连接在一起,构成一个包含整个对话历史的提示。这样,就能够供给一个系统提示来调整生成风格。
网友热评
关于Falcon 180B的真实实力,许多网友对此展开热议。
肯定难以置信。它打败了GPT-3.5,与谷歌的PaLM-2 Large平起平坐。这简直改变游戏规则!
一位创业公司的CEO表示,我测验了Falcon-180B对话机器人,它并不比Llama2-70B谈天系统好。HF OpenLLM排行榜也显现了好坏参半的成果。考虑到它的规划更大,练习集也更多,这种情况令人惊讶。
举个栗子:
给出一些条目,让Falcon-180B和Llama2-70B分别答复,看看作用如何?
Falcon-180B误将马鞍算作动物。而Llama2-70B答复简练,还给出了正确答案。
参考资料:
twitter.com/TIIuae/stat…
twitter.com/DrJimFan/st…
huggingface.co/blog/zh/fal…
huggingface.co/tiiuae/falc…