Skip to content

Releases: IBM/unitxt

Unitxt 1.18.0 - Faster Loading

04 Feb 14:20
2ef9091
Compare
Choose a tag to compare

The main improvements in this version focus on caching strategies, dataset loading, and speed optimizations.

Hugging Face Datasets Caching Policy

We have completely revised our caching policy and how we handle Hugging Face datasets in order to improve performance.

  1. Hugging Face datasets are now cached by default.

This means that LoadHF loader will cache the downloaded datasets in the HF cache directory (typically ~/.cache/huggingface/datasets).

  • To disable this caching mechanism, use:
unitxt.settings.disable_hf_datasets_cache = True
  1. All Hugging Face datasets are first downloaded and then processed.

    • This means the entire dataset is downloaded, which is faster for most datasets. However, if you want to process a huge dataset, and the HF dataset supports streaming, you can load it in streaming mode
    LoadHF(name="my-dataset", streaming=True)
  2. To enable streaming mode by default for all Hugging Face datasets, use:

    unitxt.settings.stream_hf_datasets_by_default = True

While the new defaults (full download & caching) may make the initial dataset load slower, subsequent loads will be significantly faster.

Unitxt Datasets Caching Policy

By default, when loading datasets with unitxt.load_dataset, the dataset is prepared from scratch each time you call the function.
This ensures that any changes made to the card definition are reflected in the output.

  • This process may take a few seconds, and for large datasets, repeated loading can accumulate overhead.

  • If you are using fixed datasets from the catalog, you can enable caching for Unitxt datasets and thus cache the unitxt datasets.
    The datasets are cached in the huggingface cache (typically ~/.cache/huggingface/datasets).

    from unitxt import load_dataset
    
    ds = load_dataset(card="my_card", use_cache=True)

Faster Unitxt Dataset Preparation

To improve dataset loading speed, we have optimized how Unitxt datasets are prepared.

Background:

Unitxt datasets are converted to Hugging Face datasets because they store data on disk while keeping only the necessary parts in memory (via PyArrow). This enables efficient handling of large datasets without excessive memory usage.

Previously, unitxt.load_dataset used built-in Hugging Face methods for dataset preparation, which included unnecessary type handling and verification, slowing down the process.

Key improvements:

  • We now create the Hugging Face dataset directly, reducing preparation time by almost 50%.
  • With this optimization, Unitxt datasets are now faster than ever!

What's Changed

New Contributors

Full Changelog: 1.17.0...1.18.0

Unitxt 1.17.2

02 Feb 20:27
ce6e6b3
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.17.1...1.17.2

Unitxt 1.17.1

27 Jan 13:00
fddf5e3
Compare
Choose a tag to compare

What's Changed

Non backward compatible change

  • Renamed criterias in LLM-as-a-Judge metrics to criteria - Breaking change by @tejaswini in #1545

New features

New Assets

Documentation

Bug Fixes

New Contributors

Full Changelog: 1.17.0...1.17.1

Unitxt 1.17.0 - New LLM as Judges!

21 Jan 12:30
8f249ef
Compare
Choose a tag to compare

Importnat Changes

write abstract for update talk about unitxt covering the following topics:

  • Criteria based LLM as Judges - Improved class of llm as judges with customizable judging criteria (read more)
  • Unitxt assistant - A textual assistant expert in unitxt to help developers (read more)
  • New benchmarks: Tables, Vision - Benchmarks for table understanding and image understanding compiled by the community and collaborators (read more)
  • Support for all major inference providers - Inference for evaluation or llm as judges can be channel to any inference provider such as: azure, aws and watsonx (read more)

Detailed Changes

New Contributors

Full Changelog: 1.16.0...1.17.0

Unitxt 1.16.4

07 Jan 15:29
21b732c
Compare
Choose a tag to compare

What's Changed

  • Fix bootstrap condition to handle cases with insufficient instances by @elronbandel in #1490

Unitxt 1.16.3

07 Jan 14:57
d7fc247
Compare
Choose a tag to compare

What's Changed

Unitxt 1.16.2

07 Jan 10:28
4d24be8
Compare
Choose a tag to compare

What's Changed

New Contributors

Unitxt 1.16.1

05 Jan 12:48
028689c
Compare
Choose a tag to compare

1.16.0

23 Dec 14:35
f36f93c
Compare
Choose a tag to compare

Main Changes

What's Changed

Usability

Documentation

Bug Fixes

CI/CD

  • eliminate exceeding line_limit errors, and many red lines from "make docs-server" by @dafnapension in #1434

New Contributors

Full Changelog: 1.15.10...1.16.0

1.15.10

09 Dec 13:34
74a9ad8
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.15.9...1.15.10