美文网首页
用于 LLM 的公开的数值数据

用于 LLM 的公开的数值数据

作者: Dlimeng | 来源:发表于2023-05-18 21:30 被阅读0次

用于 LLM 的公开的数值数据

这个存储库包含了用于训练 OpenAI 的大型语言模型的一部分公开的数值数据。这些数据已经被处理成符合 OpenAI 的数据管道格式。此外,我们还提供了一个 Python 脚本,用于将原始的表格数据转换成适合训练的格式。

数据来源

这些数据来自于以下公开的来源:

数据格式

数据被存储为 JSON 文件,每个 JSON 文件包括一个名为 data 的数组。数组中的每个元素都是一个包含两个键的字典:

  • input: 用于训练模型的输入文本。输入文本通常包括一个问题或描述。
  • output: 模型的预期输出。这通常是一个简短的回答或数值。
{
    "data": [
        {
            "input": "What was the average price of a gallon of regular gasoline in the United States in 2019?",
            "output": "2.60"
        },
        {
            "input": "What is the distance from Earth to Mars in kilometers?",
            "output": "225,000,000"
        },
        ...
    ]
}

如何使用这些数据

要使用这些数据训练您的模型,您需要将它们处理成适合您的训练框架的格式。我们提供了一个 Python 脚本,用于将原始的表格数据转换成适合训练的格式。您可以参考这个脚本来了解如何处理数据,以及如何根据您的需求修改它。

LLM 开发者应知的数字

在谷歌,传奇工程师杰夫·迪恩(Jeff Dean)整理了一份名为“每位工程师都应该知道的数字”的文档。对于大型语言模型(LLM)开发者来说,拥有一套可用于粗略计算的类似数字非常有用。在这里,我们分享 Anyscale 使用的一些特定数字,说明这些数字的重要性以及如何将其用于您的优势。

内容列表

  • CPU 时钟周期
  • 内存访问延迟
  • 磁盘延迟
  • 网络延迟
  • FLOPs 和 AI 训练

CPU 时钟周期

  • 一个 CPU 时钟周期大约需要 0.4 纳秒(ns)。
    CPU 时钟周期是衡量 CPU 性能的关键指标。了解 CPU 时钟周期的长度有助于在设计和优化算法时更好地理解性能瓶颈。

内存访问延迟

  • 从 L1 缓存中读取数据大约需要 0.5 纳秒。
  • 从 L2 缓存中读取数据大约需要 7 纳秒。
  • 从 L3 缓存中读取数据大约需要 100 纳秒。
  • 从主内存中读取数据大约需要 100 纳秒。
    当 CPU 需要访问数据时,它首先检查各级缓存(L1、L2 和 L3)。如果所需数据不在缓存中,CPU 则需要访问主内存。了解访问各级缓存和主内存的延迟对于识别和优化算法性能至关重要。

磁盘延迟

  • 从固态硬盘(SSD)读取数据大约需要 20-100 微秒(µs)。
  • 从传统硬盘驱动器(HDD)读取数据大约需要 1-10 毫秒(ms)。
    磁盘延迟是指从磁盘中读取或写入数据所需的时间。了解磁盘延迟有助于在处理大量数据时了解存储系统的性能瓶颈。

网络延迟

  • 同一数据中心内的往返延迟(RTT)大约为 0.5 毫秒。
  • 跨洲际光缆的往返延迟大约为 150 毫秒。
    网络延迟是指数据在网络中传输所需的时间。了解网络延迟有助于在开发分布式系统和优化网络通信时预测性能。

FLOPs 和 AI 训练

  • 一个 NVIDIA A100 GPU(英伟达A100图形处理器)可以提供每秒约 312 万亿次浮点运算(TFLOPs)。
  • 训练 GPT-3 模型需要约 3.14 * 10^23 次浮点运算。
    FLOPs(每秒浮点运算次数)是衡量处理器性能的一个常用指标,特别是在 AI 训练和高性能计算领域。了解处理器的 FLOPs 数量和训练模型所需的 FLOPs 数量有助于评估训练时间和硬件需求。

许可

这些数据遵循 CC0 1.0 协议。您可以自由地复制、修改、发布和使用这些数据,无需获取许可或支付费用。然而,我们鼓励您在使用这些数据时,引用这个存储库以便其他人可以找到这些资源。

项目地址

https://github.com/ray-project/llm-numbers

相关文章

  • 数据分析—Pandas 的两种数据结构

    一、数据结构 pandas主要用于处理非数值数据,numpy用来处理数值数据 二、常用数据类型: 1、series...

  • 枚举

    1、什么是枚举(pascal) 随着计算机的不断普及,程序不仅只用于数值计算,还更广泛地用于处理非数值的数据。例如...

  • Number(), parseInt(), parseFloat

    Number(): 可以用于任何数据类型转换为数值 parseInt(),parseFloat(): 用于把字符串...

  • 新手入门前端1——数值转换

    Number(): 可以用于任何数据类型转换成数值; parseInt()、parseFloat(): 专门用于把...

  • 红宝书之数值转换number()、parseInt()、pars

    数值转换的特点 有三个函数可以把非数值转换为数值:(1)Number(),可以作用于任何数据类型(2)parseI...

  • 数据结构

    R拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。 向量 向量是用于存储数值型、字符型、...

  • Tensorflow框架使用

    简介 TensorFlow是采用数据流图,用于数值计算的深度学习框架(常用于神经网络相),其中在数据流图里,节点表...

  • Lesson 013 —— python 数字

    Lesson 013 —— python 数字 Python 数字数据类型用于存储数值。 数据类型是不允许改变的,...

  • 第1章 绪论

    早期的计算机主要用于数值计算,现在,计算机主要用于非数值计算,包括处理字符、表格和图像等具有一定结构的数据。 如何...

  • 学习小组Day 5-小白要进步

    数据结构 R中的数据类型包括数值型,字符型和逻辑型。 向量 向量 是用于存储数值型,字符型或逻辑型的一堆数组,每个...

网友评论

      本文标题:用于 LLM 的公开的数值数据

      本文链接:https://www.haomeiwen.com/subject/anlgsdtx.html