Want to Become a Sponsor? Contact Us Now!🎉

LLM
RedPajama-Data-V2: 开源LLM最佳训练数据集

RedPajama-Data-V2: 开源大型语言模型的改变者

Published on

探索RedPajama-Data-V2,用于训练LLM模型的最大开源数据集。拥有30万亿个标记、广泛的质量注释以及致力于开源发展的承诺,RedPajama将改变AI领域的格局,并使人们能够更容易地获得尖端语言模型。

简介

在快速发展中的人工智能领域中,强大的大型语言模型(LLMs)的开发往往由商业实体主导。然而,开源社区一直在努力实现人们对尖端AI技术的获取民主化。在众多推动这一变革的倡议中,RedPajama项目以其创新和合作精神而脱颖而出。

RedPajama是Together、Ontocord.ai、ETH DS3Lab、Stanford CRFM、Hazy Research和MILA Québec AI Institute共同努力的成果,旨在创建领先的完全开源LLMs,与专有模型媲美。该项目的最新里程碑,RedPajama-Data-V2,将通过提供30万亿个标记的前所未有的数据集,改变开源LLM的训练方式。

想要了解最新的LLM新闻吗?请查看最新的LLM排行榜

RedPajama-Data-V2: 开源LLMs的改变者

RedPajama-Data-V2是一个特别为LLMs训练而设计的大规模网络数据集。它包括来自84个CommonCrawl快照的超过1000亿个文本文档,使用CCNet管道进行处理。其中,有3000亿个文档具有预先计算的质量信号,20亿个文档已经去重。

该数据集涵盖了英语、法语、西班牙语、德语和意大利语这五种语言。对数据集的头尾部分进行注释和去重后,文档和标记数目如下所示:

语言文档数目预估标记数目(去重)
英语145亿205万亿
德语19亿30万亿
法语16亿27万亿
西班牙语18亿28万亿
意大利语9亿15万亿
总计208亿304万亿

RedPajama-Data-V2之所以与其他数据集有所不同,是因为它包含了40多个预先计算的质量注释。这些注释可让用户根据自己的需要进一步过滤和加权数据,提供了前所未有的灵活性和定制选项。

RedPajama-Data-V2目前是专门用于LLM训练的最大的公共数据集,包含了超过1000亿个原始文档和30万亿个标记(去重和过滤后)。它涵盖了五种语言:英语(205万亿个标记),德语(30万亿),法语(27万亿),西班牙语(28万亿)和意大利语(15万亿)。

相比之下,其他知名数据集如The Pile(用于训练EleutherAI模型)包含大约1.2万亿个标记,而用于训练Llama 2的数据集则有2.4万亿个标记。RedPajama-Data-V2的规模是无与伦比的,提供了丰富高质量的训练数据。

RedPajama-Data-V2的优势

真正让RedPajama-Data-V2脱颖而出的是每个文档超过40个预先计算的质量注释。这些注释涵盖了各种类别,如困惑度分数、分类器预测、自然语言度量、内容毒性指标等等。

  • 高质量:有了这些质量信号,研究人员可以根据自己的需求轻松过滤和加权数据。其他数据集通常使用固定的启发式算法,限制了后续的定制化。RedPajama-Data-V2提供了前所未有的灵活性,以创建为不同LLM应用优化的定制子集。

  • 完全开源:RedPajama项目完全开源,所有数据处理脚本都可以在GitHub上找到,数据集托管在HuggingFace上。这种透明性使社区能够了解、重述和构建在数据集基础之上的工作。

  • 降低LLM训练成本:RedPajama-Data-V2的规模和质量有望显著降低训练强大LLM的计算成本。通过提供丰富的信息数据,模型可以使用更少的参数和计算资源实现强大的性能。

设置RedPajama-Data-V2

要开始使用RedPajama-Data-V2,可以使用以下Python代码加载示例数据集:

from datasets import load_dataset
 
ds = load_dataset("togethercomputer/RedPajama-Data-V2", name="sample")

要下载特定组合的 partition × snapshot_id × language,请使用以下命令:

wget "https://data.together.xyz/redpajama-data-v2/v1.0.0/urls/minhash-urls.txt" -O "minhash-urls.txt"

运行RedPajama-Data-V2流程

RedPajama-Data-V2的流程包括三个主要步骤:

  1. 准备工件
  2. 计算质量信号
  3. 去重

第一步:准备工件

该步骤创建用于后续步骤的工件,包括构建质量分类器、训练基于Ngram的生成模型进行重要权重计算、从LDNOOBW存储库获取坏单词列表,以及从UT1黑名单获取最新的黑名单URL列表。

要创建工件,请在配置文件中设置环境变量并运行以下命令:

bash scripts/run_prep_artifacts.sh \
  --config configs/rp_v2.0.conf \
  --listings /path/to/listings/file.txt \
  --max_workers 32

第二步:计算质量信号

第二步计算质量信号,包括模糊去重的minhash签名。在配置文件中设置环境变量并运行:

bash scripts/apptainer_run_quality_signals.sh \
  --config configs/rp_v2.0.conf \
  --dump_id "2022-49" \
  --input_base_uri "file:///path/to/data/root" \
  --output_base_uri "file:///path/to/output/data/root" \
  --max_docs -1

第三步:去重

第三步涉及精确去重和模糊去重。要使用布隆过滤器进行精确去重,请运行:

python3 app/src/bloomfilter.py \
  --listings /path/to/listings/file.txt \
  --input_base_uri "s3://path/to/ccnet/data" \
  --output_dir "/path/to/output" \
  --s3_profile "..." \
  --endpoint_url "..." \
  --parallel_readers 32 \
  --batch_size 10 \
  --capacity "..." \
  --error_rate "..."

要使用局部敏感哈希进行模糊去重,请运行:

bash scripts/apptainer_run_lsh.sh \
  --config configs/rp_v2.0.conf \
  --dump_id "2022-49" \
  --input_base_uri "file:///path/to/data/root" \
  --output_dir "/path/to/output" \
  --similarity "<相似性阈值>" \
  --listings "/minhash/listings/file.txt" \
  --max_docs -1

RedPajama-Data-V2质量信号

RedPajama-Data-V2包含一系列全面的质量信号,可分为以下几个组别:

  • CCNet:从CCNet管道中衍生的信号,例如困惑度分数、语言识别和文档长度。
  • ML启发式:基于机器学习模型的信号,例如用于类似维基百科页面和重要性再抽样的分类器。
  • 自然语言:与内容的语言属性相关的信号,例如词数、句子数和唯一词占比。
  • 重复性:衡量内容重复性的信号,例如重复n-gram中字符比例。
  • 毒性:指示潜在有害内容的信号,例如LDNOOBW黑名单中的单词和UT1黑名单中的类别。
  • 去重:不同Jaccard相似性阈值下的模糊去重用的minhash签名。

有关所有质量信号的详细列表,请参阅RedPajama-Data-V2文档。

RedPajama与开源LLM的未来

RedPajama-Data-V2在开源LLM的发展中标志着重要的里程碑。通过提供一个广泛的高质量数据集以及全面的注释,该项目旨在降低研究人员和组织构建强大语言模型的门槛。

RedPajama团队计划通过补充质量注释、主题建模和文档分类等方式扩展数据集。他们积极鼓励社区参与,提出和开发新的注释,以进一步提升数据集的实用性。

与数据集开发并行进行,Together正在基于RedPajama-Data-V2构建开源模型。这些模型将完全开源且商业可行,为现有的LLM提供一个无约束、无摩擦的替代方案。该项目还提供帮助,帮助公司和组织使用开源和专有数据的结合构建定制模型。

结论

RedPajama-Data-V2代表了人工智能技术民主化的重要进步。通过提供一个完全开源、高质量的数据集用于训练LLM,该项目使研究人员、开发人员和组织能够在没有专有API限制的情况下创建强大的语言模型。

随着RedPajama项目的持续发展和演进,它有潜力重塑人工智能领域的景观,促进创新、协作和可及性。在人工智能社区的支持和参与下,RedPajama有望成为下一代LLM及更多领域的催化剂。

想了解最新的LLM新闻吗?请访问最新的LLM排行榜