five

OpenPO Preference Dataset|语言模型数据集|偏好数据数据集

收藏
github2024-11-27 更新2024-11-28 收录
语言模型
偏好数据
下载链接:
https://github.com/dannylee1020/openpo
下载链接
链接失效反馈
资源简介:
OpenPO Preference Dataset 是一个开源库,用于简化从200多个大型语言模型(LLMs)中收集、管理和利用偏好数据的过程。通过自动化不同LLM输出的比较和收集人类偏好,帮助开发者以最小的努力构建更好、更精细调优的语言模型。
创建时间:
2024-10-29
原始信息汇总

OpenPO 🐼

概述

OpenPO 是一个开源库,旨在简化收集、管理和利用偏好数据以优化大型语言模型(LLM)的过程。通过自动化不同LLM输出的比较并收集人类偏好,OpenPO帮助开发者以最小的努力构建更好、更精细调优的语言模型。

主要功能

  • 多LLM支持:支持从HuggingFace和OpenRouter调用任何模型,包括GPT、Claude、Llama和Mixtral等流行模型。
  • OpenAI API兼容性:无缝集成OpenAI风格的客户端API,便于迁移和熟悉的开发者体验。
  • 灵活存储:可插拔的适配器支持多种数据持久化选项。
  • 精细调优准备:结构化数据输出,可立即用于模型精细调优和偏好优化。

安装

从PyPI安装(推荐)

使用pip安装OpenPO: bash pip install openpo

从源码安装

克隆仓库后运行以下命令: bash cd openpo poetry install

快速开始

默认情况下,OpenPO客户端使用HuggingFace的InferenceClient调用HuggingFace Model Hub上的模型。

python import os from openpo.client import OpenPO

client = OpenPO(api_key="your-huggingface-api-key")

response = client.chat.completions.create_preference( model="Qwen/Qwen2.5-Coder-32B-Instruct", messages=[ {"role": "system", "content": PROMPT}, {"role": "system", "content": MESSAGE}, ], diff_frequency=0.5, # 生成偏好响应50%的时间 )

print(response.choices[0].message.content)

OpenPO也支持OpenRouter。

python import os from openpo.client import OpenPO

client = OpenPO( api_key=your-openrouter-api-key, base_url="https://openrouter.ai/api/v1/chat/completions" )

response = client.chat.completions.create_preference( model= "qwen/qwen-2.5-coder-32b-instruct", message=[ {"role": "system", "content": PROMPT}, {"role": "user", "content": MESSAGE}, ], diff_frequency=0.5 )

print(response.choices[0].message.content)

可以通过pref_params参数控制第二个响应的随机性。当前支持的参数包括temperaturefrequency_penalty

python response = client.chat.completions.create_preference( model="Qwen/Qwen2.5-Coder-32B-Instruct", message=[ {"role": "system", "content": PROMPT}, {"role": "user", "content": MESSAGE}, ], diff_frequency=0.5, pref_params={"temperature": 1.5, "frequency_penalty": 0.5}, )

数据保存

使用提供者轻松上传和下载数据。

python import os from openpo.client import OpenPO from openpo.providers.huggingface import HuggingFaceStorage

storage = HuggingFaceStorage(repo_id="my-dataset-repo", api_key="hf-token") client = OpenPO(api_key="your-huggingface-token")

preference = {} # 偏好数据需要以{"prompt": ..., "preferred": ..., "rejected": ...}格式保存以进行精细调优 storage.save_data(data=preference, filename="my-data.json")

结构化输出(JSON模式)

OpenPO支持使用Pydantic模型进行结构化输出。

python from pydantic import BaseModel from openpo.client import OpenPO

client = OpenPO(api_key="your-huggingface-api-key")

class ResponseModel(BaseModel): response: str

res = client.chat.completions.create_preference( model="Qwen/Qwen2.5-Coder-32B-Instruct", messages=[ {"role": "system", "content": PROMPT}, {"role": "system", "content": MESSAGE}, ], diff_frequency=0.5, response_format=ResponseModel, )

试用

设置环境变量后运行以下命令以在本地试用演示: bash export HF_API_KEY=<your-api-key> docker compose up --build

AI搜集汇总
数据集介绍
main_image_url
构建方式
OpenPO Preference Dataset的构建基于对200多种大型语言模型(LLMs)的输出进行成对比较,并通过自动化流程收集人类偏好数据。该数据集通过OpenPO库实现,该库能够调用HuggingFace和OpenRouter上的多种模型,包括GPT、Claude、Llama和Mixtral等。数据集的构建过程中,OpenPO库自动生成成对响应,并记录人类对这些响应的偏好,从而为模型微调提供结构化的数据输出。
特点
OpenPO Preference Dataset的主要特点包括多模型支持、OpenAI API兼容性、灵活的数据存储选项以及即用型的微调准备数据结构。该数据集支持从HuggingFace和OpenRouter调用多种模型,确保了数据的多样性和广泛性。此外,其与OpenAI API的兼容性使得开发者可以轻松迁移和使用熟悉的开发体验。数据集还提供了可插拔的存储适配器,支持多种数据持久化选项,确保数据的高效管理和利用。
使用方法
使用OpenPO Preference Dataset时,开发者可以通过pip安装OpenPO库,并利用HuggingFace或OpenRouter的API密钥进行初始化。通过调用OpenPO库中的相关方法,可以生成成对响应并收集人类偏好数据。数据集支持结构化输出,便于直接用于模型微调和偏好优化。此外,OpenPO库还提供了数据存储功能,开发者可以将收集到的偏好数据上传至HuggingFace等平台,以便进一步分析和使用。
背景与挑战
背景概述
OpenPO Preference Dataset,由一支专注于语言模型(LLM)偏好优化的研究团队开发,旨在简化从200多种LLM中收集偏好数据的过程。该数据集的核心研究问题是如何通过自动化比较不同LLM的输出并收集人类偏好,以最小化开发者的工作量,从而构建更精细调优的语言模型。OpenPO的开发不仅提升了LLM的性能,还为相关领域的研究提供了宝贵的数据资源,推动了语言模型优化技术的发展。
当前挑战
OpenPO Preference Dataset在构建过程中面临多项挑战。首先,如何确保从多种LLM中收集到的偏好数据的一致性和可靠性是一个关键问题。其次,数据集的灵活存储和高效管理,尤其是在处理大规模数据时,需要解决技术上的复杂性。此外,OpenPO还需应对不同模型在结构化输出上的不一致性,特别是在与OpenRouter等平台的集成中,这增加了数据处理的难度。最后,如何确保数据集的广泛适用性和易用性,以便于不同背景的开发者能够轻松利用,也是一项重要的挑战。
常用场景
经典使用场景
在自然语言处理领域,OpenPO Preference Dataset 被广泛用于生成对大型语言模型(LLM)输出的成对偏好数据。通过自动化比较不同LLM的输出并收集人类偏好,该数据集为开发者提供了丰富的数据资源,以优化和微调语言模型。例如,研究者可以利用此数据集进行模型性能评估,通过对比不同模型的响应质量,确定最优模型配置。
衍生相关工作
基于 OpenPO Preference Dataset,研究者们开发了多种用于模型微调和性能评估的工具和方法。例如,一些研究工作利用该数据集进行多模态数据融合,以提升模型的跨领域适应能力。此外,还有工作探讨了如何利用成对偏好数据进行无监督学习,进一步减少对标注数据的依赖。这些衍生工作不仅丰富了数据集的应用场景,也推动了相关领域的技术进步。
数据集最近研究
最新研究方向
在自然语言处理领域,OpenPO Preference Dataset的最新研究方向主要集中在语言模型偏好数据的收集与优化上。该数据集通过自动化生成成对响应,从200多个大型语言模型中收集偏好数据,为开发者提供了丰富的资源以进行模型微调。这一研究不仅推动了语言模型性能的提升,还为个性化和定制化语言模型的开发提供了坚实的基础。此外,OpenPO的开放性和兼容性使其成为当前研究热点,尤其是在结合HuggingFace和OpenRouter等平台的模型集成方面,展现了其在推动语言模型技术进步中的重要作用。
以上内容由AI搜集并总结生成
用户留言
有没有相关的论文或文献参考?
这个数据集是基于什么背景创建的?
数据集的作者是谁?
能帮我联系到这个数据集的作者吗?
这个数据集如何下载?
点击留言
数据主题
具身智能
数据集  4098个
机构  8个
大模型
数据集  439个
机构  10个
无人机
数据集  37个
机构  6个
指令微调
数据集  36个
机构  6个
蛋白质结构
数据集  50个
机构  8个
空间智能
数据集  21个
机构  5个
5,000+
优质数据集
54 个
任务类型
进入经典数据集
热门数据集

MultiTalk

MultiTalk数据集是由韩国科学技术院创建,包含超过420小时的2D视频,涵盖20种不同语言,旨在解决多语言环境下3D说话头生成的问题。该数据集通过自动化管道从YouTube收集,每段视频都配有语言标签和伪转录,部分视频还包含伪3D网格顶点。数据集的创建过程包括视频收集、主动说话者验证和正面人脸验证,确保数据质量。MultiTalk数据集的应用领域主要集中在提升多语言3D说话头生成的准确性和表现力,通过引入语言特定风格嵌入,使模型能够捕捉每种语言独特的嘴部运动。

arXiv 收录

中国区域交通网络数据集

该数据集包含中国各区域的交通网络信息,包括道路、铁路、航空和水路等多种交通方式的网络结构和连接关系。数据集详细记录了各交通节点的位置、交通线路的类型、长度、容量以及相关的交通流量信息。

data.stats.gov.cn 收录

VQA

我们提出了自由形式和开放式视觉问答 (VQA) 的任务。给定图像和关于图像的自然语言问题,任务是提供准确的自然语言答案。反映许多现实世界的场景,例如帮助视障人士,问题和答案都是开放式的。视觉问题有选择地针对图像的不同区域,包括背景细节和底层上下文。因此,与生成通用图像说明的系统相比,在 VQA 上取得成功的系统通常需要对图像和复杂推理有更详细的理解。此外,VQA 适合自动评估,因为许多开放式答案仅包含几个单词或一组封闭的答案,可以以多项选择的形式提供。我们提供了一个数据集包含 100,000 的图像和问题并讨论它提供的信息。提供了许多 VQA 基线,并与人类表现进行了比较。

OpenDataLab 收录

FER2013

FER2013数据集是一个广泛用于面部表情识别领域的数据集,包含28,709个训练样本和7,178个测试样本。图像属性为48x48像素,标签包括愤怒、厌恶、恐惧、快乐、悲伤、惊讶和中性。

github 收录

LinkedIn Salary Insights Dataset

LinkedIn Salary Insights Dataset 提供了全球范围内的薪资数据,包括不同职位、行业、地理位置和经验水平的薪资信息。该数据集旨在帮助用户了解薪资趋势和市场行情,支持职业规划和薪资谈判。

www.linkedin.com 收录