欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://blog.csdn.net/caroline_wendy/article/details/136636105

大语言模型的预训练数据通常包括网页数据、书籍、新闻、科学文章等多种类型的文本。这些数据帮助模型学习语言的语法、语义和上下文信息。预训练阶段是模型构建的基础,通过无监督学习从海量文本中提取知识。

大语言模型的预训练数据通常涵盖了广泛的文本类型,以确保模型能够理解和生成多样化的语言内容。开源的数据集被广泛用于大语言模型的预训练,即:

  1. 维基百科类:包括各种语言的维基百科文章,这些数据集通常用于训练模型以理解和生成百科全书式的内容。
  2. 书籍类:例如BookCorpus,包含大量的未出版书籍文本,有助于模型学习文学和叙述性语言。
  3. 期刊类:如Pubmed数据集,包含科学出版物的摘要,适用于学术和专业领域的语言理解。
  4. 问答类:例如TriviaQA和QuAC,提供问题和答案对,用于训练模型的问答能力。
  5. 其他类:包括Reddit、Stack Exchange等在线论坛和讨论组的文本,有助于模型学习非正式和对话式的语言。

这些数据集的开放性使得研究人员和开发者能够使用和贡献于大语言模型的发展,推动自然语言处理技术的进步。

Pile 22 类:

大语言模型的预训练数据处理流程主要包括:

  1. 数据收集:从多种来源收集文本数据,如网页、书籍、新闻等。
  2. 数据清洗:去除无关内容,如广告、导航栏等,以及不符合要求的文本,如低质量或重复内容。
  3. 文本预处理:对收集到的文本进行格式化,包括分词、去除特殊字符等。
  4. 语言识别:确定文本的语言,以便进行针对性的处理。
  5. 去重:删除数据中的重复内容,确保数据的唯一性。
  6. 质量控制:评估文本的质量,保留高质量的数据用于训练。
  7. 数据分割:将数据分割成训练集、验证集和测试集。

这些步骤有助于确保预训练数据的质量和多样性,从而训练出更准确、更可靠的大语言模型。

BPE(Byte Pair Encoding)字节对编码模型,是用于NLP中的词元切分(Tokenization)的方法,核心思想是将常见的字符对(byte pairs)合并为一个单独的词元,从而减少整体的词元数量,同时保留了文本的重要信息。这种方法特别适用于处理词汇量非常大的语言模型,可以有效地减少词汇表的大小,同时保持语言的丰富性和表达能力。本步骤如下:

  1. 初始化词汇表:将文本中的每个词拆分为基础字符,并将这些字符作为初始词汇表。
  2. 统计频率:在大量文本中统计所有相邻字符对的出现频率。
  3. 合并最频繁的字符对:选择最常出现的字符对,合并为一个新的词元,并更新词汇表。
  4. 迭代过程:重复上述过程,每次迭代都会产生一个新的词元,直到达到预设的词元数量或者其他停止条件。

BPE模型的优点在于它可以动态地适应语料库的统计数据,生成一个高效的词元集,这对于处理未知词(OOV)或罕见词特别有用。此外,BPE模型也支持多语言模型的训练,不依赖于特定语言的词汇结构。