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-*



