five

KameshRsk/flan_cot

收藏
Hugging Face2024-06-11 更新2024-06-29 收录
下载链接:
https://hf-mirror.com/datasets/KameshRsk/flan_cot
下载链接
链接失效反馈
官方服务:
资源简介:
Cleaned FLAN v2 Dataset 8K数据集是一个经过清洗和处理的FLAN v2数据集,包含四个JSONL文件。数据集通过合并文件、过滤短响应(少于100个token的响应被移除)、以及使用余弦相似度进行去重(相似度大于0.95的条目被移除)等步骤进行处理。数据处理过程中使用了`bert-base-uncased`分词器和TF-IDF向量化器。

Cleaned FLAN v2 Dataset 8K数据集是一个经过清洗和处理的FLAN v2数据集,包含四个JSONL文件。数据集通过合并文件、过滤短响应(少于100个token的响应被移除)、以及使用余弦相似度进行去重(相似度大于0.95的条目被移除)等步骤进行处理。数据处理过程中使用了`bert-base-uncased`分词器和TF-IDF向量化器。
提供机构:
KameshRsk
原始信息汇总

Cleaned FLAN v2 Dataset 8K

数据集名称: Cleaned FLAN v2 Dataset
来源: SirNeural/flan_v2
包含文件:

  • cot_fs_noopt_train.jsonl
  • cot_fs_opt_train.jsonl
  • cot_zs_noopt_train.jsonl
  • cot_zs_opt_train.jsonl

数据处理与清洗

数据集的处理和清洗步骤如下:

  1. 合并JSONL文件:

    • 原始数据集包含四个独立的JSONL文件:
      • cot_fs_noopt_train.jsonl
      • cot_fs_opt_train.jsonl
      • cot_zs_noopt_train.jsonl
      • cot_zs_opt_train.jsonl
    • 这些文件被合并成一个名为cot_fs_noopt_train.jsonl的文件。
  2. 过滤短响应的指令:

    • 删除响应少于100个token的指令。
    • 使用bert-base-uncased分词器计算token数量。
  3. 基于余弦相似度的数据去重:

    • 使用输入和目标的组合文本识别并删除重复条目。
    • 使用TF-IDF向量化器将组合文本转换为向量。
    • 计算向量之间的余弦相似度,识别相似度大于0.95的重复条目。
    • 基于此阈值删除重复条目。

数据清洗代码

以下Python代码用于数据清洗:

python import json import pandas as pd from transformers import AutoTokenizer from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity import numpy as np

步骤1: 逐行读取JSONL文件

json_list = [] with open(/kaggle/input/arakooai-data/cot_fs_noopt_train.jsonl, r) as file: for line in file: json_obj = json.loads(line) json_list.append(json_obj)

步骤2: 规范化JSON数据

df = pd.json_normalize(json_list, sep=_)

如果存在task列,则删除

if task in df.columns: df.drop(task, axis=1, inplace=True)

初始化分词器

tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")

步骤2: 删除响应少于100个token的指令

def filter_long_responses(row): response_tokens = tokenizer(row[targets], truncation=False)[input_ids] return len(response_tokens) >= 100

filtered_df = df[df.apply(filter_long_responses, axis=1)]

步骤3: 基于余弦相似度的数据去重

将输入和目标组合成单个字符串进行去重

filtered_df[combined] = filtered_df[inputs] + " " + filtered_df[targets]

使用TF-IDF向量化器进行余弦相似度计算

vectorizer = TfidfVectorizer().fit_transform(filtered_df[combined]) vectors = vectorizer.toarray()

计算余弦相似度矩阵

cosine_sim_matrix = cosine_similarity(vectors)

创建去重掩码(阈值>0.95)

threshold = 0.95 similar_pairs = np.argwhere(cosine_sim_matrix > threshold) to_remove = set()

for i, j in similar_pairs: if i != j and i not in to_remove and j not in to_remove: to_remove.add(j) # 删除重复项

删除重复项

indices_to_keep = [i for i in range(len(filtered_df)) if i not in to_remove] deduplicated_df = filtered_df.iloc[indices_to_keep]

步骤4: 将清洗后的数据集保存到本地

deduplicated_df.drop(columns=[combined], inplace=True) deduplicated_df.to_csv(/kaggle/working/cleaned_output.csv, index=False)

print("数据集已清洗并保存为CSV")

致谢

  • 原始数据集由SirNeural/flan_v2提供。
  • 使用的分词器:bert-base-uncased来自Hugging Face。
搜集汇总
数据集介绍
main_image_url
构建方式
在自然语言处理领域,指令微调数据集的质量直接影响模型的泛化能力。KameshRsk/flan_cot数据集源自SirNeural/flan_v2原始语料,经过系统性清洗与重构而成。构建过程首先将原始四个JSONL文件(涵盖少样本与零样本、有无优化策略的思维链数据)合并为单一文件,随后利用bert-base-uncased分词器筛选出响应长度不低于100个token的指令样本,以剔除过于简短的无效数据。最后,通过TF-IDF向量化将输入与目标文本转化为特征向量,并基于余弦相似度阈值0.95进行去重,移除高度相似的重复条目,确保数据集的精简与独特性。
特点
该数据集的核心特点在于其聚焦于思维链(Chain-of-Thought)的指令微调场景,融合了少样本与零样本两种学习范式,并区分了是否采用优化策略,覆盖了多样的推理任务形态。经过严格清洗后,数据集不仅剔除了低质量短响应样本,还通过高阈值的语义去重机制消除了冗余信息,从而在保持数据多样性的同时提升了样本的简洁性与代表性。此外,数据格式统一为JSONL结构,便于直接加载与处理,为后续模型训练提供了高质量的基础。
使用方法
使用该数据集时,可直接通过HuggingFace的datasets库加载,或读取提供的JSONL文件进行自定义处理。推荐将数据划分为训练集与验证集,以评估模型在思维链推理任务上的表现。在训练前,可结合预训练分词器对输入与目标文本进行编码,并设置最大长度参数以适配模型容量。为充分发挥思维链数据优势,建议采用序列到序列的训练框架,并配合教师强制或自回归生成策略,从而提升模型在复杂推理场景中的泛化能力。
背景与挑战
背景概述
近年来,大规模语言模型在自然语言处理领域取得了突破性进展,而指令微调数据集作为提升模型泛化能力与任务遵循能力的关键资源,受到广泛关注。Clean FLAN v2 Dataset 8K 正是在这一背景下由研究者 KameshRsk 基于 SirNeural 发布的 flan_v2 原始数据集构建而成,旨在提供更高质量、更紧凑的指令微调训练数据。该数据集整合了四种不同格式的思维链(Chain-of-Thought)训练样本,包括少样本与零样本、有无优化策略的变体,核心研究问题在于如何通过系统化的数据清洗流程去除冗余与低质量样本,从而提升模型在复杂推理任务上的表现。该数据集的出现为指令微调领域提供了一种高效的数据预处理范式,对推动大规模语言模型在推理能力上的精细化训练具有重要参考价值。
当前挑战
该数据集面临的核心挑战体现在多个层面。在领域问题层面,指令微调数据集中普遍存在响应长度不足、语义重复等质量问题,这些问题会削弱模型对复杂指令的理解与执行能力,尤其当模型需要依赖长上下文进行推理时,短响应样本可能引入噪声。在构建过程中,研究者需应对技术性难题:首先,原始数据包含四个独立JSONL文件,需在合并时确保数据一致性;其次,通过Tokenizer过滤响应长度小于100 Token的样本时,需平衡数据量减少与质量提升的关系;最后,采用TF-IDF向量化结合余弦相似度进行去重时,阈值为0.95的设定需谨慎验证以避免误删语义相近但功能不同的样本,这些问题共同构成了数据集构建与后续应用中的关键挑战。
常用场景
经典使用场景
KameshRsk/flan_cot数据集广泛应用于大语言模型的指令微调与思维链推理能力增强研究。该数据集通过对FLAN v2原始语料进行清洗,包括过滤短回复(响应token数低于100)、基于TF-IDF与余弦相似度(阈值0.95)的去重处理,保留了高质量、长文本的指令-答案对。研究者常利用该数据集训练模型掌握复杂推理任务,例如在零样本或少样本条件下执行数学问题、常识推理及多步逻辑推导,从而提升模型对结构化指令的理解与泛化能力。
衍生相关工作
基于该数据集,研究者衍生出多项经典工作。例如,部分工作聚焦于对比不同清洗策略(如基于困惑度过滤与基于语义去重)对指令微调效果的影响;另一些研究则将其与Self-Instruct、Unnatural Instructions等数据集结合,构建多源混合训练范式。此外,该数据被用于验证参数高效微调方法(如LoRA、Adapter)在思维链任务中的适配性,以及作为基准评估模型在跨任务泛化与抗噪声鲁棒性方面的进展。
数据集最近研究
最新研究方向
在自然语言处理领域,指令微调数据集的质量与多样性已成为提升大语言模型泛化能力的关键。KameshRsk/flan_cot数据集作为FLAN v2的精细加工版本,聚焦于思维链推理样本的清洗与优化,通过合并多源JSONL文件、剔除短响应指令(<100 tokens)及基于余弦相似度(阈值0.95)的去重操作,显著降低了数据冗余与噪声。这一方向紧密关联当前大模型研究的热点——如何从海量指令数据中筛选高质量、低重复的推理样本,以增强模型在零样本与少样本场景下的逻辑连贯性。该数据集的意义在于,为构建更鲁棒的CoT推理基准提供了高效预处理范式,推动了指令微调从规模驱动向质量优先的转变,对提升模型在复杂任务中的可解释性与可靠性具有重要影响。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务