rtyu789

  • 2024-09-12
  • 发表了主题帖: 《大语言模型:原理与工程实践》-预训练数据构建

    # 一、预训练数据主要来源 大模型的训练需要巨大和多样的数据量,下面的表格展示了大模型中主要使用的数据类型 | 数据类型 | 常用数据来源           | | -------- | ---------------------- | | 网页数据 | 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年开始爬取互联网上大量的网页数据,供研究人员、开发人员和公众使用 ![1_Common_Crawl官网图片1](/data/attachment/forum/202409/12/235503hgyzn8jgg2w8sfy6.png.thumb.jpg?rand=2903.490231354007) ![2_Common_Crawl官网图片2](/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  | Web  Extracted Text   | 只包含网页的正文文本内容           | ![3_Common_Crawl文件目录](/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月持续更新中。 ![4_MNBVC页面](/data/attachment/forum/202409/12/235505gttfrhgfbytyvovq.png.thumb.jpg?rand=4272.186598594126) ### 2. WanJuan-1.0 书生·万卷1.0为书生·万卷多模态语料库的首个开源版本,包含文本数据集、图文数据集、视频数据集三部分,数据总量超过2TB。 ![5_万卷页面](/data/attachment/forum/202409/12/235506u62v8n8ufhh1uuyx.png.thumb.jpg?rand=9327.694389833825) # 参考资料 [Common Crawl](https://commoncrawl.org/) [C4 数据集](https://paperswithcode.com/dataset/c4) [MassiveText](https://paperswithcode.com/dataset/massivetext) [falcon-refinedweb](https://huggingface.co/datasets/tiiuae/falcon-refinedweb) [ROOTS](https://huggingface.co/bigscience-data) ## 中文数据集 [MOP里屋社区](https://mnbvc.253874.net/) [整理开源的中文大语言模型](https://github.com/HqWu-HITCS/Awesome-Chinese-LLM) [MNBVC](https://githb.com/esbatmop/MNBVC) [WanJuan-1.0](https://opendatalab.com/OpenDataLab/WanJuan1_dot_0)

  • 2024-09-05
  • 回复了主题帖: 【Follow me第二季第2期】+开发板硬件介绍和实现任务一 LED灯闪烁和串口打印

    分享的内容很棒,学习到了 视频内容从1:03左右开始,电脑使用obs录制的时候,声音就偏小了,基本上完全听不到,持续到后面也是这样,楼主可以注意一下哈

  • 加入了学习《【Follow me第二季第2期】+开发板硬件介绍和实现任务一 LED灯闪烁和串口打印》,观看 【Follow me第二季第2期】+开发板硬件介绍和实现任务一 LED灯闪烁和串口打印

  • 回复了主题帖: 测评入围:ST NUCLEO-WB09KE

    个人信息无误,确认可以完成测评分享计划,期待收到开发板

  • 2024-09-04
  • 回复了主题帖: 共读入围:《RISC-V开放架构设计之道》 第二轮

    个人信息无误,确认可以完成评测计划

  • 2024-08-29
  • 回复了主题帖: 《大语言模型:原理与工程实践》-大模型基础技术

    freebsder 发表于 2024-8-29 16:06 彩印价格应该要上大100了吧 书籍后面写的标价是119

  • 2024-08-28
  • 回复了主题帖: 《大语言模型:原理与工程实践》-大模型基础技术

    oceansky 发表于 2024-8-28 14:00 《大语言模型:原理与工程实践》-大模型基础技术  ,有没有免费下载的PDF?   这是EEWorld站内的测评活动哦,没有提供下载的电子版,这是活动页面 【《大语言模型:原理与工程实践》】测评|【《大语言模型:原理与工程实践》】免费试用_电子工程世界 (eeworld.com.cn) 需要的话可以自行购买哦

  • 发表了主题帖: 《大语言模型:原理与工程实践》-大模型基础技术

    十分感谢EEWorld和电子工业出版社提供了此次书籍阅读和分享的机会。 # 一、书籍概览 数据在对模型的展示中,用了丰富的图示,可以更方便读者进行理解 ![836522](/data/attachment/forum/202408/28/003002k9elo71414ae8rbq.jpg.thumb.jpg?rand=4268.273136761895) 每个章节后增加了参考文献,方便读者的阅读 # 二、大模型的基础技术 平时对大模型的推理了解的较多,但是对训练大模型背后的技术了解的比较少,本章主要从四个方面介绍了大模型的基础技术 1. 自然语言的基本表示方法    1. 词表示技术       1. 词的独热表示       2. 词的分布式表示       3. 基于预训练的词嵌入式表示    2. 分词技术       1. word粒度       2. character粒度       3. subword粒度 2. 经典结构Transformer 3. Transformer预训练语言模型    1. Encoder-Only预训练语言模型——BERT    2. Decoder-Only预训练语言模型——GPT    3. Encoder-Decoder预训练语言模型——T5、BART 4. 分别对开源和闭源大模型进行介绍    1. InstructGPT    2. LLaMA 本书对2.3.4.部分的章节描述的比较详细,所以主要补充一下第一部分的内容,笔者比较感兴趣 # 三、自然语言的基本表示方法 1. 词表示技术 词的独热表示是一种最简单最直接的词的向量化表示方式。主要步骤包含两步: 1) 对需要用到的文本中所有词进行编码(假设共用N个词),每个词有唯一的下标(0~N) 2) 根据词下标 i 生成一个长度为N的向量,除了第i位为1外,其他位都为0 下面举个简单的例子进行说明: ```shell I like deep learning I like NLP I enjoy flying ``` 忽略大小写,对不同的词进行编码: ```shell word_dict = {0: 'i', 1: 'like', 2: 'deep', 3: 'learning', 4: 'NLP', 5: 'enjoy', 6: 'flying'} ``` 显然,根据不同词个数(7),我们需要构建的One-Hot向量长度为7: | 词       | 编码 | One-hot表示   | | -------- | ---- | ------------- | | i        | 0    | [1,0,0,0,0,0,0] | | like     | 1    | [0,1,0,0,0,0,0] | | deep     | 2    | [0,0,1,0,0,0,0] | | learning | 3    | [0,0,0,1,0,0,0] | | NLP      | 4    | [0,0,0,0,1,0,0] | | enjoy    | 5    | [0,0,0,0,0,1,0] | | flying   | 6    | [0,0,0,0,0,0,1] | 2. 基于预训练的词嵌入式表示 静态词向量语言模型,Word2vec,GloVe 动态词向量语言模型,ELMo,GPT,BEERT 主要介绍Word2vec,可以称为词嵌入 上面介绍的词的独热向量虽然十分的简单,但是不能准确的表达各个词语之间的相似度,所以在2013年,谷歌的科学家提出了Word2vec的方法,在词嵌入模式下,主要有两个模型跳元模型Skip-Gram和连续词袋CBOW模型 1) 跳元模型Skip-Gram 主要思想:假设一个词可以用来在文本序列中生成其周围的单词 图示: 对于如下的文本序列,给定中心词NLP ```shell I like NLP and deep learning ``` 跳元模型考虑生成上下文词I,like,and,deep,learning的条件概率 ```shell P("I","like","and","deep","learning") ``` 假设上下文词是在给定中心词的情况下独立生成的(即条件独立性)。在这种情况下,上述条件概率可以重写为 ```shell P("NLP"|"I"),P("NLP"|"like"),P("NLP"|"and"),P("NLP"|"deep"),P("NLP"|"learning") ``` 后面的公式可以参考参考资料14.1. 词嵌入(word2vec) 1) 连续词袋CBOW 主要思想:假设中心词是基于其在文本序列中的周围上下文词生成的 图示: 写的这些内容也仅仅是抛转引玉,更多的NLP内容读者可以自己加以学习,对于语言处理也是一门很深的学问,需要不断的学习 # 参考资料 [词的独热(one-hot)表示](https://blog.csdn.net/weixin_38659482/article/details/123316173) [深入浅出 one-hot](https://zhuanlan.zhihu.com/p/634296763) [如何通俗理解Word2Vec (23年修订版)](https://blog.csdn.net/v_JULY_v/article/details/102708459) [14.1. 词嵌入(word2vec)](https://zh.d2l.ai/chapter_natural-language-processing-pretraining/word2vec.html) [Distributed Representations of Words and Phrases and their Compositionality](https://arxiv.org/abs/1310.4546) [Efficient Estimation of Word Representations in Vector Space](https://arxiv.org/abs/1301.3781)

  • 2024-08-26
  • 回复了主题帖: 【Follow me第二季第2期】+ 搭建环境并开启第一步Blink / 串口打印Hello EEWorld!

    这到货的也太快了吧,学习学习,不知道用vscode的PlatformIO开发是否方便呢

  • 2024-08-20
  • 加入了学习《全新树莓派4:它是否能替代你的pc》,观看 全新树莓派4:它是否能替代你的pc

  • 2024-08-13
  • 回复了主题帖: 共读入围名单:《大语言模型:原理与工程实践》

    个人信息无误,确认可以完成评测计划

  • 2024-08-05
  • 加入了学习《GD32嵌入式开发入门》,观看 透彻理解嵌入式系统的概念

  • 加入了学习《【Follow me第二季第1期】全部任务演示》,观看 全部任务演示2.0

最近访客

< 1/1 >

统计信息

已有13人来访过

  • 芯积分:70
  • 好友:--
  • 主题:2
  • 回复:7

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言