Redian新闻
>
Falcon:我们是靠洗数据洗败 LLaMA 的!

Falcon:我们是靠洗数据洗败 LLaMA 的!

公众号新闻

深度学习自然语言处理 分享
知乎:何枝

Falcon 是由 The Technology Innovation Institute (TII) 于2023年6月发布的大语言模型,包含 1B、7B、40B 三种规模。

该模型曾因其在 40B 上的性能超越 65B LLaMA 而被人们广泛关注

尽管近期有文章指出,排行榜对 LLaMA 的计算可能存在一些问题,Falcon 并不一定真正击败 LLaMA,不过这并不影响人们对这一开源且参数更小的强大模型的给与极高的关注度。

进NLP群—>加入NLP交流群

链接:https://zhuanlan.zhihu.com/p/637996787

在这一篇文章中,我们将快速预览一下 Falcon Paper[1] 中的一些关键信息。

1. 数据集构建:我们有必要「精心挑选」数据集吗?

Falcon 论文中主张的思想是:仅使用「互联网语料」(不需要额外数据源)就可以训练一个不错的大模型

在 Falcon 的开篇贴出了一个效果比对图:

Falcon(Refined Web)数据集与其他数据集的语料分布图

我们只看中间 3 个比较知名的数据集 [GPT-3]、[The Pile] 和 [PaLM],这 3 个数据集中都使用了一部分「互联网(Web)数据集」,并加入一些额外的数据集进行辅助。

GPT-3 中使用占比最大(60%),The Pile 中的使用占比最少(18%)。

这里的「互联网数据集」指的都是 [common crawl] 数据集,这是一个从 2008 年开始搜集的互联网文本数据集,可以简单理解为一个巨大的互联网信息库,包含了各种各样的海量互联网信息。

那么我们不禁好奇:除了这些互联网信息,剩下的信息都是些什么信息呢?

GPT-3(左)数据集分布 & The Pile(右)数据集分布

从上图可以看到,除了 CC 数据集(图中黄色方框)之外,两边都还加入了一些额外的数据集,比如:维基百科、书籍、Github、ARXiv 论文等,借此来让 LLM 直接学会一些技能(写代码、读论文等)。

在 Falcon 的 Paper 中,这些非互联网数据都被统一称为:人工精选数据集(curated corpora),尽管这类数据集质量较高,但却不那么容易扩展。

例如,GPT-3 和 The Pile 中都包含了「书籍」类的数据集,如果我们想训练一个中文模型,相较于易于获取的英文书籍数据集,中文的开源数据集获取则没有那么容易;此外,对于维基百科而言,英文词条的数目也远胜于中文词条量级。

可见,要想扩大这些「精心构造」的数据集的量级,对于人们而言绝非易事。

而 Falcon 提到:只要对数据进行严格的数据清洗,即便是只使用「互联网语料」也能够让 LLM 学会各种技能。

我认为这基于一种高可能性的假设:所有的信息都能够在互联网信息中被找到,只是信息密度相比「人工精选数据集」要更低

例如「明星信息」、「如何写代码」这些信息都能在新闻网站、或是问答网站中找到,只不过「维基百科」或是「Github」则是将这些信息给「高密度」且「结构化」地进行了存储。

这使得我们在使用维基百科作为训练语料的时候,模型能够更快的学习到这些高密度信息(人物的经历、年龄、性别、职业等等),而这些内容在互联网信息(如新闻)中的信息密度则较低,即很少会有一条新闻完整的介绍一个艺人的过往经历。

只要我们对互联网信息进行严格的处理(去除冗余信息,提高有用信息的密度),就能够加快模型的学习速度。

2.「互联网数据」如何清洗?

通常来讲,处理互联网数据集都包含以下几步:

  1. 语言识别:判断文章的语言类型,在 [LLaMA] 的数据预处理中过滤掉了 Common Crawl 中所有的非英文语料。
  2. 规则过滤:用规则过滤掉那些低质内容,例如:同一句话中出现过多标点符号、或包含一些违禁词等。
  3. 基于打分模型的内容过滤:通过训练一个轻量的机器学习模型,用于判断一篇文章是否足够优质。
  4. 文章去重:去掉一些相似内容的文章,通常分为:确定性去重(命中一些明确的公共子串或模板) 和 模糊性去重([MinHash] 或 [SimHash])。
数据预处理流程图

而在 Falcon 中,整个数据清洗流程如下所示:

Falcon 数据集清洗流程图

2.1 URL 过滤

在这一步中,作者通过制定 URL 的黑白名单来决定保留、丢弃某些文章内容,

例如,保留 Arxiv、WikiPedia 前缀网站的内容(这其实就和前面的 The Pile 这种「人工精选」的方式类似了)。

2.2 内容抽取

在获得过滤后的 URL 集合后,我们需要获取到这些 URL 中的「文本信息」,

需要过滤并丢弃「目录」、「标题」、「广告」等无关的内容,

作者使用 [trafilatura] 库来进行内容抓取,trafilatura 的使用方法也比较简单:

# load necessary components
>>> from trafilatura import fetch_url, extract

# download a web page
>>> url = 'https://github.blog/2019-03-29-leader-spotlight-erin-spiceland/'
>>> downloaded = fetch_url(url)
>>> downloaded is None  # assuming the download was successful
False

# extract information from HTML
>>> result = extract(downloaded)
>>> print(result)
# newlines preserved, TXT output ...

可以通过指定特定的 HTML 元素来过滤掉不需要的内容(如表格、图片等):

# load necessary components
>>> from trafilatura import fetch_url, extract

# download a web page
>>> url = 'https://github.blog/2019-03-29-leader-spotlight-erin-spiceland/'
>>> downloaded = fetch_url(url)
>>> downloaded is None  # assuming the download was successful
False

# extract information from HTML
>>> result = extract(downloaded)
>>> print(result)
# newlines preserved, TXT output ...

2.3 语言识别(过滤掉非英语的语料)

作者使用 [fastText] 训练了一个语言识别模型,去掉那些英语得分低于 0.65 的文章

这类低质文章主要包括:非英语文章、以及那些不是由自然语言构成的网页(比如一些纯图像的博客和广告)。

2.4 低质过滤

【篇章级别过滤】

首先,去除一些文章内一直重复同一段内容的文章,以及一些包含错误信息的文章(例如:抓取超时等);

其次,对每一篇文章,通过判断文章整体长度、标点符号占文章长度的比例等,来过滤掉那些不正规的文章;

【句子级别过滤】

过滤掉文章中的一些无用的句子,比如:求关注、求转发、喜欢本文请一键三连 ❤️~

这种句子通常没有具体含义,但话术繁多,又难以穷举。

因此,作者通过设定以下策略来过滤掉这些语句(某些规则只适用于英语):

1. 句子中主要由大写字符组成(丢弃)
2. 句子由纯数字组成(丢弃)
3. 命中特定关键词,如['关注''转发''点赞'](丢弃)
4. 如果句子长度小于 10,且命中以下模版:
   * 句子以(登录、注册)开头。
   * 句子以(展开、更多)结尾。

可以看到,数据处理真的是一个非常精细的工作。论文里也有提到:尽管通过训练模型可以加快速度,但考虑到模型训练会出现输出偏好,所以作者依旧保持使用规则来清理数据。

2.5 文章去重

最后,作者对剩下的内容进行去重。

首先,通过 MinHash 的方法对剩余文章进行 MinHash 值计算,每篇文章使用 9000 个 Hash 值(用 20 个桶,每个桶 450 个值);

作者发现,如果使用过少的桶(如:The Pile 中使用的 10 个桶),会导致去重比例过低。

其次,使用确定性去重的方法,删掉那些重复片段超过 50 个 token 的文章。

最后,根据 URL 进一步去除了一部分重复的文章。

3. 实验结论

论文中通过实验结论指出:「精心构造数据集」并不一定是预训练语言模型的最优解

通过严格且恰当的规则去清洗数据,即使是在最容易获得的互联网文本上,模型也能表现的最好

相同模型结构在不同数据集上的 Zero Shot 测试上的得分

总的来说,Falcon 是一篇更侧重于「数据清洗」的论文,其实从 Falcon 最后发布的模型结构来看,也是传统的 Rotary + Flash Attention 的 Decoder 结构,但从 Falcon 最后优异的效果来看,似乎是在向我们证明:不管是 Pretrain 还是 Finetune,「数据质量」都比「模型结构」要更加重要

出于篇幅原因,论文中还有很多附录的细节没有写进来,有时间的小伙伴建议移步观看原文,相信可以学到不少新的小技巧。

好啦,这就是这篇文章的全部内容啦,感谢观看~



进NLP群—>加入NLP交流群


参考资料

[1]

Falcon: https://arxiv.org/pdf/2306.01116.pdf

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
国产替代正当时:我们是如何迁移到国产操作系统的?Costco Trade-In:不用的电子产品,可以免费换食品杂货长鸿台版《圣斗士星矢冥王神话》典藏大全套:LC+LC外传+专属特典!关注丨多位在华跨国企业高层:我们是中国改革开放的实践者LLC, Inc, Co, Corp, and Ltd分别是什么意思,你知道吗?一日一诗:在火树银花中 / 我们看到了彼此的脆弱与深情 | 马文秀:我们是彼此的山川狗狗去世后,主人邀请它的“好朋友”参加葬礼,没想到…它们是懂离别的!惊呆!澳女在Wollies成功实现“0元购”!免单买牛排?!竟是靠这玩意儿?【𝐂𝐚𝐥𝐧𝐢𝐊𝐞𝐚𝐧双皮奶无痕内裤】49元三条!巨巨巨好穿 !!简直就是辣妹顶配,食品级冰箱收纳盒【一日团】美加因山火吵翻了!被美国人狂喷,加拿大人:我们是无辜的,怪特鲁多吧…Costco7月国庆节折扣来袭!LC铸铁锅、园艺、露营产品清仓打折必须剁手,长周末吃喝玩乐一站全搞定!ChatGPT之父Sam Altman:我认为未来10年最重要的技能戛纳闭幕式:乌美女挑衅普京,日本靠洗马桶拿影帝?华娱毯星多,就是没有奖!上海宝马闯祸了彻底反转:号称「碾压」LLaMA的Falcon实测得分仅49.08,HuggingFace决定重写排行榜代码日本“无头男尸案”惊人反转!凶手曾被死者性侵?内情曝光后网友求情:他们是被逼的!长篇小说《如絮》第一百二十一章 旧金山-2004年 跨过金门桥冯德莱恩推不动这项对华政策:我们是欧盟,不是美国论折腾人,他们是专业的!老天不开眼图灵奖得主LeCun:我赞成用LLM写论文!科研老将更恨ChatGPT?吵翻!被美国人狂喷,加拿大人:我们是无辜的,怪特鲁多吧…School Gym Collapse Kills 11, Girl Volleyball Players Among Dead渔歌子(2):纷点沙滩如散星OpenAI创始人:我们是一个非常追求真理的组织|中企荐读𝐂𝐚𝐥𝐧𝐢𝐊𝐞𝐚𝐧双皮奶内衣裤,软弹有度,上身0束缚~阿里张勇:企业家精神不是靠培养的,是靠自我激发的国产替代正当时:我们是如何迁移到国产操作系统的?|直播预约AI 教父 Hinton:我已经老了,如何控制比人类还聪明的 「超级智能」,交给你们了Hinton:我对「青蛙」创造出「人」这件事的后果很紧张|全文整理+视频阿里紧急回应:假的!假的!假的!图灵奖得主Hinton:我已经老了,如何控制比人类更聪明的AI交给你们了美国梦破碎!八大道闽籍华男偷渡来美!身患绝症、靠洗肾维持生命!国际生深受美国枪支暴力困扰:我们是来学习,不是来送死的!20号,龚俊颇特直播Cut+总结
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。