five

emozilla/dolma-v1_7-30B-tokenized-llama2-nanoset

收藏
Hugging Face2024-07-09 更新2024-07-22 收录
下载链接:
https://hf-mirror.com/datasets/emozilla/dolma-v1_7-30B-tokenized-llama2-nanoset
下载链接
链接失效反馈
官方服务:
资源简介:
Dolma数据集是一个经过Llama 2模型分词处理的版本,源自emozilla/dolma-v1_7-30B数据集。该数据集被分割成10 GB的块,便于下载和处理。提供了下载和重新组合这些数据块的命令行指令,以及如何使用numpy直接处理这些数据的示例代码。

The Dolma dataset is a Tokenized version of emozilla/dolma-v1_7-30B, processed with Llama 2 and split into 10 GB chunks. It is primarily used for language modeling tasks, especially large language models (LLM) and casual language models (casual-lm). The dataset size ranges from 100B to 1T, and it supports downloading via Hugging Face CLI and direct processing with numpy.
提供机构:
emozilla
原始信息汇总

数据集概述

基本信息

  • 许可证: odc-by
  • 任务类别:
    • 文本生成
  • 语言:
    • 英语
  • 标签:
    • 语言建模
    • 休闲语言模型
    • 大型语言模型
  • 名称: Dolma
  • 大小类别:
    • 100B < n < 1T

数据集描述

下载与使用

  • 下载命令: shell huggingface-cli download --repo-type dataset --local-dir dolma-v1_7-30B-tokenized-llama2-nanoset --local-dir-use-symlinks False emozilla/dolma-v1_7-30B-tokenized-llama2-nanoset

  • 重组命令: shell cat dolma-v1_7-30B-tokenized-llama2-nanoset/dolma-v1_7-30B-tokenized-llama2-nanoset_input_ids.npy.* > dolma-v1_7-30B-tokenized-llama2-nanoset.npy rm -rf dolma-v1_7-30B-tokenized-llama2-nanoset

  • 直接使用: python import numpy as np

    dataset_buffer_mmap = np.memmap("dolma-v1_7-30B-tokenized-llama2-nanoset.npy", mode="r", order="C", dtype=np.int16) dataset_buffer = memoryview(dataset_buffer_mmap) dataset_number_of_tokens = int(len(dataset_buffer))

搜集汇总
数据集介绍
main_image_url
构建方式
在大规模语言模型预训练领域,高质量、大规模且易于处理的数据集是推动模型性能提升的关键基石。emozilla/dolma-v1_7-30B-tokenized-llama2-nanoset 数据集源自 Dolma 语料库的 v1.7 版本,经过 Llama 2 分词器进行标记化处理,并按照 Nanotron 框架的要求,将原始约 300 亿 token 的语料分割为多个 10 GB 的块文件。这种分块策略既便于分布式存储与传输,又为后续的数据重组提供了灵活支持。用户可通过 HuggingFace CLI 工具下载完整数据集,随后使用简单的 shell 命令将分块文件拼接为单一的 .npy 格式张量文件,从而获得可直接用于模型训练的紧凑数据表示。
特点
该数据集的核心特点在于其高度工程化的设计,兼顾了大规模数据的高效存取与灵活使用。通过 Llama 2 分词器的统一标记化处理,数据格式与主流开源模型架构天然兼容,消除了重复分词的计算开销。采用内存映射(memory-mapped)技术,用户能够以极低的内存占用直接访问磁盘上的张量文件,支持随机读取和流式处理,极大降低了硬件门槛。此外,数据集以 16 位整数(np.int16)存储 token ID,在保证精度的同时压缩了存储空间,使得单机即可加载数百亿 token 的语料,非常适合资源受限的研究场景。
使用方法
使用该数据集时,用户首先需通过 huggingface-cli 命令将分块文件下载至本地目录,随后利用 cat 命令合并所有分块并删除临时目录,生成完整的 .npy 文件。在代码层面,推荐采用 NumPy 的 memmap 函数以只读模式映射该文件,并指定数据类型为 np.int16,从而获得一个可迭代的 token 序列视图。通过 memoryview 进一步包装后,即可将整个数据集视为连续的内存缓冲区,直接计算 token 总数并用于自定义数据加载器。这种设计避免了将全部数据加载至 RAM 的开销,支持按需读取,特别适合与 PyTorch 或 TensorFlow 等深度学习框架集成,进行因果语言模型的预训练或微调。
背景与挑战
背景概述
在大规模语言模型(LLM)训练领域,高质量且易于处理的预训练语料库是推动模型性能提升的关键基石。Dolma数据集由Hugging Face团队于近期发布,旨在为开源社区提供一份规模达30B token的英文文本语料,核心研究问题聚焦于如何构建一个覆盖多源、去重且符合开放许可的训练数据集合。该数据集特别针对Llama 2分词器进行了token化处理,并分割为10GB的块,以适配Nanotron等分布式训练框架,显著降低了大规模数据加载与预处理的门槛。其影响力体现在:不仅为研究者提供了可直接用于因果语言模型(causal LM)训练的标准化数据,还通过开放许可(ODC-BY)促进了可复现的学术研究,成为连接数据供给与高效训练流程的重要桥梁。
当前挑战
Dolma数据集所解决的领域挑战在于:当前开源LLM训练常受限于数据质量不一、版权模糊及预处理流程复杂等问题,该数据集通过统一token化与分块策略,简化了从原始文本到可训练张量的转化过程。然而,构建过程中仍面临多重挑战:首先,30B token的语料需从多源(如网页、书籍、代码等)采集,并实施严格的去重与过滤,以剔除低质或有害内容;其次,针对Llama 2分词器的token化需确保词汇表覆盖率与编码效率,避免因分词差异导致模型泛化能力下降;此外,大规模数据的分块与重组(如npy文件的合并)需设计稳健的I/O机制,以应对内存限制与分布式存储的瓶颈,确保研究者能无缝加载并用于后续训练。
常用场景
经典使用场景
Dolma数据集作为大规模语言模型预训练语料库的代表性资源,其经典使用场景集中于因果语言建模(Causal Language Modeling)任务。该数据集经过Llama 2分词器预处理并以10GB分块形式存储,研究者可直接通过numpy内存映射接口高效加载海量token序列,用于训练从数十亿到数千亿参数规模的Transformer架构解码器模型。其规模覆盖100B至1T token区间,为探索模型规模与性能之间的扩展律(Scaling Laws)提供了坚实的数据基础,尤其适用于需要大规模、高质量英文文本的下一代大语言模型研发。
解决学术问题
该数据集有效解决了学术研究中大规模高质量预训练语料获取困难与标准化不足的痛点。通过提供已分词化的统一格式版本,消除了不同分词器与数据预处理流程带来的实验复现偏差,使研究者能够聚焦于模型架构创新、训练策略优化及数据组成分析等核心问题。Dolma推动了关于数据质量、多样性及去重策略对模型下游性能影响的研究,为理解训练数据如何塑造语言模型的知识表征与泛化能力提供了可复现的实验基准。
衍生相关工作
Dolma数据集催生了一系列围绕数据工程与模型训练的关键研究工作。基于该数据集,研究者开发了针对大规模语料的分布式训练框架优化方案,如Nanotron等高效训练工具链;同时推动了数据配比(Data Mixing)与课程学习(Curriculum Learning)等策略的实证分析。此外,该数据集常被用作对比实验的基线语料,支撑了关于训练数据规模与模型涌现能力关系的研究,以及跨数据集迁移学习效果的量化评估,成为大语言模型社区数据标准化的重要基石。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作