five

mlabonne/chatml-OpenHermes2.5-dpo-binarized-alpha

收藏
Hugging Face2024-03-21 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/mlabonne/chatml-OpenHermes2.5-dpo-binarized-alpha
下载链接
链接失效反馈
官方服务:
资源简介:
这是一个基于argilla/OpenHermes2.5-dpo-binarized-alpha的DPO数据集,名为chatml-OpenHermes2.5-dpo-binarized-alpha。数据集包含四个特征:chosen(选定答案), rejected(拒绝答案), question(问题), 和 delta_score(评分差异)。数据集分为训练集和测试集,训练集有8283个样本,测试集有914个样本。该数据集支持Intel格式,可以直接在Axolotl中使用,并具有过滤低分样本和通过delta_score排序实现课程学习的功能。

--- dataset_info: 数据集信息: 特征: - 字段名:chosen,数据类型:string - 字段名:rejected,数据类型:string - 字段名:question,数据类型:string - 字段名:delta_score,数据类型:float64 划分: - 划分名:train,字节数:22068209.02167253,样本数:8283 - 划分名:test,字节数:2398938.493877551,样本数:914 下载大小:14448647,数据集总大小:24467147.51555008 配置: - 配置名:default,数据文件: - 划分:train,路径:data/train-* - 划分:test,路径:data/test-* --- # chatml-OpenHermes2.5-dpo-binarized-alpha 本数据集属于DPO(Direct Preference Optimization,直接偏好优化)数据集,基于[argilla/OpenHermes2.5-dpo-binarized-alpha](https://huggingface.co/datasets/argilla/OpenHermes2.5-dpo-binarized-alpha)构建,具备以下特性: * **英特尔格式(Intel format)**:可直接在Axolotl中配合`"type: chatml.intel"`使用该数据集 * **低分样本过滤**:移除了delta_score(得分差值)小于1的样本(训练集共移除530条,测试集移除66条)。 * **课程学习(Curriculum Learning)**:按照`delta_score`列以降序对数据集进行排序。 ## 💻 复现代码 python !pip install -qqq datasets # 静默安装datasets库 from transformers import AutoTokenizer from datasets import load_dataset import pandas as pd # 加载原始数据集 dataset = load_dataset('argilla/OpenHermes2.5-dpo-binarized-alpha') def chatml_format(example): # 格式化用户指令 message = {"role": "user", "content": example['input']} input = tokenizer.apply_chat_template([message], tokenize=False, add_generation_prompt=False) # 格式化选中回复 chosen = tokenizer.apply_chat_template(example['chosen'], tokenize=False, add_generation_prompt=False)[len(input) + len("<|im_start|>assistant "):-len("<|im_end|> ")] # 格式化拒绝回复 rejected = tokenizer.apply_chat_template(example['rejected'], tokenize=False, add_generation_prompt=False)[len(input) + len("<|im_start|>assistant "):-len("<|im_end|> ")] # 计算得分差值 delta_score = abs(example['rating'][0] - example['rating'][1]) return { "question": example["input"], "chosen": chosen, "rejected": rejected, "delta_score": delta_score, } # 加载ChatML格式分词器 model_name = "mlabonne/NeuralHermes-2.5-Mistral-7B" tokenizer = AutoTokenizer.from_pretrained(model_name) # 格式化数据集 dataset_chatml = dataset.map( chatml_format, remove_columns=['input', 'conversations', 'generation_model', 'generation_prompt', 'raw_generation_responses', 'generations', 'views', 'system_prompt', 'model_name', 'language', 'id', 'hash', 'model', 'avatarUrl', 'custom_instruction', 'topic', 'title', 'idx', 'rejected_score', 'chosen_score', 'source', 'skip_prompt_formatting', 'category', 'rating', 'chosen_model', 'rejected_model'] ) # 移除低得分差值的样本 dataset_chatml = dataset_chatml.filter(lambda x: x["delta_score"] > 1.0) # 按照`delta_score`列以降序排序数据集 dataset_chatml = dataset_chatml.sort('delta_score', reverse=True) # 查看训练集第11个样本(索引从0开始计数) pd.DataFrame(dataset_chatml['train']).iloc[10]
提供机构:
mlabonne
原始信息汇总

数据集概述

数据集名称

  • 名称: chatml-OpenHermes2.5-dpo-binarized-alpha

数据集特征

  • 特征列表:
    • chosen: 数据类型为字符串
    • rejected: 数据类型为字符串
    • question: 数据类型为字符串
    • delta_score: 数据类型为浮点数(float64)

数据集分割

  • 训练集:
    • 示例数量: 8283
    • 存储大小: 22068209.02167253字节
  • 测试集:
    • 示例数量: 914
    • 存储大小: 2398938.493877551字节

数据集大小

  • 下载大小: 14448647字节
  • 数据集总大小: 24467147.51555008字节

配置信息

  • 默认配置:
    • 训练数据路径: data/train-*
    • 测试数据路径: data/test-*
二维码
社区交流群
二维码
科研交流群
商业服务