英文

? Falcon-40B

Falcon-40B是由 TII 建立的具有40B参数的因果解码器模型,使用 RefinedWeb 增强的1,000B标记的令牌进行训练,同时结合了策划语料库。它按照Apache 2.0许可证发布。

即将发表的论文 ?。

Falcon 40B - 世界排名最高的AI模型 | 提案征集:借助训练计算能力的卓越应用案例

我们明白,人工智能无处不在!它是否正在接管一切?

在我们辩论未来的机器人刺客是否会终结人类之前,让我们先了解一下这位登上榜首的新人——Falcon 40B。

Falcon-40B是阿联酋和中东地区首个本土开源大型语言模型(LLM),拥有400亿个参数,在万亿个标记上进行了训练。这是技术创新研究所(TII)的独创之作,Falcon 40B引起了全球广泛的兴趣和好奇,但真正增加吸引力的是其透明的开源特性。

TII现在呼吁全球用户提交他们对Falcon 40B部署的最创意的想法,让他们分享知识,改进软件,并有可能将他们的想法变成现实!瞧瞧,ChatGPT!有兴趣了解吗?动手试试吧,亲自体验一下!

立即提交你的提案! https://falconllm.tii.ae/call-for-proposal.php

? 若要开始使用Falcon(推理、微调、量化等),我们建议先阅读 this great blogpost fron HF

为什么使用Falcon-40B?

  • 它是目前最好的开源模型。Falcon-40B优于 LLaMA StableLM RedPajama MPT 等。请参阅 OpenLLM Leaderboard
  • 它采用了针对推理进行优化的体系结构,具有FlashAttention( Dao et al., 2022 )和multiquery( Shazeer et al., 2019 )。
  • 它按照宽松的Apache 2.0许可证提供,允许商业使用,没有版税或限制。
  • ⚠️这是一个原始的、预训练的模型,应根据大多数用例进一步微调。如果你正在寻找更适合以对话格式执行通用指令的版本,我们推荐看一下 Falcon-40B-Instruct

?正在寻找一个更小、价格更便宜的模型吗? Falcon-7B 是Falcon-40B的小兄弟!

from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch

model = "tiiuae/falcon-40b"

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto",
)
sequences = pipeline(
   "Girafatron is obsessed with giraffes, the most glorious animal on the face of this Earth. Giraftron believes all other animals are irrelevant when compared to the glorious majesty of the giraffe.\nDaniel: Hello, Girafatron!\nGirafatron:",
    max_length=200,
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

? Falcon LLM在transformers中需要PyTorch 2.0支持!

要快速推理Falcon,查看 Text Generation Inference !详细信息请阅读 blogpost

你将需要至少85-100GB的内存来快速运行Falcon-40B的推理。

Falcon-40B模型卡片

模型细节

模型描述

  • 开发者: https://www.tii.ae
  • 模型类型:因果解码器;
  • 语言(NLP):英语、德语、西班牙语、法语(以及意大利语、葡萄牙语、波兰语、荷兰语、罗马尼亚语、捷克语、瑞典语的有限功能);
  • 许可证:Apache 2.0许可证。

模型来源

  • 论文:即将发表。

用途

直接使用

大型语言模型研究;作为进一步专门化和针对特定用例(例如摘要、文本生成、聊天机器人等)进行微调的基础。

范围外的使用

没有充分评估风险和缓解措施的生产使用;任何可能被视为不负责任或有害的用例。

偏见、风险和局限性

Falcon-40B主要训练于英语、德语、西班牙语、法语,也在意大利语、葡萄牙语、波兰语、荷兰语、罗马尼亚语、捷克语、瑞典语等方面具有有限的能力。它将无法适当地推广到其他语言。此外,由于其训练数据是代表网络的大规模语料库,它将带有在在线平台常见的刻板印象和偏见。

建议

我们建议Falcon-40B的用户考虑针对感兴趣的特定任务对其进行微调,并为任何生产使用采取防护措施和适当的预防措施。

如何开始使用模型

from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch

model = "tiiuae/falcon-40b"

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto",
)
sequences = pipeline(
   "Girafatron is obsessed with giraffes, the most glorious animal on the face of this Earth. Giraftron believes all other animals are irrelevant when compared to the glorious majesty of the giraffe.\nDaniel: Hello, Girafatron!\nGirafatron:",
    max_length=200,
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

培训详细信息

训练数据

Falcon-40B使用了 RefinedWeb 的1,000B标记进行训练,这是一个经过高质量筛选和去重的网络数据集,我们还使用了策划语料库。从我们的策划语料库中选取了一些重要组成部分,受到了The Pile( Gao et al., 2020 )的启发。

Data source Fraction Tokens Sources
12322321 75% 750B massive web crawl
RefinedWeb-Europe 7% 70B European massive web crawl
Books 6% 60B
Conversations 5% 50B Reddit, StackOverflow, HackerNews
Code 5% 50B
Technical 2% 20B arXiv, PubMed, USPTO, etc.

RefinedWeb-Europe包括以下语言:

Language Fraction of multilingual data Tokens
German 26% 18B
Spanish 24% 17B
French 23% 16B
Italian 7% 5B
Portuguese 4% 3B
Polish 4% 3B
Dutch 4% 3B
Romanian 3% 2B
Czech 3% 2B
Swedish 2% 1B

该数据使用了Falcon- 7B / 40B tokenizer进行了标记。

训练过程

Falcon-40B是在384个A100 40GB GPU上进行训练的,使用了3D并行策略(TP=8,PP=4,DP=12)与ZeRO相结合。

训练超参数
Hyperparameter Value Comment
Precision bfloat16
Optimizer AdamW
Learning rate 1.85e-4 4B tokens warm-up, cosine decay to 1.85e-5
Weight decay 1e-1
Z-loss 1e-4
Batch size 1152 100B tokens ramp-up
速度、大小、时间

训练始于2022年12月,历时两个月。

评估

即将发表的论文。

查看 OpenLLM Leaderboard 获取初步结果。

技术规格

模型架构和目标

Falcon-40B是一个因果解码器模型,使用因果语言建模任务(即预测下一个标记)进行训练。

该架构在GPT-3论文( Brown et al., 2020 )的基础上进行了广泛的改进,具有以下不同之处:

对于多查询,我们使用了一个内部变种,在每个张量并行度中使用独立的键和值。

Hyperparameter Value Comment
Layers 60
d_model 8192
head_dim 64 Reduced to optimise for FlashAttention
Vocabulary 65024
Sequence length 2048

计算基础设施

硬件

Falcon-40B在AWS SageMaker上使用384个A100 40GB GPU进行训练,采用P4d实例。

软件

Falcon-40B使用了自定义的分布式训练代码库Gigatron进行训练。它采用了3D并行方法,结合了ZeRO和高性能的Triton内核(FlashAttention等)。

引用

即将发表的论文 ?。在此期间,您可以使用以下信息进行引用:

@article{falcon40b,
  title={{Falcon-40B}: an open large language model with state-of-the-art performance},
  author={Almazrouei, Ebtesam and Alobeidli, Hamza and Alshamsi, Abdulaziz and Cappelli, Alessandro and Cojocaru, Ruxandra and Debbah, Merouane and Goffinet, Etienne and Heslow, Daniel and Launay, Julien and Malartic, Quentin and Noune, Badreddine and Pannier, Baptiste and Penedo, Guilherme},
  year={2023}
}

要了解有关预训练数据集的更多信息,请参阅? RefinedWeb paper

@article{refinedweb,
  title={The {R}efined{W}eb dataset for {F}alcon {LLM}: outperforming curated corpora with web data, and web data only},
  author={Guilherme Penedo and Quentin Malartic and Daniel Hesslow and Ruxandra Cojocaru and Alessandro Cappelli and Hamza Alobeidli and Baptiste Pannier and Ebtesam Almazrouei and Julien Launay},
  journal={arXiv preprint arXiv:2306.01116},
  eprint={2306.01116},
  eprinttype = {arXiv},
  url={https://arxiv.org/abs/2306.01116},
  year={2023}
}

许可证

Falcon-40B按照Apache 2.0许可证发布。

联系方式

falconllm@tii.ae