rtyu789 发表于 2024-9-12 23:56

《大语言模型:原理与工程实践》-预训练数据构建

# 一、预训练数据主要来源

大模型的训练需要巨大和多样的数据量,下面的表格展示了大模型中主要使用的数据类型

| 数据类型 | 常用数据来源         |
| -------- | ---------------------- |
| 网页数据 | CommonCrawl、C4      |
| 书籍数据 | BookCorpus             |
| 百科数据 | 维基百科、百度百科   |
| 代码数据 | Github、GitLab         |
| 其他   | 学术论文、新闻、多语言 |

具体的数据集,在常用数据集中会介绍

# 二、数据的预处理方式

收集到的广泛的非结构化文本中,有很多低质量的数据,比如垃圾邮件、乱码文字和有害内容需要对数据进行预处理以后才可以使用
主要的预处理步骤如下:
1. 正文提取——**解决不同格式的问题**
   1. HTML
   2. PDF
   3. EPUB、MOBI
   4. DOCX
   5. Markdown
2. 质量过滤——**筛去低质量文本**
   1. 规则过滤
      1. 格式转换——比如字符编码归一化,标点符号统一
      2. 篇章级过滤——比如删除过长或过短的文本
      3. 行级过滤——比如删除残留的HTML标签
   2. 模型过滤
      1. 机器学习分类预测文本质量
      2. 毒害分类器
3. 文档去重——**防止过度记忆某些高频内容**
   1. 文档内去重
      1. 行内去重
      2. 行间去重
   2. 文档间去重
      1. 文档相似度计算
         1. 余弦相似度
         2. Jaccard相似度
      2. 大规模数据,近似哈希
         1. SimHash算法
         2. MinHashLSH算法
4. 数据集净化——**确保数据安全和可用性**
   1. 数据脱敏
      1. 确保隐私安全
      2. 消除偏见
      3. 开源工具数据过滤Perspective API
   2. 测试集分离
      1. 由于大模型的规模极大,所以需要特别注意测试和训练集的分离


# 三、常用数据集

## 英文数据集
### 1. Common Crawl 介绍
使用python的爬虫工具,从2008年开始爬取互联网上大量的网页数据,供研究人员、开发人员和公众使用
!(/data/attachment/forum/202409/12/235503hgyzn8jgg2w8sfy6.png.thumb.jpg?rand=2903.490231354007)
!(/data/attachment/forum/202409/12/235504ojlqy516rryj66tz.png.thumb.jpg?rand=1150.024653647248)


Common Crawl主要有以下几个部分组成

| 简称 | 数据类型            | 内容                               |
| ---- | --------------------- | ---------------------------------- |
| WARC | Web ARChive         | 完整内容、HTTP响应头、主体HTML内容 |
| WAT| Web ARChive Transform | 从WARC中提取了元数据和链接信息   |
| WET| WebExtracted Text   | 只包含网页的正文文本内容         |


!(/data/attachment/forum/202409/12/235505mn951mv5how10kw5.png.thumb.jpg?rand=6797.715393499222)
一般使用WET训使用的较多,满足纯文本需求,并空间占用最少,但是Common Crawl提取的比较粗糙,有的研究人员会自己使用WARC中提取

### 2. C4 数据集介绍
Google公司基于Common Crawl在2019年4月构建的开源数据集,对所有非英文文本内容进行了过滤,并进行了质量过滤

### 3. ROOTS 数据集介绍
ROOTS项目是一个由BigScience团队训练BLOOM模型时使用的数据集,包含46种自然语言,大约1.6TB,他们团队公开了数据处理代码

## 中文数据集

### 1. MNBVC

超大规模中文语料集,包括一切形式的纯文本中文数据。数据均来源于互联网收集,且至2024年9月持续更新中。

!(/data/attachment/forum/202409/12/235505gttfrhgfbytyvovq.png.thumb.jpg?rand=4272.186598594126)


### 2. WanJuan-1.0
书生·万卷1.0为书生·万卷多模态语料库的首个开源版本,包含文本数据集、图文数据集、视频数据集三部分,数据总量超过2TB。

!(/data/attachment/forum/202409/12/235506u62v8n8ufhh1uuyx.png.thumb.jpg?rand=9327.694389833825)



# 参考资料
(https://commoncrawl.org/)
(https://paperswithcode.com/dataset/c4)
(https://paperswithcode.com/dataset/massivetext)
(https://huggingface.co/datasets/tiiuae/falcon-refinedweb)
(https://huggingface.co/bigscience-data)
## 中文数据集
(https://mnbvc.253874.net/)
[整理开源的中文大语言模型](https://github.com/HqWu-HITCS/Awesome-Chinese-LLM)
(https://githb.com/esbatmop/MNBVC)
(https://opendatalab.com/OpenDataLab/WanJuan1_dot_0)


Jacktang 发表于 2024-9-15 08:49

<p>Common Crawl提取的比较粗糙,有的研究人员会自己使用WARC中提取,好吧</p>

rtyu789 发表于 2024-9-17 00:25

Jacktang 发表于 2024-9-15 08:49
Common Crawl提取的比较粗糙,有的研究人员会自己使用WARC中提取,好吧

<p>是的呀</p>
页: [1]
查看完整版本: 《大语言模型:原理与工程实践》-预训练数据构建