Giacomo Tesio <giacomo@tesio.it> writes: [...]
Per avere una _minima_ trasparenza servono:
- il codice - la documentazione - i dati di calibrazione (malamente detta "training") - anche per tutti i modelli alternativi provati - i valori iniziali delle reti prima della calibrazione - anche per tutti i modelli alternativi provati - i dati di cross validation [1] - i dati di test
[...]
Parliamo comunque di una trasparenza minima perché:
- queste informazioni permettono AL MASSIMO di verificare le affermazioni degli sviluppatori sulla metodologia di realizzazione del sistema replicandone il processo di creazione (una sorta di build replicabile per l'AI)
Bingo: il metodo! Spero siano tutti d'accordo sul fatto che un sistema AI debba produrre risultati basati su metodi scientifici; se la premessa è vera allora: http://akhlaghi.org/reproducible-science.html (merita una lettura completa, anche se la parte "Implementation" può essere implementata meglio [1]) --8<---------------cut here---------------start------------->8--- [...] Understanding the method that the result was obtained is more important than the result itself. [...] Other scientists should be able to reproduce, check and experiment on the results of anything that is to carry the "scientific" label. Any result that is not reproducible (due to incomplete information by the author) is not scientific: the readers have to have faith in the subjective experience of the authors in the very important choice of configuration values and order of operations: this is contrary to the definition of science. --8<---------------cut here---------------end--------------->8--- Possiamo ritenere i dati che hai elencato sopra (calibrazione, validazione, ecc.) come "configuration values" (software environment) e il sistema di build come "order of operations"? :-D Non so quali siano le pratiche comuni nel campo dell'AI, ma nella ricerca in genere la letteratura è colma di codice [2] che può essere eseguito solo con una catena di build (o in interprete) binaria, perché proprietaria. Se a questo aggiungiamo che spesso le soluzioni proposte per risolvere il problema della riproducibilità della ricerca sono inadeguate [3] il quadro è completo. Chiamala anche minima ma la "replicabilità dell'AI" sarebbe già un ENORME progresso rispetto alla situazione attuale, da quello che mi pare di capire sia la pratica. Sbaglio? Ovvio che poi ci deve essere qualcuno che ha la voglia e le risorse di replicare e sperimentare le ricerche altrui, ma questa è un'altra faccenda: non dico che sia secondaria, ma è altra.
- il costo energetico e l'hardware necessario per questa verifica è comparabile a quello usato durante la sua realizzazione, ma non può essere messo a disposizione dal "fornitore" perché potrebbe alterarlo.
Intuisco cosa vuoi dire con "potrebbe alterare l'hardware", ricordo di aver già detto cose anche in questa lista, ma espendere questa cosa ci porterebbe troppo lontano e nell'economia di questo thread IMHO è meglio di no :-)
Dunque in questo caso, le 4 libertà non bastano.
Giusto: possiamo dire che software (riproducibile e bootstrappable) e dati sono condizione necessaria e sufficiente per poter verificare un sistema AI? Ciao, Giovanni.
1) https://en.wikipedia.org/wiki/Cross-validation_(statistics)
[1] https://guix.gnu.org/blog/2020/reproducible-computations-with-guix/ [2] You hear this statement a lot from many scientists: "software is not my specialty, I am not a software engineer, so the quality of my code/processing doesn't matter. Why should I master good coding style (or release my code), when I am hired to do Astronomy/Biology?". [3] per non rimanere troppo vaghi, container Docker generati con Dockerfiles "spaghetti code" -- Giovanni Biscuolo