HuggingFace presenta TextEnvironments un orchestratore tra un modello di apprendimento automatico e un insieme di strumenti (funzioni Python) che il modello può chiamare per risolvere specifici compiti.

Il Supervised Fine-tuning (SFT), il Reward Modeling (RM) e il Proximal Policy Optimization (PPO) fanno tutti parte di TRL. In questa libreria full-stack, i ricercatori forniscono strumenti per addestrare modelli di linguaggio del transformer e modelli di diffusione stabili con Reinforcement Learning. La libreria è un’estensione della collezione transformers di Hugging Face. Pertanto, i modelli di linguaggio possono essere caricati direttamente tramite transformers dopo essere stati pre-addestrati. La maggior parte dei design di decodificatori e degli encoder-decoder è attualmente supportata. Per frammenti di codice e istruzioni su come utilizzare questi programmi, consultare il manuale o la sottodirectory degli esempi.

Punti salienti

  • Sintonizza facilmente modelli di linguaggio o adattatori su un dataset personalizzato con l’aiuto di SFTTrainer, un wrapper leggero e user-friendly intorno a Transformers Trainer.
  • Per modificare rapidamente e precisamente i modelli di linguaggio per le preferenze umane (Reward Modeling), è possibile utilizzare RewardTrainer, un wrapper leggero su Transformers Trainer.
  • Per ottimizzare un modello di linguaggio, PPOTrainer richiede solo triplette (query, risposta, ricompensa).
  • Viene presentato un modello di transformer con una uscita scalare aggiuntiva per ogni token che può essere utilizzata come funzione di valore nel reinforcement learning in AutoModelForCausalLMWithValueHead e AutoModelForSeq2SeqLMWithValueHead.
  • Allenare GPT2 per scrivere recensioni di film favorevoli utilizzando un classificatore di sentiment BERT; implementare un RLHF completo utilizzando solo adattatori; rendere GPT-j meno tossico; fornire un esempio di stack-llama, ecc.

Come funziona TRL?

In TRL, un modello di linguaggio del transformer viene addestrato per ottimizzare un segnale di ricompensa. Esperti umani o modelli di ricompensa determinano la natura del segnale di ricompensa. Il modello di ricompensa è un modello di Machine Learning che stima i guadagni da un determinato flusso di output. Proximal Policy Optimization (PPO) è una tecnica di reinforcement learning che TRL utilizza per addestrare il modello di linguaggio del transformer. Poiché è un metodo di policy gradient, PPO impara modificando la policy del modello di linguaggio del transformer. La policy può essere considerata una funzione che converte una serie di input in un’altra.

Utilizzando PPO, un modello di linguaggio può essere sintonizzato in tre modi principali:

  • Rilascio: Il modello linguistico fornisce un possibile inizio di frase in risposta a una domanda.
  • L’valutazione può coinvolgere l’uso di una funzione, un modello, il giudizio umano o una combinazione di questi fattori. Ogni coppia query/risposta dovrebbe alla fine produrre un singolo valore numerico.
  • Il punto più difficile è senza dubbio l’ottimizzazione. Le log-probabilità dei token nelle sequenze sono determinate utilizzando le coppie query/risposta nella fase di ottimizzazione. A tale scopo vengono utilizzati il modello addestrato e un modello di riferimento (spesso il modello pre-addestrato prima della sintonizzazione). Un segnale di ricompensa aggiuntivo è la divergenza KL tra le due uscite, che garantisce che le risposte generate non siano troppo distanti dal modello di linguaggio di riferimento. PPO viene quindi utilizzato per addestrare il modello operativo di linguaggio.

Caratteristiche principali

  • Rispetto ai metodi più convenzionali per addestrare modelli di linguaggio del transformer, TRL ha diversi vantaggi.
  • Oltre alla creazione di testo, alla traduzione e alla sintesi, TRL può addestrare modelli di linguaggio del transformer per una vasta gamma di altre attività.
  • L’addestramento di modelli di linguaggio del transformer con TRL è più efficiente rispetto alle tecniche convenzionali come il supervised learning.
  • La resistenza al rumore e agli input avversari è migliorata nei modelli di linguaggio del transformer addestrati con TRL rispetto a quelli appresi con approcci più convenzionali.
  • TextEnvironments è una nuova funzionalità in TRL.

Gli TextEnvironments in TRL sono un insieme di risorse per lo sviluppo di modelli di linguaggio Transformer basati su RL. Consentono la comunicazione con il modello di linguaggio del transformer e la produzione di risultati, che possono essere utilizzati per sintonizzare le prestazioni del modello. TRL utilizza classi per rappresentare gli TextEnvironments. Le classi in questa gerarchia rappresentano vari contesti che coinvolgono testi, ad esempio, contesti di generazione di testo, contesti di traduzione e contesti di sintesi. Diversi lavori, tra cui quelli elencati di seguito, hanno utilizzato TRL per addestrare modelli di linguaggio del transformer.

Rispetto al testo creato da modelli addestrati utilizzando metodi più convenzionali, i modelli di linguaggio del transformer addestrati con TRL producono scritti più creativi ed informativi. È stato dimostrato che i modelli di linguaggio del transformer addestrati con TRL sono superiori a quelli addestrati con approcci più convenzionali nella traduzione di testo da una lingua all’altra. Il linguaggio del transformer (TRL) è stato utilizzato per addestrare modelli in grado di riassumere il testo in modo più preciso e conciso rispetto a quelli addestrati utilizzando metodi più convenzionali.

Per ulteriori dettagli visita la pagina GitHub https://github.com/huggingface/trl 

Per riassumere:

TRL è un metodo efficace per utilizzare RL per addestrare modelli di linguaggio transformer. Rispetto ai modelli addestrati con metodi più convenzionali, i modelli di linguaggio transformer addestrati con TRL hanno prestazioni migliori in termini di adattabilità, efficienza e robustezza. L’addestramento di modelli di linguaggio transformer per attività come la generazione di testo, la traduzione e la sintesi può essere realizzato mediante l’utilizzo di TRL.