Cosa sono e cosa fanno

Immagine da unsplash.com

Quando ho iniziato a imparare HuggingFace, i raccoglitori di dati erano uno dei componenti meno intuitivi per me. Ho avuto difficoltà a capirli e non ho trovato risorse sufficientemente valide che li spiegassero in modo intuitivo.

In questo post, diamo un’occhiata a cosa sono i raccoglitori di dati, come differiscono e come scrivere un raccoglitore di dati personalizzato.

I raccoglitori di dati sono una parte essenziale dell’elaborazione dei dati in HuggingFace. Li abbiamo usati tutti dopo aver tokenizzato i dati e prima di passarli all’oggetto Trainer per addestrare il modello.

In poche parole, hanno messo insieme un elenco di campioni in un mini batch di formazione. Ciò che fanno dipende dall’attività per cui sono definiti, ma come minimo riempiono o troncano i campioni di input per assicurarsi che tutti i campioni in un mini batch abbiano la stessa lunghezza. Le dimensioni tipiche dei mini-batch vanno da 16 a 256 campioni, a seconda delle dimensioni del modello, dei dati e dei vincoli hardware.

I raccoglitori di dati lo sono specifico del compito. Esiste un raccoglitore di dati per ciascuna delle seguenti attività:

  • Modellazione del linguaggio causale (CLM)
  • Modellazione del linguaggio di mascheramento (MLM)
  • Classificazione della sequenza
  • Seq2Seq
  • Classificazione dei token

Alcuni raccoglitori di dati sono semplici. Ad esempio, per l’attività di “classificazione delle sequenze”, il raccoglitore di dati deve semplicemente riempire tutte le sequenze in un mini batch per garantire che abbiano la stessa lunghezza. Li concatenerebbe quindi in un tensore.

Alcuni raccoglitori di dati sono piuttosto complessipoiché devono gestire l’elaborazione dei dati per tale attività.

Due dei raccoglitori di dati più basilari sono i seguenti:

1)Collatore dati predefinito: Ciò non esegue alcuna imbottitura o troncamento. Si presuppone che tutti i campioni di input abbiano la stessa lunghezza. Se i campioni di input non hanno la stessa lunghezza, ciò genererebbe errori.

import torch
from transformers import DefaultDataCollator

texts = ("Hello world", "How are you?")

# Tokenize
from transformers import AutoTokenizer
tokenizer =…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *