Il cuore del sistema è, come nel penultimo post, un transformer.
Per addestrarlo ho utilizzato un dataset basato su una raccolta di articoli Wikipedia.
Il processo di addestramento simula l'insegnante che corregge le cose dette dallo studente: legge domanda e contesto, genera una risposta, effettua delle verifiche e aggiusta i pesi della rete neurale.
Questo è reso possibile dalla seguente ripartizione dei dati: il 90% per il training e il 10% per la validazione.
Il test che ho preparato è parametrico rispetto alla temperatura di generazione delle risposte, come mostrato dall'output copiato direttamente dalla console:
Question: Explain why Rome is considered the capital of Italy and its historical significance.
Temperature 0.7: pivotal throughout history
Temperature 1.0: pivotal throughout history.
Temperature 2.0: it would provide great views
Question: Detail the events of 1969 that were significant for space exploration, particularly focusing on the Apollo 11 mission.
Temperature 0.7: the landing of Apollo 11 on the Moon
Temperature 1.0: landing of Apollo 11 on the Moon
Temperature 2.0: highlights of 1969 as one particular event of humanity's lifecycle.
Questi risultati mostrano come:
- Temperature basse (0.7) producono risposte conservative e coerenti
- Temperature medie (1.0) bilanciano coerenza e varietà
- Temperature alte (2.0) generano risposte creative ma meno affidabili
Poiché le risposte sono concise, potrebbe essere utile un ulteriore fine-tuning.
Fine-tuning: ulteriore addestramento, su un insieme di dati
specifico per un dato compito, di un modello IA pre-addestrato.
Ad esempio, una rete neurale addestrata su un vasto dataset
(come ImageNet) può essere messa a punto per riconoscere le
immagini in cui sono presenti solo determinati particolari che sfuggono
all'ispezione visiva. Spesso consiste nell'aggiornamento dei pesi degli ultimi
layer.
Mi fa pensare a uno studente che si specializza in un
determinato campo dopo aver maturato le abilità e competenze di base.