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]
数据集概述
数据集名称
- 名称: 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-*



