Falcon 180B 發佈說明
TII 已發佈 Falcon 180B,這是一個擁有 1800 億參數的開放存取語言模型,是在 3.5 兆個 token 上訓練而成。它為開放模型樹立了新的技術基準,性能足以媲美 Google 的 PaLM-2 Large 等專有系統。
模型架構與訓練
Falcon 180B 是 Falcon 40B 的擴展版本,納入了如 multiquery attention 等創新技術以增強可擴展性。該模型是使用 Amazon SageMaker 在多達 4,096 個 GPU 上同時進行訓練,總計約 700 萬個 GPU 小時。
關鍵訓練規格包括:
- Dataset: 主要來自 RefinedWeb 的網路數據 (
85%),並輔以精選的對話、技術論文以及少量的程式碼 (3%)。 - Scale: 3.5 兆個 tokens,這僅佔預訓練數據集的一個 epoch 不到。
- Compute: 比 Llama 2 大 2.5 倍,且訓練所使用的運算量是其四倍。
性能與基準測試
在發佈時,Falcon 180B 是 Hugging Face 排行榜上得分最高的開放預訓練 LLM,得分為 67.85(隨後更新為 67.85,根據更新後的評估方法,其表現與 Llama 2 70B 持平)。
技術性能亮點包括:
- 競爭地位: 在 MMLU 上的表現優於 Llama 2 70B 和 OpenAI 的 GPT-3.5。
- 專有模型對等性: 在多項基準測試中與 PaLM 2-Large 旗鼓相當,包括 HellaSwag、LAMBADA、WebQuestions、Winogrande、PIQA、ARC、BoolQ、CB、COPA、RTE、WiC、WSC 和 ReCoRD。
- 量化穩定性: 在
torch.float16、8bit和4bit版本中的評估指標保持相似,但注意到 8-bit 推論速度明顯快於 4-bit。
部署的硬體需求
執行 Falcon 180B 需要大量的運算資源,具體取決於任務。針對特定配置的記憶體需求如下:
| Use Case | Method | Memory Required | Example Hardware |
|---|---|---|---|
| Training | Full fine-tuning | 5120GB | 8x 8x A100 80GB |
| Training | LoRA with ZeRO-3 | 1280GB | 2x 8x A100 80GB |
| Training | QLoRA | 160GB | 2x A100 80GB |
| Inference | BF16/FP16 | 640GB | 8x A100 80GB |
| Inference | GPTQ/int4 | 320GB | 8x A100 40GB |
實作與使用
Falcon 180B 已透過 Transformers 版本 4.33 整合至 Hugging Face 生態系統中。使用者必須接受該模型的授權,該授權允許在排除「託管用途 (hosting use)」的限制條件下進行商業用途。
Base vs. Chat Model
- Base Model: 一個旨在進行進一步微調的預訓練平台;它不遵循特定的提示格式,且並非為了開箱即用的對話式回應而設計。
- Chat Model: 在大規模對話和指令數據集上進行了微調。它使用特定的提示結構:
System: [optional system prompt]User: [user input]Falcon: [model response]
技術整合
整合是透過 transformers 函式庫中的 AutoModelForCausalLM 類別實現的。該模型支援用於高精度的 bfloat16 以及用於減少硬體開銷的 8-bit 和 4-bit 量化(透過 bitsandbytes)。