[大資料][機器學習]之Model Card(模型卡片)介紹

thanks發表於2024-07-09

每當我們在公有云或者私有云釋出訓練好的大資料模型,為了方便大家辨識、理解和運用,參照huggingface所制定的標準制作一個Model Card展示頁,是種非常好的模型展示和組織形式。

下面就是一個Model Card 的示例,我試著把它翻譯成了中文,源網址,並且提供了Markdown的模板,供大家參考。在這裡你可以看到它的指導手冊,以後有時間我也把它翻譯過來。

Falcon-180B(獵鷹-180B)的模型卡片

模型詳情

🚀 Falcon-180B

Falcon-180B是一個1800億引數的因果解碼器模型,它由TII(Technology Innovation Institut)公司研發,基於RefinedWeb增強的語料庫,使用3萬5千億個Token進行訓練。它提供了Falcon-180B TII License(獵鷹180 TII許可證)Acceptable Use Policy(使用條款).

論文將很快釋出 😊

🤗 要開始使用Falcon(推理、微調、量化等),我們建議閱讀 HF這篇偉大的部落格 或者 這篇 Falcon-40B的釋出版!

請注意因為180B大於transformers(轉換)+acccelerate(加速)可以輕鬆處理的值, 我們建議使用Text Generation Inference(文字生成推斷).

至少需要400GB記憶體 才能使用Falcon-180B快速進行推理.

為什麼要使用Falcon-180B?

  • 它是目前可用的最好的開放訪問模型,也是總體上最好的模型之一 Falcon-180B 效能上優於 LLaMA-2, StableLM, RedPajama, MPT, 等等. 請參閱 OpenLLM Leaderboard 排行榜.
  • 它的特點是具有多查詢的推理最佳化架構, (Shazeer et al., 2019).
  • 它提供的許可證允許商業使用。
  • ⚠️ 這是一個原始的、經過預訓練的模型,應該針對大多數用例進行進一步的微調。 如果您正在尋找一個更適合在聊天格式中使用通用指令的版本,我們建議您檢視 Falcon-180B-Chat.

💸 想找一個更小、更便宜的模型嗎? Falcon-7BFalcon-40B 是 Falcon-180B 的小兄弟!

💥 Falcon LLMs 需要 PyTorch 2.0 才能使用 transformers!

模型描述

  • 開發者: https://www.tii.ae;
  • 模型型別: 因果推斷解碼;
  • 語言 (NLP): 英語、德語、西班牙語、法語(少部分支援義大利語、葡萄牙語、波蘭語、荷蘭語、羅馬尼亞語、捷克語、瑞典語);
  • 許可證: Falcon-180B TII LicenseAcceptable Use Policy.

模型原始碼

  • 程式碼: 即將釋出.

使用條例

請檢視 acceptable use policy.

直接使用

大型語言模型研究;作為進一步專業化和微調特定用例(例如,摘要、文字生成、聊天機器人等)的基礎

超出範圍的使用

沒有對風險和mitigation(抱歉不知道這個詞怎麼翻譯)進行充分評估就在生產環境中使用;任何可能被認為是不負責任或有害的用例。

偏見、風險和限制

Falcon-180B主要接受英語、德語、西班牙語和法語的訓練,義大利語、葡萄牙語、波蘭語、荷蘭語、羅馬尼亞語、捷克語和瑞典語的能力有限。它不會適當地推廣到其他語言。此外,由於它是在代表網路的大規模語料庫上進行訓練的,它將攜帶網上常見的刻板印象和偏見。

建議

我們建議Falcon-180B的使用者考慮對其進行微調,以適應感興趣的特定任務集,並且在生產環境中使用界限和適當的預防措施。

如何開始使用模型

要完全以 bfloat16 精度執行模型您需要大約8張A100 80GB計算卡或者等效容量。

(以下是Python程式碼)

from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch

model = "tiiuae/falcon-180b"

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-180B 使用 3萬5千億個Token,使用 RefinedWeb, 一個高質量的過濾和消除重複的網路資料集。我們用策劃的語料庫進行了增強。我們精心策劃的copora的重要組成部分受到The Pile的啟發 (Gao et al., 2020).

資料集 比例 Tokens 來源
RefinedWeb-English 75% 750B 大量的網路爬蟲資料
RefinedWeb-Europe 7% 70B 來自歐洲的網路爬蟲資料
Books 書籍 6% 60B
Conversations 會話 5% 50B Reddit, StackOverflow, HackerNews
Code 程式碼 5% 50B
Technical 技術 2% 20B arXiv, PubMed, USPTO, etc.

RefinedWeb-歐洲 資料集由以下語言組成:

語言 多語種的筆記 Tokens
德語 26% 18B
西班牙語 24% 17B
法語 23% 16B
義大利語 7% 5B
葡萄牙語 4% 3B
波蘭語 4% 3B
荷蘭語 4% 3B
羅馬尼亞語 3% 2B
捷克語 3% 2B
瑞典語 2% 1B

所有的資料由Falcon Token標記器進行Token化.

訓練過程

Falcon-180B 使用4096塊Tesla A100 40GB計算卡進行訓練, 使用3D並行化策略(TP=8, PP=8, DP=64)與ZeRO相結合.

訓練引數

超級引數 備註
精度 bfloat16
最佳化器 AdamW
學習率 1.25e-4 4B tokens warm-up, cosine decay to 1.25e-5
權重衰減 1e-1
Z-loss 1e-4
批處理大小 2048 100B tokens ramp-up

速度, 大小, 時間

訓練于于2023年初開始。

評價

即將釋出論文.

有關早期結果,請參閱 OpenLLM Leaderboard 排行榜。

技術規範

模型體系結構和目標

Falcon-180B 是在因果關係語言模型上建立的因果關係解碼語言模型 (i.e., 預測下一個Token).

該體系架構廣泛改編自GPT-3論文 (Brown et al., 2020), 並且有著以下幾方面的不同:

  • 位置嵌入: rotary (Su et al., 2021);
  • 注意: 多查詢 (Shazeer et al., 2019) 和立即引起注意 (Dao et al., 2022);
  • 解碼器塊: 具有兩層規範的並行注意力/MLP。

對於多重查詢,我們使用一個內部變數,該變數使用每個張量平行度的獨立鍵和值(所謂的多組)。

超引數 備註
層數 80
d_model 14848
head_dim 64 Reduced to optimise for FlashAttention
字典 65024
序列長度 2048

計算基礎設施

硬體

Falcon-180B 在 AWS SageMaker 上訓練, 使用 P4d 例項中多達 4,096 個 A100 40GB GPUs。

軟體

Falcon-180B 是基於定製的分散式訓練程式碼庫 Gigatron 進行訓練的。 它採用了 3D 並行方法,並結合了 ZeRO 和高效能的 Triton 核心(如 FlashAttention 等)。

引用

將很快推出 😊 (實際上這次). 同時,您可以使用以下資訊進行引用:

@article{falcon,
  title={The Falcon Series of Language Models: Towards Open Frontier Models},
  author={Almazrouei, Ebtesam and Alobeidli, Hamza and Alshamsi, Abdulaziz and Cappelli, Alessandro and Cojocaru, Ruxandra and Alhammadi, Maitha and Daniele, Mazzotta 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}
}

聯絡

falconllm@tii.ae

Model Card的模板

Model Card for {{ model_id | default("Model ID", true) }}

{{ model_summary | default("", true) }}

Model Details

Model Description

{{ model_description | default("", true) }}

  • Developed by: {{ developers | default("[More Information Needed]", true)}}
  • Funded by [optional]: {{ funded_by | default("[More Information Needed]", true)}}
  • Shared by [optional]: {{ shared_by | default("[More Information Needed]", true)}}
  • Model type: {{ model_type | default("[More Information Needed]", true)}}
  • Language(s) (NLP): {{ language | default("[More Information Needed]", true)}}
  • License: {{ license | default("[More Information Needed]", true)}}
  • Finetuned from model [optional]: {{ base_model | default("[More Information Needed]", true)}}

Model Sources [optional]

  • Repository: {{ repo | default("[More Information Needed]", true)}}
  • Paper [optional]: {{ paper | default("[More Information Needed]", true)}}
  • Demo [optional]: {{ demo | default("[More Information Needed]", true)}}

Uses

Direct Use

{{ direct_use | default("[More Information Needed]", true)}}

Downstream Use [optional]

{{ downstream_use | default("[More Information Needed]", true)}}

Out-of-Scope Use

{{ out_of_scope_use | default("[More Information Needed]", true)}}

Bias, Risks, and Limitations

{{ bias_risks_limitations | default("[More Information Needed]", true)}}

Recommendations

{{ bias_recommendations | default("Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.", true)}}

How to Get Started with the Model

Use the code below to get started with the model.

{{ get_started_code | default("[More Information Needed]", true)}}

Training Details

Training Data

{{ training_data | default("[More Information Needed]", true)}}

Training Procedure

Preprocessing [optional]

{{ preprocessing | default("[More Information Needed]", true)}}

Training Hyperparameters

  • Training regime: {{ training_regime | default("[More Information Needed]", true)}}

Speeds, Sizes, Times [optional]

{{ speeds_sizes_times | default("[More Information Needed]", true)}}

Evaluation

Testing Data, Factors & Metrics

Testing Data

{{ testing_data | default("[More Information Needed]", true)}}

Factors

{{ testing_factors | default("[More Information Needed]", true)}}

Metrics

{{ testing_metrics | default("[More Information Needed]", true)}}

Results

{{ results | default("[More Information Needed]", true)}}

Summary

{{ results_summary | default("", true) }}

Model Examination [optional]

{{ model_examination | default("[More Information Needed]", true)}}

Environmental Impact

Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).

  • Hardware Type: {{ hardware_type | default("[More Information Needed]", true)}}
  • Hours used: {{ hours_used | default("[More Information Needed]", true)}}
  • Cloud Provider: {{ cloud_provider | default("[More Information Needed]", true)}}
  • Compute Region: {{ cloud_region | default("[More Information Needed]", true)}}
  • Carbon Emitted: {{ co2_emitted | default("[More Information Needed]", true)}}

Technical Specifications [optional]

Model Architecture and Objective

{{ model_specs | default("[More Information Needed]", true)}}

Compute Infrastructure

{{ compute_infrastructure | default("[More Information Needed]", true)}}

Hardware

{{ hardware_requirements | default("[More Information Needed]", true)}}

Software

{{ software | default("[More Information Needed]", true)}}

Citation [optional]

BibTeX:

{{ citation_bibtex | default("[More Information Needed]", true)}}

APA:

{{ citation_apa | default("[More Information Needed]", true)}}

Glossary [optional]

{{ glossary | default("[More Information Needed]", true)}}

More Information [optional]

{{ more_information | default("[More Information Needed]", true)}}

Model Card Authors [optional]

{{ model_card_authors | default("[More Information Needed]", true)}}

Model Card Contact

{{ model_card_contact | default("[More Information Needed]", true)}}

相關文章