基于斯坦福大学开源,从零搭建chatGPT

news2024/11/18 1:31:33

下载地址:

https://huggingface.co/datasets/togethercomputer/RedPajama-Data-1T

预处理仓库:https://github.com/togethercomputer/RedPajama-Data

复刻ChatGPT!斯坦福等开启红睡衣计划,开源1.2万亿token训练集

【新智元导读】从零打造ChatGPT,AI从业者大团结!

Meta AI开源的大羊驼LLaMA模型彻底点燃了开源社区的热情,并在此基础上相继开发出了各种类ChatGPT的羊驼Alpaca, Vicuna等。

但Meta只是开源了LLaMA的权重,训练用到的数据集并没有开源出来,对于那些想从头开始训练LLaMA的从业者来说,目前还没有开源方案。

最近,由Ontocord.AI,苏黎世联邦理工学院DS3Lab,斯坦福CRFM,斯坦福Hazy Research 和蒙特利尔学习算法研究所的宣布开启「红睡衣」(RedPajama)计划,旨在生成可复现、完全开放、最先进的语言模型,即从零一直开源到ChatGPT!

下载地址:

https://huggingface.co/datasets/togethercomputer/RedPajama-Data-1T

预处理仓库:https://github.com/togethercomputer/RedPajama-Data

「红睡衣」开源计划总共包括三部分:

1. 高质量、大规模、高覆盖度的预训练数据集;

2. 在预训练数据集上训练出的基础模型;

3. 指令调优数据集和模型,比基本模型更安全、可靠。

目前红睡衣计划中的第一部分,即预训练数据集RedPajama-Data-1T已开源,包括七个子集,经过预处理后得到的token数量大致可以匹配Meta在原始LLaMA论文中报告的数量,并且数据预处理相关脚本也已开源。

完整的RedPajama-Data-1T数据集需要的存储容量为压缩后3TB,解压后5TB,有条件、有网速的小伙伴可以开始搞起来了!

目前开发团队正在橡树岭领导计算设施(OLCF)的支持下开始训练模型,预计几周后即可开源。

通过OpenChatKit,研究人员已经收到了数十万条高质量的自然用户指令,将用于发布 RedPajama 模型的指令优化版本。

复刻LLaMA

2023年2月27日,Meta推出LLaMa并发布了相关论文。

论文链接:https://arxiv.org/pdf/2302.13971.pdf

LLaMa实际上是一组基础语言模型的统称,其参数范围从70亿到650亿不等,其中LLaMA-13B(130亿参数)版本甚至在大多数基准测试中都优于1750亿参数的GPT-3;最大的LLaMA-65B和Chinchilla-70B和PaLM-540B相比也不落下风。

和之前的大模型不同的是,LLaMa完全使用「公开数据集」就达到了SOTA,并不存在其他模型中「不可告人」的秘密,无需使用专用或只存在于虚空中的数据集。

具体使用的数据集和预处理操作如下。

English CommonCrawl-占比67%

使用CCNet pipeline对五个CommonCrawl dumps(2017-2020年)进行预处理,删除重复的行,并用fastText线性分类器进行语言分类,去除非英语页面,并用ngram语言模型过滤低质量内容。

还训练了一个线性模型来对维基百科中用作参考文献的页面与随机采样的页面进行分类,并去除未被分类为参考文献的页面。

C4-占比15%

在探索实验中,研究人员观察到使用多样化的预处理CommonCrawl数据集可以提高性能,所以将公开的C4数据集纳入我们的数据。

C4的预处理也包含重复数据删除和语言识别步骤:与CCNet的主要区别是质量过滤,主要依靠启发式方法,如是否存在标点符号,以及网页中的单词和句子数量。

Github-占比4.5%

使用谷歌BigQuery上的GitHub公共数据集,只保留在Apache、BSD和MIT许可下发布的项目。

然后用基于行长或字母数字字符比例的启发式方法过滤了低质量的文件,并用正则表达式删除了HTML boilerplate(如<header>等)。

最后在文件层面上对所生成的数据集进行重复计算,并进行精确匹配。

维基百科-占比4.5%

数据集中添加了2022年6月至8月期间的维基百科dumps,涵盖20种语言,包括使用拉丁字母或西里尔字母的语言,具体为bg, ca, cs, da, de, en, es, fr, hr, hu, it, nl, pl, pt, ro, ru, sl, sr, sv, uk;然后对数据进行预处理,以去除超链接、评论和其他格式化的html模板。

Gutenberg and Books3-占比4.5%

训练数据集中包括两个书籍相关的语料库,Gutenberg Project为公共领域的书籍;ThePile中Books3部分是一个用于训练大型语言模型的公开数据集。

预处理操作主要是删除重复内容超过90%的书籍。

ArXiv-占比2.5%

通过处理arXiv的Latex文件将科学数据添加到训练数据集中,删除了第一节之前的所有内容,以及书目;还删除了.tex文件中的注释,以及用户写的内联扩展的定义和宏,以提高不同论文的一致性。

Stack Exchange-占比2%

Stack Exchange是一个高质量问题和答案的网站,涵盖了从计算机科学到化学等不同领域。保留了28个最大网站的数据,删除了文本中的HTML标签,并按分数(从高到低)对答案进行了排序。

分词器(Tokenizer)

根据SentencePiece的实现使用字节对编码(byte-pair-encoding,BPE)算法对数据进行分词,其中连续的数字被分割成单个数字。

最终整个训练数据集在分词后获得了大约1.4T的tokens,除了维基百科和图书数据外,其他的数据在训练期间只使用一次,总共进行了约两个epochs

参考资料:

https://www.together.xyz/blog/redpajama

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

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

相关文章

JAVA队列(Queue)用法附实例讲解

队列是什么 队列用于模拟队列这种数据结构&#xff0c;队列通常是指“先进先出”的容器。新元素插入&#xff08;offer&#xff09;到队列的尾部&#xff0c;访问元素&#xff08;poll&#xff09;操作会返回队列头部的元素。通常&#xff0c;队列不允许随机访问队列中的元素 …

【JavaWeb】Servlet(崔老师版)

文章目录 1.概述1.1 JavaWeb三大组件1.2 Servlet作用 2.ServletConfig接口3.Servlet接口3.1 实现Servlet的方式3.2 Servlet生命周期 4.HttpServlet抽象类6.ServletContext5.1 概述5.2 获取ServletContext5.3 JavaWeb四大域对象5.4 获取应用初始化参数5.5 ServletContext获取资源…

【UML建模】时序图(Sequence Diagram)

文章目录 1.概述2.时序图的组成元素2.1.角色&#xff08;Actor&#xff09;2.2.实体和对象2.3.生命周期线&#xff08;Lifeline&#xff09;2.3.1.激活&#xff08;Activation&#xff09;2.3.2.消息&#xff08;Messages&#xff09;2.3.3.组合片段&#xff08;Fragments&…

learn C++ NO.1——命名空间域、输入输出、函数重载

前言 什么是C C&#xff08;c plus plus&#xff09;是一种计算机高级程序设计语言&#xff0c;由C语言扩展升级而产生&#xff0c;最早于1979年由本贾尼斯特劳斯特卢普在AT&T贝尔工作室研发。C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的…

Cache存储系统详解(全相联映射、直接映射、组相联映射、替换策略和性能计算)

1. 存储系统的层次结构 为了解决容量、速度和价格之间的矛盾&#xff0c;把各种不同存储容量&#xff0c;不同存取速度&#xff0c;不同价格的存储器&#xff0c;按照一定的体系结构组织起来&#xff0c;使所存放的程序和数据按层次分布在各存储器中&#xff0c;形成---多层次的…

读书笔记//《数据科学工程实践》

出版时间&#xff1a;2021年11月 副标题&#xff1a;用户行为分析、A/B实验、SQLFlow 作者们是一线互联网企业的数据科学家、数据分析师和算法工程师&#xff0c;主要就职于滴滴、部分就职于腾讯、快手等。 点评&#xff1a;神仙下凡布道。感谢大佬们的分享。本书让我领略了大厂…

小白也能看懂,解读数据中台

不同的企业对数据有不同的需求。企业数据应用不断更新迭代&#xff0c;企业的中台系统也需要不断变化。从数据处理与数据治理两个维度出发&#xff0c;可以设计一个解耦的数据中台体系架构。该数据中台体系架构具有一定的柔性&#xff0c;可按照企业应用需求进行组合&#xff0…

多语言(CurlPHPPHPsdkJAVAC#Python)调用阿里巴巴商品API接口

2月2日消息&#xff0c;《晚点LatePost》独家报道&#xff0c;阿里集团国内批发业务1688近期完成了一系列组织和业务调整。其中&#xff0c;原1688商贸发展中心和产地发展中心合并为1688商家发展中心&#xff0c;由原商贸发展中心总经理王强负责&#xff1b;1688新成立分销供应…

苹果天气应用专利获批,苹果Find My技术改变防丢技术走向

根据美国商标和专利局&#xff08;USPTO&#xff09;公示的清单&#xff0c;苹果近日获得了名为“用于管理天气信息的用户界面”专利&#xff0c;编号为 US 11630559 B2。 苹果在专利描述中表示&#xff0c;部分管理天气信息的技术复杂且效率低下&#xff0c;用户需要多次点击…

spring redis Sentinel 哨兵 原理

客户端选择 redis 常用的连接客户端 有三个 Jedis&#xff1a;是老牌的Redis的Java实现客户端&#xff0c;提供了比较全面的Redis命令的支持&#xff0c;Redisson&#xff1a;实现了分布式和可扩展的Java数据结构。Lettuce&#xff1a;高级Redis客户端&#xff0c;用于线程安…

el-table合计功能滚动条层级问题

问题描述 版本&#xff1a;2.15.13 el-table在使用合计功能及固定列功能的同时&#xff0c;由于固定列的结构是固定区域增加了div加上定位&#xff0c;用来盖住下面的内容。当使用了合计功能的时候滚动条的区域在el-table__body-wrapper会导致固定列区域下的滚动条被挡住&…

计算机网络三:运输层

一、运输层 1. 概述 运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信功能&#xff0c;使得不同主机好像直接连在一起一样 运输层协议是在端系统中而不是在路由器中实现的。网络路由器仅作用于网络层分组(即数据报)的网络层字段&#xff0c;而不检查封装在该数据报…

微搭低代码学习之数据展示

低代码平台是一个快速发展的领域&#xff0c;未来有着广阔的发展前景。以下是一些低代码平台未来的发展方向&#xff1a; 1.人工智能和机器学习 随着人工智能和机器学习技术的不断发展&#xff0c;低代码平台将能够更好地利用这些技术来提高应用程序的智能化和自动化水平。例如…

APP渗透—绕过反代理、反证书检测

APP渗透—绕过反代理、反证书检测 1. 前言1.1. 无法获取数据包情况 2. 反代理2.1. 反代理情况2.1.1. 某牛牛反代理2.1.2. 某探反代理 2.2. 绕过反代理2.2.1. Proxifier设置2.2.1.1. 设置代理服务器2.2.1.2. 配置代理规则2.2.1.3. 检测状态 2.2.2. 抓包测试 2.3. 总结 3. 反证书…

用HTML+CSS简单的画一个支付宝页面(超详细)

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;老茶icon &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;计…

Pyqt实现合并PDF遇到的问题集合

1.exit code -1073740791报错 pycharm遇到如下报错&#xff1a; “Process finished with exit code -1073740791 (0xC0000409)” 就是遇到这种问题就不知道问题在哪里&#xff0c;有点摸不着头脑 解决措施&#xff1a; 1.点击导航栏“Run”后选择“Edit Configurations” …

Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用

Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;在数据处理、科学计算、数学建模、数据挖掘和数据可视化方面具备优异的性能&#xff0c;这些优势使得Python在气象、海洋、地理、气候、水文和生态等地学领域的科研和工程项目中得到广泛应用。可以…

Keil使用 fromelf 生成bin文件

一、语法格式如下&#xff1a; fromelf [options] input_file [options] 选项如下&#xff0c;可以组合使用&#xff0c;两者之间用空格隔开&#xff1a; 二、在Keil中的使用过程 1、配置Output&#xff0c;生成可执行文件 aa即为可执行文件名&#xff0c;后缀为axf。…

十三、51单片机之EEPROM(I2C)

1、EEPROM简介 (1)存储设备类型&#xff1a;ROM、RAM、PROM(可编程ROM)、EPROM(可擦除ROM)、EEPROM(电可擦除ROM)。 (2)为什么需要EEPROM&#xff1f; 某些数据内容我们需要掉电不丢失且在程序运行中可以修改这些数据内容&#xff0c;这就需要用到EEPROM。 (3)EEPROM和flas…

家庭智能开关通断—Homekit智能

智能通断器&#xff0c;也叫开关模块&#xff0c;可以非常方便地接入家中原有开关、插座、灯具、电器的线路中&#xff0c;通过手机App或者语音即可控制电路通断&#xff0c;轻松实现原有家居设备的智能化改造。 随着智能家居概念的普及&#xff0c;越来越多的人想将自己的家改…