[大数据][机器学习]之Model Card(模型卡片)介绍

model,card · 浏览次数 : 10

小编点评

**Falcon-180B 模型卡** **模型详情** | 模型名称 | Falcon-180B | | -------------- | ----------- | | 开发者 | TII(AE) | | 训练数据 | 3.5T Tokens | | 训练程序 | 未提供 | | 训练超参数 | 未提供 | | 速度、大小、时间 | 未提供 | | 评估数据 | 未提供 | | 评估因素与指标 | 未提供 | | 结果 | 未提供 | **模型描述** Falcon-180B 是一个 1800 亿参数的因果解码器模型,由 TII(Technology Innovation Institut) 公司研发,基于 RefinedWeb 增强的语料库,使用 3 万亿个 Token 进行训练。它提供了 Falcon-180B TII License 和 Acceptable Use Policy。 **使用说明** - 请使用以下命令进行预测:`from transformers import AutoTokenizer, AutoModelForCausalLM; 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\");` - 需要至少 400GB 内存才能快速进行推理。 **技术规格** - 模型架构:基于 GPT-3 论文进行广泛改编。 - 目标:因果关系语言模型,预测下一个 Token。 - 硬件:AWS SageMaker 上的 Tesla A100 40GB GPU。 - 软件:基于定制的分布式训练代码库 Gigatron 进行训练,采用 3D 并行方法和 ZeRO 以及高性能的 Triton 内核。 **联系信息** - 联系人:falconllm@tii.ae 请注意,以上信息仅为示例,实际使用时请根据实际情况进行调整。

正文

每当我们在公有云或者私有云发布训练好的大数据模型,为了方便大家辨识、理解和运用,参照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!

模型描述

模型源码

  • 代码: 即将发布.

使用条例

请查看 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), 并且有着以下几方面的不同:

对于多重查询,我们使用一个内部变量,该变量使用每个张量平行度的独立键和值(所谓的多组)。

超参数 备注
层数 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)}}

与[大数据][机器学习]之Model Card(模型卡片)介绍相似的内容:

[大数据][机器学习]之Model Card(模型卡片)介绍

每当我们在公有云或者私有云发布训练好的大数据模型,为了方便大家辨识、理解和运用,参照huggingface所制定的标准制作一个Model Card展示页,是种非常好的模型展示和组织形式。 下面就是一个Model Card 的示例,我试着把它翻译成了中文,源网址,并且提供了Markdown的模板,供大

Java中可以用的大数据推荐算法

在Java中实现大数据推荐算法时,通常会使用一些开源的机器学习库,如Apache Mahout、Weka、DL4J(DeepLearning4j,用于深度学习)或者Spark MLlib(用于在Spark集群上运行)。由于完整实现一个大数据推荐算法的代码量可能非常大,并且需要配合具体的数据集和环境进

算法金 | A - Z,115 个数据科学 机器学习 江湖黑话(全面)

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 机器学习本质上和数据科学一样都是依赖概率统计,今天整整那些听起来让人头大的机器学习江湖黑话 A - C A/B Testing (A/B 测试) A/B测试是一种在线实验,通过对比测试两

OpenCV + sklearnSVM 实现手写数字分割和识别

这学期机器学习考核方式以大作业的形式进行考核,而且只能使用一些传统的机器学习算法。 综合再三,选择了自己比较熟悉的MNIST数据集以及OpenCV来完成手写数字的分割和识别作为大作业。 1. 数据集准备 MNIST数据集是一个手写数字的数据库,包含60000张训练图片和10000张测试图片,每张图片

迁移学习:互信息的变分上下界

在机器学习,尤其是涉及异构数据的迁移学习/联邦学习中,我们常常会涉及互信息相关的优化项,我上半年的第一份工作也是致力于此。其思想虽然简单,但其具体的估计与优化手段而言却大有门道,我们今天来好好总结一下,也算是对我研一下学期一个收尾。为了解决互信息估计的的难解性,我们的方法是不直接对互信息进行估计,而...

算法金 | 详解过拟合和欠拟合!性感妩媚 VS 大杀四方

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今天我们来战 过拟合和欠拟合,特别是令江湖侠客闻风丧胆的 过拟合,简称过儿, Emmm 过儿听起来有点怪怪的 1. 楔子 机器学习模型是一种能够从数据中学习规律并进行预测的算法。我们希望

一个混乱千万级软件项目

背景:公司接到一个亿级的项目,软件大概占到1/4的比例,整个项目包含了硬件和软件团队。软件团队是要实是一个软件产品,让其控制各种硬件设备做自动化运作,并打通上下游系统的数据。软件同时统计分析(包括机器学习和AI) 整个项目设备的运作和任务执行情况,服务于后续运营优化。 项目成员结构:大项目经理,对这

[转帖]Kafka 核心技术与实战学习笔记(六)kafka线上集群部署方案

一.操作系统-Linux Kafka是JVM系的大数据框架kafka由Scala语言和Java语言编写而成,编译之后的源代码就是普通的".class"文件 使用Linux kafka客户端底层使用Java的selector,selector在Linux上的实现机制是epoll,由于在windows上

13个QA带你了解线上压测的知识点

摘要:设计一个线上压测系统能让我们学习到多少东西?这13个问题看你能否搞定。 本文分享自华为云社区《设计一个线上压测系统能让我们学习到多少东西?13个问题看你能否搞定》,作者:breakDawn。 Q: 为什么需要线上压测? A: 需要在某些活动、大促前,评估机器扩容数量,验证系统能否有效支撑流量峰

[转帖]Redis学习四(运维指南).

阅读目录 一、上线规划 二、常见运维操作 三、测试方法 回到顶部 一、上线规划 一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性。 redis 的运行机器 CPU 不求核数多,但求主频高,Cache大,因为 redis