Context engineering

Immagine
  Negli ultimi mesi, chi lavora con i modelli linguistici ha iniziato a notare uno spostamento sottile ma significativo: il problema non è più cosa scrivere nel prompt , ma cosa mettere nel contesto . È la differenza tra dare un'istruzione ben formulata e costruire l'intero ambiente informativo in cui un modello deve operare — memoria, strumenti, cronologia, vincoli, stato del sistema. Si parla ormai apertamente di context engineering come disciplina distinta dal prompt engineering, e la distinzione non è solo terminologica. 🔹 1. Il prompt come istruzione, il contesto come ambiente Un prompt ben scritto ottimizza una singola interazione. Il contesto, invece, è tutto ciò che il modello "vede" prima di rispondere: documenti recuperati, risultati di strumenti, conversazioni pregresse, regole di sistema, persino la cronologia di errori già commessi in quella sessione. Con l'adozione crescente di agenti che lavorano su compiti lunghi — scrivere codice, orchestrare...

Corso di Reti Neurali per il Machine Learning: 6 Verso le architetture Transformer


Verso le architetture Transformer

Le architetture Transformer hanno rivoluzionato il campo dell’intelligenza artificiale, in particolare l’elaborazione del linguaggio naturale (NLP), ma anche la visione artificiale e la multimodalità. La loro forza risiede nella capacità di catturare relazioni a lungo raggio in sequenze di dati, superando i limiti delle reti ricorrenti (RNN, LSTM, GRU) e delle convoluzionali (CNN) in compiti linguistici e sequenziali.

1. Meccanismo di attenzione

  • Self-Attention: ogni parola di una frase “guarda” tutte le altre parole, attribuendo un peso (attenzione) diverso a seconda della loro rilevanza. Questo permette al modello di gestire contesti lunghi senza degradazione di memoria come accadeva nelle RNN.

  • Multi-Head Attention: più “teste” di attenzione lavorano in parallelo, ognuna catturando relazioni semantiche diverse (per esempio, una testa può cogliere concordanze grammaticali, un’altra la semantica tra soggetto e verbo).

  • Scalabilità: il calcolo dell’attenzione può essere parallelo, aumentando drasticamente la velocità di addestramento rispetto alle RNN.

2. Architettura Transformer

  • Encoder: riceve la sequenza in input, la rappresenta attraverso embedding e positional encoding, e applica blocchi di attenzione e feed-forward per produrre rappresentazioni contestualizzate.

  • Decoder: prende in input le rappresentazioni dell’encoder e le usa per generare sequenze in uscita (utile per traduzione automatica, generazione di testo, ecc.).

  • Positional Encoding: poiché il Transformer non è sequenziale, ha bisogno di un meccanismo che codifichi la posizione relativa degli elementi. Si usano quindi funzioni sinusoidali o embedding appositi che preservano l’informazione sulla sequenza.

3. Foundation Models: BERT, GPT, T5

  • BERT (Bidirectional Encoder Representations from Transformers): utilizza solo l’encoder. È ottimale per compiti di classificazione, sentiment analysis, named entity recognition (NER).

  • GPT (Generative Pretrained Transformer): basato sul decoder, è pensato per la generazione di sequenze testuali (chatbot, scrittura assistita).

  • T5 (Text-to-Text Transfer Transformer): trasforma ogni problema di NLP in un task di “traduzione” testuale, rendendo il modello molto flessibile per compiti eterogenei.

4. Fine-Tuning e Hugging Face

  • Approccio transfer learning: i Transformer vengono pre-addestrati su enormi dataset generici, e poi riadattati (fine-tuning) su dataset specifici con meno dati e costi computazionali ridotti.

  • Hugging Face Transformers: libreria open-source che mette a disposizione centinaia di modelli pre-addestrati, con interfacce semplici per il fine-tuning e l’integrazione in pipeline di NLP.

  • Esempi pratici:

    • Classificazione di recensioni positive/negative.

    • Riconoscimento di entità (NER).

    • Generazione di testo creativo o riassunti automatici.

5. Laboratorio pratico

Lab: Classificazione testuale con DistilBERT e fine-tuning su dataset custom

  • Introduzione a DistilBERT (versione leggera e veloce di BERT, con prestazioni simili ma minor costo computazionale).

  • Pipeline di Hugging Face per la classificazione del testo.

  • Preparazione di un dataset custom (es. recensioni di prodotti).

  • Addestramento e validazione del modello con valutazione delle metriche (accuracy, F1-score).

  • Test del modello su nuovi testi, interpretazione dei risultati.


Commenti

Post popolari in questo blog

Corso di Programmazione Strutturata e OOP: 3 Ereditarietà incapsulamento polimorfismo

Corso di CSS & Web Design: 3 – Box Model e spaziature

Corso di CSS & Web Design: 7 – Responsive Design