大模型预训练记录

前提:任务要求3w篇pdf文献用来预训练,采用MinerU转换为markdown格式,对markdown格式初步清洗用来预训练测试。

选用qwen为基座模型,采用lora预训练。以下是预训练代码。

from modelscope import snapshot_download
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import TaskType, LoraConfig, get_peft_model, AutoPeftModelForCausalLM
import torch
import os
import markdown
from bs4 import BeautifulSoup
import nltk
import matplotlib.pyplot as plt



# 下载句子分割器
# nltk.download()


# 下载punkt数据,如果未下载过
try:
    nltk.data.find('tokenizers/punkt')
except LookupError:
    nltk.download('punkt', download_dir=os.path.expanduser('~/.nltk_data'))
    
# 设置可见的CUDA设备
#os.environ["CUDA_VISIBLE_DEVICES"] = "0"
model_dir = snapshot_download('qwen/Qwen2-0.5B-Instruct')
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained(
    model_dir
### 大模型预训练数据集概述 大语言模型的性能很大程度上依赖于其使用的高质量预训练数据集。以下是几个常见的大模型预训练数据集及其特点和获取方式。 #### 1. **Common Crawl** - **描述**: Common Crawl 是一个开放的互联网抓取数据库,包含大量网页文本数据。它被广泛应用于构建大型语言模型的语料库[^4]。 - **特点**: 提供多样化的主题覆盖范围,适合多领域学习;定期更新以反映最新的网络内容变化。 - **获取方式**: 用户可以通过访问 [Common Crawl 官方网站](https://commoncrawl.org/) 下载所需的时间段内的爬虫数据。 #### 2. **Dolma 数据集** - **描述**: Dolma 是一种开源的大规模语言模型预训练数据集,由约 200TB 的原始文本构成,并经过处理形成近 3T 个词元的数据集合[^3]。 - **特点**: - 来自多个来源(如 Common Crawl、Semantic Scholar、GitHub 等),具有丰富的多样性; - 配备高效的工具包支持多种数据清理操作,例如语言检测、重复项移除等; - 不断迭代升级至最新版本 (v1.6),总容量达到约 5.4TB。 - **获取方式**: 可通过 Hugging Face 平台免费获得此数据集及相关资源链接。 #### 3. **Books3** - **描述**: Books3 收录了大量的英文小说和其他文学作品全文作为训练素材之一[^5]。 - **特点**: 主要聚焦于书面表达形式的内容,有助于提升生成自然流畅叙述的能力。 - **获取方式**: 同样可经由 The Pile 或者其他授权渠道合法取得。 #### 4. **Stack Exchange Corpus** - **描述**: StackExchange 社区问答平台上的公开讨论记录构成了这一独特类型的对话型语料库[^6]。 - **特点**: 富含技术术语和技术交流场景下的互动模式,特别适用于增强特定领域的专业知识理解力。 - **获取方式**: 直接从官方导出页面或者第三方整理好的压缩包里提取出来即可使用。 --- ```python import requests from bs4 import BeautifulSoup def fetch_common_crawl_data(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') links = [] for link in soup.find_all('a'): href = link.get('href') if href.endswith('.warc.gz'): # Assuming WARC files are of interest here. links.append(href) return links[:10] example_links = fetch_common_crawl_data("http://data.commoncrawl.org/") print(example_links) ``` 上述代码片段展示了如何利用 Python 编程语言中的 `requests` 和 `BeautifulSoup` 库来检索部分 Common Crawl 数据集中可供下载的具体文件地址列表。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值