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.
Metadata
Release files for distflow 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| distflow-1.0.6.tar.gz | 2.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| distflow-1.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / distflow-1.0.6.tar.gz
| Download URL | distflow-1.0.6.tar.gz |
|---|---|
| Size | 2.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dcea5b4531364a71591cb861a5acd099b29ba221d3a3d193e8933c7a33fe12c6
|
|
BLAKE2b-256 checksum How to use checksums |
5104f50c7020464760a1187ba42916bcdaa5b99aff77e46bd4037db6cabea13f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / distflow-1.0.6-py3-none-any.whl
| Download URL | distflow-1.0.6-py3-none-any.whl |
|---|---|
| Size | 23.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4fd51f9e049dbd7b4c5d6aea79256aacf0fef5e0222a3228154f62d4416c16b
|
|
BLAKE2b-256 checksum How to use checksums |
c3567dd977e193e3d16edb319273468fb723c6c17420ac222463b24aec64cfe1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|