《大语言模型:原理与工程实践》-预训练数据构建
# 一、预训练数据主要来源大模型的训练需要巨大和多样的数据量,下面的表格展示了大模型中主要使用的数据类型
| 数据类型 | 常用数据来源 |
| -------- | ---------------------- |
| 网页数据 | 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)
<p>Common Crawl提取的比较粗糙,有的研究人员会自己使用WARC中提取,好吧</p>
Jacktang 发表于 2024-9-15 08:49
Common Crawl提取的比较粗糙,有的研究人员会自己使用WARC中提取,好吧
<p>是的呀</p>
页:
[1]