Biblioteca datasets & load_dataset() în Hugging Face Hub & Transformers

Date, Antrenare & Fine-Tuning Nivel: începător

Biblioteca standard pentru încărcarea, filtrarea și pre-procesarea ultra-rapidă a seturilor de date masive (chiar și mai mari decât memoria RAM) folosind Apache Arrow.

Sintaxă & invocare Python
from datasets import load_dataset

ds = load_dataset('cornell-movie-review-data/rotten_tomatoes', split='train')
ds_filtrat = ds.filter(lambda x: len(x['text']) > 50)
ds_tokenizat = ds_filtrat.map(functie_tokenizare, batched=True)

Descriere & Utilizare

Fie că descarci un set de date public de pe Hugging Face Hub, fie că încarci propriile tale fișiere locale (JSONL, CSV, Parquet), funcția load_dataset() oferă o interfață unificată și extrem de rapidă.

Spre deosebire de Pandas (care încarcă tot tabelul în memoria RAM), biblioteca datasets folosește sub capotă Apache Arrow cu mapare directă pe disc (memory-mapping). Aceasta înseamnă că poți deschide și parcurge un set de date de 100 GB pe un laptop cu doar 16 GB RAM fără să se blocheze!

Metodele .map(batched=True, num_proc=4) și .filter() procesează zeci de mii de rânduri în câteva secunde și salvează automat rezultatul în cache pe disc.

Cum să o reții ușor

💡 Ca vizionarea unui serial lung prin streaming în loc să descarci toate cele 10 sezoane în memoria telefonului: citești de pe disc exact episodul la care te uiți în acea secundă, cu viteză maximă.

Opțiuni și parametri tehnici

  • Stochează datele pe coloane în format binar Apache Arrow (zero-copy serialization).
  • Cu streaming=True, îți permite să începi antrenarea instantaneu pe seturi de date de terabiți direct de pe internet, fără a aștepta descărcarea lor.
  • Se integrează nativ cu PyTorch prin ds.with_format('torch').

Exemple practice și cazuri de utilizare

  • Încărcare fișiere JSONL locale pentru Fine-Tuning: ds = load_dataset('json', data_files={'train': 'date_ro.jsonl', 'test': 'validare.jsonl'})
  • Împărțire automată în Train și Test (90% / 10%): splits = ds.train_test_split(test_size=0.1, seed=42)
  • Streaming fără descărcare pe disc: ds_stream = load_dataset('HuggingFaceFW/fineweb', split='train', streaming=True)

Sfaturi de configurare & capcane

Când folosești .map() pentru tokenizarea unui set de date mare, adaugă întotdeauna batched=True. Tokenizatoarele Hugging Face sunt scrise în Rust și procesează loturi de 1000 de exemple de zeci de ori mai rapid decât rând cu rând.

Comenzi și ghiduri înrudite