LLM大语言模型数据处理-github code-DLC组件

更新时间:
复制 MD 格式

以开源RedPajama-Data的少量GitHub代码数据为例,演示如何使用PAI的大模型数据处理DLC组件对代码数据进行清洗,包括敏感信息打码、URL移除、文本标准化、Copyright移除、计数过滤、长度过滤、N-Gram重复过滤和文章相似度去重。

DLC组件基于分布式Ray框架,支持大规模数据处理和智能聚合,可减少不必要的数据存储操作。详细说明请参见大模型数据处理组件聚合成组

数据集说明

本工作流数据集从开源项目RedPajama-Data的原始数据中抽取5000个样本。

创建并运行工作流

  1. 进入Designer页面。

    1. 登录PAI控制台

    2. 在顶部左上角根据实际情况选择地域。

    3. 在左侧导航栏选择工作空间列表,单击指定工作空间名称,进入对应工作空间。

    4. 在左侧导航栏选择模型开发与训练 > 可视化建模(Designer),进入Designer页面。

  2. 创建工作流。

    1. 预置模板页签下,选择业务领域 > LLM 大语言模型,单击LLM大语言模型数据处理-github code - DLC组件模板卡片上的创建

    2. 配置工作流参数(或保持默认),单击确定

    3. 在工作流列表,选择已创建的工作流,单击进入工作流

  3. 工作流说明:

    工作流中关键算法组件说明:

    • LLM-敏感信息打码(DLC)-1

      将“content”字段中的敏感信息打码。例如:

      • 将邮箱地址字符替换成[EMAIL]

      • 将手机电话号码替换成[TELEPHONE][MOBILEPHONE]

      • 将身份证号码替换成IDNUM

    • LLM-特殊内容移除(DLC)-1

      将“content”字段中的URL链接删除。

    • LLM-文本标准化(DLC)-1

      对”content”字段的文本做Unicode标准化。

    • LLM-Copyright信息移除(DLC)-1

      删除“content”字段中的Copyright信息。

    • LLM-计数过滤(DLC)-1

      将“content”字段中不符合数字和字母字符占比,和不符合字母字符占文本token比例的样本去除。GitHub代码数据集中大部分字符都由字母和数字组成,通过该组件可以去除部分脏数据。

    • LLM-长度过滤(DLC)-1

      根据”content”字段的长度、平均长度和最大行长度过滤样本。平均长度和最大行长度按换行符\n分割文本后计算。

    • LLM-N-Gram重复比率过滤(DLC)-1

      根据”content”字段的字符级和词语级N-Gram重复比率过滤样本(统计前先将所有单词转成小写)。将文本按字符进行大小为N的滑动窗口操作,形成长度为N的片段序列。每个片段称为gram,统计所有gram的出现次数。最后计算频次大于1gram的频次总和 / 所有gram的频次总和的比率作为重复比率,过滤样本。

    • LLM-长度过滤(DLC)-2

      根据“content”字段的长度进行样本过滤。

    • LLM-文章相似度去重(DLC)-1

      根据设置的window_size、num_blockshamming_distance值去除相似的样本。

  4. 运行工作流。

    运行结束后,右键单击LLM-文章相似度去重(DLC)-1组件,选择查看数据 > 输出数据(OSS),查看所有组件处理后的样本文件。

    OSS文件列表中,可看到输出的JSONL格式样本文件,例如 pai_output_data_flow_tdjpk9ztiewm404h48_node_cftghqhnpnjl8cbs8a.jsonl

相关参考