目录

Open Language Model: OLMo

开放语言模型 (OLMo) - AI2 LLM 框架旨在提供对通过开放研究推进人工智能所需的数据、训练代码、模型和评估代码的访问,使学者和研究人员能够共同研究语言模型科学。

Dolma:开放语料库

Dolma,OLMo 预训练数据集。Dolma 是一个包含 3 万亿 Tokens 的开放数据集,这些 Tokens 来自各种网络内容、学术出版物、代码、书籍和百科全书材料。

Summary Statistics (v1.6)

Source Doc Type UTF-8 bytes (GB) Documents (millions) Unicode words (billions) Llama tokens (billions)
Common Crawl web pages 9,022 3,370 1,775 2,281
The Stack code 1,043 210 260 411
C4 web pages 790 364 153 198
Reddit social media 339 377 72 89
PeS2o STEM papers 268 38.8 50 70
Project Gutenberg books 20.4 0.056 4.0 6.0
Wikipedia, Wikibooks encyclopedic 16.2 6.2 3.7 4.3
Total   11,519 4,367 2,318 3,059

下载数据集

DATA_DIR="olmo-data"        # <path_to_your_data_directory>
PARALLEL_DOWNLOADS="10"     # <number_of_parallel_downloads>
DOLMA_VERSION="v1_6-sample" # <version_of_dolma_to_download>

git clone https://huggingface.co/datasets/allenai/dolma ~/HuggingFace/datasets/allenai/dolma
cd ~/HuggingFace/datasets/allenai/dolma
mkdir -p "${DATA_DIR}"

cat "urls/${DOLMA_VERSION}.txt" | xargs -n 1 -P "${PARALLEL_DOWNLOADS}" wget -q -P "$DATA_DIR"

使用数据集

import os
from datasets import load_dataset

os.environ["DATA_DIR"] = "<path_to_your_data_directory>"
dataset = load_dataset("allenai/dolma", split="train")

Dolma Toolkit(支持预训练 AI 模型的数据集管理)

使用 Dolma Toolkit 进行数据集管理通常有四个步骤:

  1. 使用标记器(taggers),数据集中的文档段落用属性标记(例如,它们所在的语言、毒性等);
  2. 根据内容或元数据对文档进行去重(deduplicated);
  3. 使用混合器(mixer),根据属性的值删除或过滤文档;
  4. 最后,可以使用任何 HuggingFace 兼容的分词器(tokenizer)对文档进行分词。

Taggers

List of Dirty, Naughty, Obscene, and Otherwise Bad Words

Language Detection

OLMo:训练和推理

OLMo-Eval:评估

open-instruct:训练开放指令语言模型

Evaluation

基准评估

参考资料