Skip to main content

Distance Computation Package for Data Preparation Bench

Project description

Data-Preparation-Bench

A benchmark for evaluating the data preparation capabilities of large language models (LLMs). The benchmark is organized into two modules:

Modules

1. Data Synthesis & Augmentation

Given raw metadata, the model is tasked with synthesizing or augmenting datasets to improve downstream model training.

2. Data Quality Assessment

Given raw metadata, the model is tasked with predicting the training data's impact on downstream task performance.

Quick Start

Usage

The package is published on PyPI and can be installed via pip:

pip install distflow

For vLLM embedding support, install the optional dependency:

pip install distflow[vllm]

This project uses uv for dependency management. To get started:

git clone https://github.com/haolpku/Data-Preparation-Bench.git
cd Data-Preparation-Bench
uv sync

To use your own datasets, modify the configuration dictionaries and formatters in compute_mmd.py:

DS1_CONFIG = {
    "name": "oda-math",
    "data_path": "OpenDataArena/ODA-Math-460k",
    "data_size": 5000,
    "split": "train",
    "shuffle_seed": 42,
}
formatter1 = AlpacaFormatter(
    user_key="question",
    assistant_key="response",
)

DS2_CONFIG = {
    "name": "infinity-instruct",
    "data_path": "BAAI/Infinity-Instruct",
    "data_size": 5000,
    "split": "train",
    "shuffle_seed": 42,
}
formatter2 = ShareGptFormatter(
    conversations_key="conversations",
)

Typically, you only need to update data_path with your dataset and define a formatter that converts raw items to the required format. After making these changes, run the MMD computation with:

uv run examples/compute_mmd.py

Development

To set up the development environment locally:

uv sync --extra dev
uv run pre-commit install

Before committing, format and lint the code:

uv run pre-commit run --all-files

Experiment Settings

Please refer to Experiment.md for detailed experiment configurations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

distflow-1.0.5.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

distflow-1.0.5-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file distflow-1.0.5.tar.gz.

File metadata

  • Download URL: distflow-1.0.5.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for distflow-1.0.5.tar.gz
Algorithm Hash digest
SHA256 63d6ae90ac69852372285f3753f767462ea051c764e0fd851b277bfe31b41616
MD5 8f4fa6ad5616b8fead55dd33398933f6
BLAKE2b-256 78193b95dd6cd523922b4213ff90acf31847c2a8d914f8487ff97c1150b2331e

See more details on using hashes here.

File details

Details for the file distflow-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: distflow-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for distflow-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 35e2b56e81b1e3f23d18894333bd2bb97af3a98d2b10317238bedc4ce4766e59
MD5 4ff3ce4627e8a75b1ef45f7320d296e3
BLAKE2b-256 24b633ad83ba5c4e39929b4cc2f19e304a1be00bf732479d296fbd0b876fa485

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page