five

smollm-corpus

收藏
Hugging Face2024-07-17 更新2024-12-12 收录
下载链接:
https://huggingface.co/datasets/HuggingFaceTB/smollm-corpus
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集是一个精心策划的高质量教育和合成数据集合,旨在用于训练小型语言模型。数据集包含三个子集:Cosmopedia v2、Python-Edu和FineWeb-Edu (deduplicated)。Cosmopedia v2是一个用于预训练的最大合成数据集,包含超过3900万个由Mixtral-8x7B-Instruct-v0.1生成的教科书、博客文章和故事。Python-Edu子集包含Python文件,这些文件由教育代码模型评分4分以上,并从stack-v2-train数据集中提取。FineWeb-Edu (deduplicated)是FineWeb-Edu数据集的去重子集,包含2200亿个教育网页的标记,使用教育质量分类器过滤,保留最高质量的教育内容。
提供机构:
Hugging Face TB Research
创建时间:
2024-07-15
原始信息汇总

SmolLM-Corpus 数据集概述

数据集子集

Cosmopedia v2

  • 配置名称: cosmopedia-v2
  • 特征:
    • prompt (string): 用于生成文本的输入提示。
    • text (string): 生成的文本内容。
    • token_length (int64): 文本的标记长度(使用 Mistral-7B 分词器)。
    • audience (string): 内容的预期受众。
    • format (string): 内容的格式(例如,教科书、故事)。
    • seed_data (string): 用于生成文本的种子样本。
  • 分割:
    • train: 包含 39,134,000 个样本,总字节数为 212,503,640,747。
  • 下载大小: 122,361,137,711 字节
  • 数据集大小: 212,503,640,747 字节

Python-Edu

  • 配置名称: python-edu
  • 特征:
    • blob_id (string): 文件在 AWS S3 上的 Software Heritage (SWH) ID。
    • repo_name (string): GitHub 上的仓库名称。
    • path (string): 仓库内的文件路径。
    • length_bytes (int64): 文件内容的 UTF-8 字节长度。
    • score (float32): 教育评分模型的输出。
    • int_score (uint8): 四舍五入的教育评分。
  • 分割:
    • train: 包含 7,678,448 个样本,总字节数为 989,334,135。
  • 下载大小: 643,903,049 字节
  • 数据集大小: 989,334,135 字节

FineWeb-Edu (去重)

  • 配置名称: fineweb-edu-dedup
  • 特征:
    • text (string): 网页的文本内容。
    • id (string): 网页的唯一 ID。
    • metadata (struct): 网页的元数据,包括:
      • dump (string): 源 CommonCrawl 转储。
      • url (string): 网页的 URL。
      • date (timestamp[s]): 网页被捕获的日期。
      • file_path (string): commoncrawl 快照的文件路径。
      • language (string): 网页的语言。
      • language_score (float64): 语言概率。
      • token_count (int64): 网页的标记计数(使用 gpt2 分词器)。
      • score (float64): 教育质量评分。
      • int_score (int64): 四舍五入的教育质量评分。
  • 分割:
    • train: 包含 190,168,005 个样本,总字节数为 957,570,164,451。
  • 下载大小: 550,069,279,849 字节
  • 数据集大小: 957,570,164,451 字节

加载数据集

Cosmopedia v2

python from datasets import load_dataset

ds = load_dataset("HuggingFaceTB/smollm-corpus", "cosmopedia-v2", split="train", num_proc=16) print(ds[0])

Python-Edu

python import boto3 import gzip from datasets import load_dataset

num_proc = 16 s3 = boto3.client(s3) bucket_name = "softwareheritage"

def download_contents(blob_id): key = f"content/{blob_id}" obj = s3.get_object(Bucket=bucket_name, Key=key) with gzip.GzipFile(fileobj=obj[Body]) as fin: content = fin.read().decode("utf-8", errors="ignore") return {"text": content}

ds = load_dataset("HuggingFaceTB/smollm-corpus", "python-edu", split="train", num_proc=num_proc) ds = ds.map(download_contents, input_columns="blob_id", num_proc=num_proc) print(ds[0])

FineWeb-Edu (去重)

python from datasets import load_dataset

ds = load_dataset("HuggingFaceTB/smollm-corpus", "fineweb-edu-dedup", split="train", num_proc=16) print(ds[0])

引用

@software{benallal2024smollmcorpus, author = {Ben Allal, Loubna and Lozhkov, Anton and Penedo, Guilherme and Wolf, Thomas and von Werra, Leandro}, title = {SmolLM-Corpus}, month = July, year = 2024, url = {https://huggingface.co/datasets/HuggingFaceTB/smollm-corpus} }

搜集汇总
数据集介绍
main_image_url
构建方式
SmolLM-Corpus数据集通过精心筛选和合成高质量的教育数据构建而成,旨在为小型语言模型的训练提供支持。其中,Cosmopedia v2子集通过Mixtral-8x7B-Instruct-v0.1模型生成超过3900万条教科书、博客文章和故事,使用网页样本作为种子数据以增加多样性。Python-Edu子集则从the-stack-v2数据集中提取了评分较高的Python文件,并通过教育评分模型进行筛选。FineWeb-Edu-Dedup子集则是对FineWeb-Edu数据集进行去重和过滤,保留了最高质量的教育网页内容。
使用方法
使用SmolLM-Corpus数据集时,可以通过Hugging Face的`datasets`库加载不同子集。例如,加载Cosmopedia v2子集时,可以使用`load_dataset`函数指定子集名称和分割方式。对于Python-Edu子集,用户需要从Software Heritage的S3存储桶下载文件内容,并通过映射函数处理下载结果。FineWeb-Edu-Dedup子集的加载方式与Cosmopedia v2类似,用户可以通过指定子集名称和分割方式快速获取数据。这些方法使得数据集的加载和使用变得高效且灵活。
背景与挑战
背景概述
SmolLM-Corpus数据集由HuggingFace团队于2024年发布,旨在为小型语言模型的训练提供高质量的教育和合成数据。该数据集由多个子集组成,包括Cosmopedia v2、Python-Edu和FineWeb-Edu-Dedup,涵盖了从合成文本到实际代码文件的多样化内容。Cosmopedia v2作为最大的合成数据集之一,包含了超过3900万条由Mixtral-8x7B-Instruct-v0.1模型生成的教科书、博客文章和故事,极大地扩展了预训练数据的多样性。Python-Edu子集则专注于教育性质的Python代码文件,而FineWeb-Edu-Dedup则是对FineWeb-Edu数据集进行去重后的高质量教育网页内容。该数据集的发布为小型语言模型的训练提供了丰富的资源,推动了自然语言处理领域的发展。
当前挑战
SmolLM-Corpus数据集在构建和应用过程中面临多重挑战。首先,合成数据的生成依赖于高质量的提示和种子样本,如何确保生成内容的多样性和教育价值是一个关键问题。其次,Python-Edu子集的数据获取依赖于外部存储系统(如AWS S3),数据下载和处理的效率受到网络和计算资源的限制。此外,FineWeb-Edu-Dedup子集在去重和质量筛选过程中,如何平衡数据规模与内容质量也是一个技术难点。最后,数据集的规模庞大,如何在有限的计算资源下高效加载和处理这些数据,成为实际应用中的一大挑战。这些挑战不仅影响了数据集的构建过程,也对后续模型的训练和优化提出了更高的要求。
常用场景
经典使用场景
SmolLM-Corpus数据集在自然语言处理领域中被广泛用于训练小型语言模型,尤其是在教育内容和合成数据的生成任务中。其子集Cosmopedia v2通过Mixtral-8x7B-Instruct-v0.1模型生成了大量高质量的教科书、博客文章和故事,适用于预训练模型的多样化需求。FineWeb-Edu-Dedup则提供了经过去重和筛选的高质量教育网页数据,支持语言模型的精细调优。
解决学术问题
该数据集解决了自然语言处理领域中高质量训练数据稀缺的问题,尤其是在教育领域。通过提供多样化的合成数据和经过筛选的真实网页内容,SmolLM-Corpus为研究人员提供了丰富的语料库,帮助提升语言模型在教育内容生成、文本分类和语言理解等任务中的表现。其数据集的多样性和高质量特性为模型训练提供了坚实的基础。
实际应用
SmolLM-Corpus在实际应用中具有广泛的价值,特别是在教育技术领域。其生成的教育内容可以用于开发智能辅导系统、自动化课程生成工具以及个性化学习平台。此外,FineWeb-Edu-Dedup中的高质量网页数据可以用于构建教育搜索引擎或知识图谱,帮助用户快速获取权威的教育资源。Python-Edu子集则为编程教育提供了丰富的代码示例,支持自动化代码评分和教学辅助工具的开发。
数据集最近研究
最新研究方向
在自然语言处理领域,smollm-corpus数据集的最新研究方向聚焦于小型语言模型的训练与优化。该数据集通过整合高质量的教育内容和合成数据,为模型提供了丰富的训练素材。特别是Cosmopedia v2子集,作为最大的合成数据集之一,其生成的文本内容涵盖了广泛的学科领域,极大地提升了模型的多样性和泛化能力。此外,FineWeb-Edu-Dedup子集通过去重和高质量筛选,进一步提升了教育类数据的质量,为模型在教育领域的应用提供了坚实的基础。这些研究方向的推进,不仅推动了小型语言模型的发展,也为教育技术、内容生成等领域的创新提供了新的可能性。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作