【大模型】大语言模型语料下载

文章目录

  • 概述
  • Hugging Face
  • obs操作
  • git-lfs
  • 例子
    • RedPajama-Data-1T
    • SlimPajama-627B/
    • git clone续传
  • 数据格式
  • 参考资料

概述

大模型训练中语料是非常重要的,目前公网上有各种各样的语料可以供下载,但是不可能每个用户、每次训练任务都通过公网去拉取语料,因此我们需要在语料平台上为用户提前下载并且注册一些需要的语料,通过语料平台维护一些公用的语料。

鉴于语料下载的多样性,目前下载公网上的语料一般会先把语料下载到国外的服务器,然后再上传到华为云的 obs,最后再在 IDC 环境的服务器上将 obs 的数据下载到 CephFS 的语料目录(要求这台机器需要有外网以及挂载CephFS的权限)。

外网动辄上 TB 的语料下载是很费时间的,也很考验网络的可靠程度,因此在下载的时候,不管用什么方法,一定要注意断点续传之类的方案。

Hugging Face

下面以下载 Hugging Face 的 cerebras/SlimPajama-627B 为例,下面的脚本前提是需要安装 datasets。

from datasets import load_dataset
ds = load_dataset("cerebras/SlimPajama-627B")

因为数据集是会有低数据量的版本的,因此建议用户可以先用这部分做一些简单的测试,再决定是否全量下载。
在这里插入图片描述

# cat test.py
from datasets import load_dataset
dataset = load_dataset("neulab/conala", cache_dir="./dataset")
dataset.save_to_disk('dataset/neulab/conala')
(chatgpt) [root@ecs-f430 ~]# tree
.
├── dataset
│         ├── downloads
│         │         ├── c2f5907d74f66a3a8e62dfbbd17301cd9ac82f7af932353dbd97faa7c5636cfa
│         │         ├── c2f5907d74f66a3a8e62dfbbd17301cd9ac82f7af932353dbd97faa7c5636cfa.json
│         │         ├── c2f5907d74f66a3a8e62dfbbd17301cd9ac82f7af932353dbd97faa7c5636cfa.lock
│         │         ├── c6099a128d3e027c23a9f2e574333bf42e65bd69a531bbbe4ca2a53e6ee93190
│         │         ├── c6099a128d3e027c23a9f2e574333bf42e65bd69a531bbbe4ca2a53e6ee93190.json
│         │         └── c6099a128d3e027c23a9f2e574333bf42e65bd69a531bbbe4ca2a53e6ee93190.lock
│         ├── neulab
│         │         └── conala
│         │             ├── dataset_dict.json
│         │             ├── test
│         │             │         ├── data-00000-of-00001.arrow
│         │             │         ├── dataset_info.json
│         │             │         └── state.json
│         │             └── train
│         │                 ├── data-00000-of-00001.arrow
│         │                 ├── dataset_info.json
│         │                 └── state.json
│         └── neulab___conala
│             └── curated
│                 └── 1.1.0
│                     ├── 8557ab15640c382a1db16dca51ee1845bc77bf7c45015a2c095446a8e20ba5d3
│                     │         ├── conala-test.arrow
│                     │         ├── conala-train.arrow
│                     │         └── dataset_info.json
│                     ├── 8557ab15640c382a1db16dca51ee1845bc77bf7c45015a2c095446a8e20ba5d3_builder.lock
│                     └── 8557ab15640c382a1db16dca51ee1845bc77bf7c45015a2c095446a8e20ba5d3.incomplete_info.lock
└── test.py10 directories, 19 files

obs操作

curl -LO https://obs-community.obs.cn-north-1.myhuaweicloud.com/obsutil/current/obsutil_linux_amd64.tar.gz
tar zxvf obsutil_linux_amd64.tar.gz
mv obsutil_linux_amd64_5.5.9/obsutil /usr/local/bin/
obsutil config -i=<秘钥> -k=<秘钥> -e=obs.cn-north-4.myhuaweicloud.com
obsutil config -i=MJBDGH3HLXYZERXD2NRE -k=DAIVJcgpeflGzgdXMmA27yatPp1oYfyu707vx3gr -e=obs.ap-southeast-3.myhuaweicloud.com# 测试
obsutil cp obs://a800-bj/tmp/llama-2-7b . -f -r
obsutil cp obs://dok/dok-release-without-app-image.gz . -f -r
obsutil cp obs://dok/dok-release-without-app-image.gz.md5sum . -f -r

下面就是实际操作的时候打印的日志,可以评估一下下载的速度。
在这里插入图片描述

git-lfs

Hugging Face 的语料也可以用 git-lfs 进行下载,但是 git 下载的时候会把 .git 文件下载下来,而这个文件在使用的时候是没什么必要的。

git lfs install
git clone https://huggingface.co/datasets/cerebras/SlimPajama-627B

可以看到,通过 git 下载的数据,是跟 Hugging Face 页面显示的语料格式一样的。
在这里插入图片描述

例子

RedPajama-Data-1T

比如说下载这个数据集 RedPajama-Data-1T,实际上依靠下面的脚本也可以完成下载,通过分析 urls.txt 可以发现,下载的这些数据文件完全不经过 HF 的服务器,类似这种情况,有时候能是比直接从 HF 的服务器下载语料是快很多的。

wget 'https://data.together.xyz/redpajama-data-1T/v1.0.0/urls.txt'
while read line; dodload_loc=${line#https://data.together.xyz/redpajama-data-1T/v1.0.0/}mkdir -p $(dirname $dload_loc)wget "$line" -O "$dload_loc"
done < urls.txt

SlimPajama-627B/

这个在华为云的新加坡区的机器下载非常慢。

python -c 'from datasets import load_dataset;dataset = load_dataset("cerebras/SlimPajama-627B")'

但是上述这个方法一样会遇到一些网络问题。
在这里插入图片描述
通过 git clone 是容易报错的。
在这里插入图片描述
可以通过下面的方法实现断点续传。

from datasets import load_dataset
import datasets
import os# 需要设置一下环境变量
os.environ["HF_DATASETS_CACHE"] = "/data/hf_dataset/"
config = datasets.DownloadConfig(resume_download=True, max_retries=100)
dataset = datasets.load_dataset("cerebras/SlimPajama-627B", cache_dir="/data/hf_dataset/", download_config=config)

git clone续传

git clone --recursive --depth 1 <repository_url>

数据格式

  1. jsonl: json line格式
  2. jsonl.zst: 用zst压缩json line格式文件

测试一下。

(base) [root@ecs-f430 tmp]# unzstd example_holdout_212.jsonl.zst
example_holdout_212.jsonl.zst: 95993 bytes
(base) [root@ecs-f430 tmp]# ls
awesome-chatgpt-prompts  example_holdout_212.jsonl  example_holdout_212.jsonl.zst  obsutil_linux_amd64_5.4.11  systemd-private-a37c64d204184d31a75497db9347d40f-chronyd.service-jMVrVi
(base) [root@ecs-f430 tmp]# vim ^C
(base) [root@ecs-f430 tmp]# ll example_holdout_212.jsonl*
-rw-r--r-- 1 root root 95993 94 14:17 example_holdout_212.jsonl
-rw-r--r-- 1 root root 39089 94 14:17 example_holdout_212.jsonl.zst
(base) [root@ecs-f430 tmp]# ll -h example_holdout_212.jsonl*
-rw-r--r-- 1 root root 94K 94 14:17 example_holdout_212.jsonl
-rw-r--r-- 1 root root 39K 94 14:17 example_holdout_212.jsonl.zst
(base) [root@ecs-f430 tmp]# vim example_holdout_212.jsonl

参考资料

  1. datasets-server
  2. Hugging Face教程 - 5. huggingface的datasets库使用
  3. Datasets 使用小贴士: 探索解决数据集无法下载的问题
  4. huggingface之datasets将数据集下载到本地
  5. datasets.Dataset.save_to_disk
  6. How can I get the original files using the HuggingFace datasets platform?
  7. jsonlines官方网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS设置--查看引用库源代码

1.工具-->选项-->文本编译器-->C#-->高级-->勾选支持导航到反编译源(试验)

du_命令可以像find_命令那样列出最大的文件吗

【赠送】IT技术视频教程&#xff0c;白拿不谢&#xff01;思科、华为、红帽、数据库、云计算等等_厦门微思网络的博客-CSDN博客文章浏览阅读418次。风和日丽&#xff0c;小微给你送福利~如果你是小微的老粉&#xff0c;这里有一份粉丝福利待领取...如果你是新粉关注到了小微&am…

关于论文图表目录和交叉引用的使用小结

目录 1 题注用法 2 交叉引用 最近在写论文&#xff0c;遇到不少Word使用的问题(错误&#xff01;文档中没有指定样式的文字。) 网上其实也有很多解决方案但我当时还是折腾了几个小时才整出来图目录&#xff0c;以下是针对我目前使用的感觉简明很多的方法。 1 题注用法 1) 假…

基于LDPC编译码和FP-MAP球形检测算法的协作MIMO系统误码率matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 LDPC码 4.1 Fincke-Pohst-MAP球形检测算法 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2017b 3.部分核心程序 .........................................…

CLK_CFG_AD9516时钟芯片(配置代码使用说明)

目录 1 概述2 例程功能3 例程端口4 数据时序5 注意事项6 调用例程7附录&#xff08;代码以及寄存器&#xff09; 1 概述 本文用于讲解CLK_CFG_AD9516例程配置代码的使用说明&#xff0c;方便使用者快速上手。 2 例程功能 本例程 是采用verilog hdl编写&#xff0c;实现AD951…

以太网和局域网

计算机网络的定义 计算机网络是一个将分散的、具有独立功能的计算机&#xff0c;通过通信设备与线路连接起来&#xff0c;由根据协议编写的软件来实现的资源共享和信息传递的系统 计算机网络的分类 广域网是互联网的核心部分 局域网 常见的局域网拓扑结构有4大类&#xff1a…

关于start-burp抓包夜神-系统证书导入

1、开启开发中模式 2、开启USB调试 3、开启端口监听并下载start-burp证书 4、证书在线格式转换 根据该网站【在线DER格式转pem CER格式转pem CRT格式转PEM证书格式--查错网】也可以搜索其它在线转换网站进行操作 新建一个文本文件重名为【9a5ba575.0】&#xff0c;将转换的内…

elemetui 解决同个页面,同时使用多个el-table表格组件导致的数据错乱

1、背景 在一个页面中&#xff0c;使用了饿了么框架的3个el-table表格&#xff0c;3个表格平级&#xff0c;只不过是根据条件判断渲染哪个表格。本来以为使用v-if就可以隔离&#xff0c;没想到还是出现了问题&#xff0c;因为3个表格中有几列绑定的字段一模一样&#xff0c;导…

Qt高级--(1)自定义导航栏

好久没有水博客&#xff0c;参考别人的写一个自定义的导航栏吧。用处挺多的&#xff0c;可以用来切换到不同的信息显示界面。 功能点 1.默认情况下&#xff0c;文字居中显示&#xff0c;不显示图标&#xff0c;不显示三角。 2.可设置文字左侧、顶部、右侧、底部边距&#xff…

20. 深度学习 - 多层神经网络

Hi&#xff0c;你好。我是茶桁。 之前两节课的内容&#xff0c;我们讲了一下相关性、显著特征、机器学习是什么&#xff0c;KNN模型以及随机迭代的方式取获取K和B&#xff0c;然后定义了一个损失函数&#xff08;loss函数&#xff09;&#xff0c;然后我们进行梯度下降。 可以…

屏幕截图软件 Snagit mac中文版软件特点

Snagit mac是一款屏幕截图和视频录制软件&#xff0c;它可以帮助用户快速捕捉屏幕上的任何内容&#xff0c;并将其编辑、标注和共享。 Snagit mac软件特点 多种截图模式&#xff1a;支持全屏截图、窗口截图、区域截图、延时截图等多种截图模式&#xff0c;满足不同用户的需求。…

python用pychart库,实现将经纬度信息在地图上显示

python使用pyecharts对给到的经纬度数据进行位置标注&#xff0c;下面是批量更新。给入数据&#xff0c;将地图生成。实验数据在下面附件。 from pyecharts import options as opts from pyecharts.charts import Geo import osfolder_path F:\\GPS file_names os.listdir(f…

数据结构和算法八股与手撕

数据结构和算法八股文 第一章 数据结构 1.1 常见结构 见http://t.csdnimg.cn/gmc3U 1.2 二叉树重点 1.2.1 各种树的定义 满二叉树&#xff1a;只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上 完全二叉树&#xff1a;除了最底层节点可能没填满外&…

【数据结构】经典单链表OJ题!!

学习完单链表&#xff0c;习题就成了最好的巩固方式 目录 1.链表分割:思路&#xff1a;代码实现&#xff1a; 2.随机链表的复制:思路1&#xff1a;代码实现&#xff1a;思路2&#xff1a;代码实现&#xff1a; 3.环形链表:3.1环形链表1:思路&#xff1a;代码实现&#xff1a; 3…

云原生之使用Docker部署home-page个人导航页

云原生之使用Docker部署home-page个人导航页 一、home-page个人导航页介绍二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载home-page镜像五、部署home-page导航页5.1 创建挂…

ChatGPT 宕机?OpenAI 将中断归咎于 DDoS 攻击

您的 ChatGPT 已关闭吗&#xff1f;您是否遇到 ChatGPT 问题&#xff0c;例如连接问题或遇到“长响应时出现网络错误”&#xff1f;– ChatGPT 遭受了一系列 DDoS 攻击&#xff0c;显然是由匿名苏丹组织策划的。 OpenAI 的 ChatGPT 是一款流行的人工智能聊天机器人&#xff0c;…

Shiro快速入门之三

一、前言 接Shiro快速入门之二&#xff0c;上篇侧重于介绍认证&#xff0c;这篇介绍一下Shiro的授权&#xff0c;先初始化5张表的数据。 注&#xff1a;创建三条权限记录&#xff0c;一个admin角色分配查询和添加用户权限&#xff0c;一个账户qingcai18036授予管理员角色。 二…

OpenMMlab导出yolov3模型并用onnxruntime和tensorrt推理

导出onnx文件 直接使用脚本 import torch from mmdet.apis import init_detector, inference_detectorconfig_file ./configs/yolo/yolov3_mobilenetv2_8xb24-ms-416-300e_coco.py checkpoint_file yolov3_mobilenetv2_mstrain-416_300e_coco_20210718_010823-f68a07b3.pth…

股市助手:实时股市快讯,真人语音播报,助您第一时间获取最新资讯(自己写的分享给需要的人)

文章目录 &#x1f4d6; 介绍 &#x1f4d6;&#x1f3e1; 使用环境 &#x1f3e1;&#x1f4d2; 使用方法 &#x1f4d2;&#x1f4dd; 软件设置&#x1f4dd; 软件运行 &#x1f4d6; 介绍 &#x1f4d6; 给大家分享一款自己写的软件《股市助手》&#xff0c;老规矩&#xff…

发现一款好用的制作企业杂志网站/强推

除了展示企业的信息&#xff0c;企业杂志还可以成为员工展示自我、表达情感的电子书。你可以鼓励员工分享他们的故事、他们的想法、他们的创新。这样&#xff0c;企业杂志就成为了一个充满活力和创新的空间。 那么如何制作一本企业杂志呢&#xff1f;给大家推荐一款实用的网站&…