[nexa] Why wordfreq will not be updated

2024-09-20 Thread Giacomo Tesio
The wordfreq data is a snapshot of language that could be found in
various online sources up through 2021. There are several reasons why
it will not be updated anymore. 

# Generative AI has polluted the data

I don't think anyone has reliable information about post-2021 language
usage by humans.

The open Web (via OSCAR) was one of wordfreq's data sources. Now the
Web at large is full of slop generated by large language models,
written by no one to communicate nothing. Including this slop in the
data skews the word frequencies. [...]

As one example, [Philip Shapira reports]() that ChatGPT (OpenAI's
popular brand of generative language model circa 2024) is obsessed with
the word "delve" in a way that people never have been, and caused its
overall frequency to increase by an order of magnitude.

## Information that used to be free became expensive

[...] Even if X made its raw data feed available (which it doesn't),
there would be no valuable information to be found there.

Reddit also stopped providing public data archives, and now they sell
their archives at a price that only OpenAI will pay.

## I don't want to be part of this scene anymore

wordfreq used to be at the intersection of my interests. I was doing
corpus linguistics in a way that could also benefit natural language
processing tools.

The field I know as "natural language processing" is hard to find these
days. It's all being devoured by generative AI. Other techniques still
exist but generative AI sucks up all the air in the room and gets all
the money. It's rare to see NLP research that doesn't have a dependency
on closed data controlled by OpenAI and Google, two companies that I
already despise.

wordfreq was built by collecting a whole lot of text in a lot of
languages. That used to be a pretty reasonable thing to do, and not the
kind of thing someone would be likely to object to. Now, the
text-slurping tools are mostly used for training generative AI, and
people are quite rightly on the defensive. If someone is collecting all
the text from your books, articles, Web site, or public posts, it's
very likely because they are creating a plagiarism machine that will
claim your words as its own.

So I don't want to work on anything that could be confused with
generative AI, or that could benefit generative AI.


https://github.com/rspeer/wordfreq/blob/master/SUNSET.md



[1] https://pshapira.net/2024/03/31/delving-into-delve/


Re: [nexa] Copyright law makes a case for requiring data information rather than open datasets for Open Source AI - Felix Reda

2024-09-16 Thread Giacomo Tesio
Salve Maria Chiara,

Il 17 Settembre 2024 00:43:38 UTC, Maria Chiara Pievatolo ha scritto:
> 
> L'Unione Europea abbraccia formalmente i principi della scienza aperta.

Beh anche l'OSI abbraccia "formalmente" i "principi dell'Open Source".

Ma propone una definizione di Open Source AI che ammette le black box.


Pensaci... Open Source Black Box!

Sarebbe ridicolo, l'ennesima prova della mala fede dell'organizzazione che ha 
rifiutato la SSPL
su indicazione di Amazon.

Ma purtroppo la definizione avrà un ruolo legale, aprendo un loophole enorme 
nella normativa. 


> non si vede perché i SALAMI debbano (e possano) essere offerti come scatole 
> nere, 
> e sottratti all'indagine scientifica pubblica, in nome di una concezione 
> proprietaria
> del copyright.

Perché lo dice l'OSI?
Già, perché OSI lo dice?

Non certo nell'interesse della ricerca scientifica, della sicurezza informatica 
o della
tutela delle minoranze che subiranno le consuete discriminazioni, ma in modo 
automatizzato
e su una nuova scala.

Cui prodest?

Fortuna vuole che basterà guardare gli sponsor dell'OSI e delle organizzazioni 
che faranno
endorsement per questa definizione così smaccatamente contraria ai principi che
dichiara in premessa, per scoprirlo.


D'altro canto l'OSI ha un Board of Directors:


Persone che si stanno assumendo pubblicamente la responsabilità morale dei 
danni che
queste black box open washed faranno.

Segnamoci i loro nomi e teniamo traccia di dove li porteranno le sliding doors 
alla fine del loro mandato.

Sono certo che spiegherà molte cose.


Giacomo


[nexa] Open Washing AI definition by OSI?

2024-09-16 Thread Giacomo Tesio
Ciao a tutti, un piccolo aggiornamento dal fronte^W forum 
dell'OSI dedicato alla definizione della "Open Source AI".


10 minuti prima di scrivere una risposta alla mia proposta, Nick Vidal
(Community Manager di OSI) mi ha silenziato su discuss.opensource.org
senza alcun contatto precedente (di seguito la comunicazione).


La cosa è particolarmente interessante perché subito dopo ha scritto
una risposta in cui mi pone alcune domande e ha chiuso il thread senza
darmi modo di rispondere, ironicamente accusandomi di non lasciare
spazio agli altri per commentare. 

Il tutto dopo quasi 24 ore di silenzio sul forum.  ¯\_(ツ)_/¯

https://discuss.opensource.org/t/rfc-separating-concerns-between-source-data-and-processing-information/568/2


Poco dopo ha chiesto endorsements pubblici [1] per una definizione
che, di fatto, non garantisce né la libertà di studio né quella di
modifica, ma solo quella di fine tuning, permettendo ovvie forme di
open washing nonché di nascondere nei modelli "open source" sia
backdoor [2] che bias contro minoranze specifiche, senza che nessuno
possa esaminare i dataset sorgente per individuarle e rendendo di fatto
meno sicuro l'intero ecosistema open source.


Sarebbe stato interessante discutere invece del merito della proposta
che, non richiedendo la redistribuzione di dataset già disponibili
online, non richiede che gli sviluppatori che li utilizzano per
il training li debbano redistribuire.


Quanto al fatto che sia tecnicamente impossibile ricalcolare
esattamente i pesi di un LLM dalle informazioni e dai dati sorgente, 
è ovviamente una sciocchezza a meno di bug hardware di cui comunque è
sempre possibile evitare il verificarsi.


Vidal lo sa.

Allora perché questo nervosismo?
Perché questa fretta di raccogliere endorsements su una bozza
ancora evidentemente prematura?



In qualunque caso, una definizione di Open Source AI che non garantisca
né la studiabilità dei dati utilizzati per il calcolo dei pesi né la
riproducibilità del processo, favorirà ogni sorta di open washing,
aprendo un enorme loophole anche nella normativa dell'AI Act. [3]


Con l'account sospeso non posso fare molto né per rispondere alle
domande di Vidal, né per migliorare la proposta, ma vi invito a
partecipare attivamente al dibattito (nella speranza che abbiate
maggior fortuna e non veniate anche voi silenziati).



Giacomo

[1]
https://discuss.opensource.org/t/endorse-the-open-source-ai-definition/570

[2] https://arxiv.org/abs/2204.06974

[3] come in effetti aveva già ipotizzato Claudio a Giugno.

_

Data: Mon, 16 Sep 2024 19:28:00 +
Da: OSI Discuss 
A: giac...@tesio.it
Oggetto: [OSI Discuss] Your account has been silenced


You have been silenced from the forum until September 23, 2024,  7:27pm.

Reason - Would not listen to staff feedback

Please present new arguments, don’t open new topics repeating the same
arguments over and over, and leave space for others to comment. Don’t
flood the conversation and be respectful of the guidelines.



Re: [nexa] Copyright law makes a case for requiring data information rather than open datasets for Open Source AI - Felix Reda

2024-09-15 Thread Giacomo Tesio
Ciao Stefano,

On Sun, 15 Sep 2024 10:31:56 +0200 Stefano Zacchiroli wrote:

> https://opensource.org/blog/copyright-law-makes-a-case-for-requiring-data-information-rather-than-open-datasets-for-open-source-ai

dopo aver letto attentamente le considerazioni di Felix Reda e di
Stefano Maffulli ed approfondito varie questioni correlate, ho deciso
di proporre questa modifica:

https://discuss.opensource.org/t/rfc-separating-concerns-between-source-data-and-processing-information/568

In sintesi, si tratta di distinguere fra "source data" e "processing
information".

I dati sorgente devono essere completamente disponibili al pubblico 
o sotto una licenza opensource o sotto gli stessi termini che ne hanno
permesso l'utilizzo durante il training da parte degli sviluppatori 
del sistema.

Le informazioni di processo devono essere esaustive e disponibili sotto
una licenza opensource.


Che ne pensi?


Giacomo
PS: aveva ragione Claudio a preoccuparsi della questione già a Giugno.
https://server-nexa.polito.it/pipermail/nexa/2024-June/052852.html


[nexa] LLMs Will Always Hallucinate, and We Need to Live With This

2024-09-14 Thread Giacomo Tesio
As Large Language Models become more ubiquitous across domains, it
becomes important to examine their inherent limitations critically.
This work argues that hallucinations in language models are not just
occasional errors but an inevitable feature of these systems. We
demonstrate that hallucinations stem from the fundamental mathematical
and logical structure of LLMs. It is, therefore, impossible to
eliminate them through architectural improvements, dataset
enhancements, or fact-checking mechanisms. Our analysis draws on
computational theory and Godel's First Incompleteness Theorem, which
references the undecidability of problems like the Halting, Emptiness,
and Acceptance Problems. We demonstrate that every stage of the LLM
process-from training data compilation to fact retrieval, intent
classification, and text generation-will have a non-zero probability of
producing hallucinations. This work introduces the concept of
Structural Hallucination as an intrinsic nature of these systems. By
establishing the mathematical certainty of hallucinations, we challenge
the prevailing notion that they can be fully mitigated. 

https://arxiv.org/abs/2409.05746

Naturalmente, una volta compreso che si tratta di compressioni lossy dei
testi usati per programmarli, una presenza di artefatti grosso modo
inversamente proporzionale al livello di compressione è ovvia.


Ma magari un articolo scritto nella lingua parlata dai believer
della AI è utile a far scoppiare un po' di bolle (pustole? :-D)


Giacomo


Re: [nexa] "pogrammazione statistica" o "intelligenza artificiale"? [era: AI Training is Copyright Infringement]

2024-09-14 Thread Giacomo Tesio
Ciao Alfredo,

On Thu, 12 Sep 2024 23:48:27 +0200 "Alfredo Bregni" wrote:

> NON C'E' "equivalenza fra dato e programma".
> SONO TUTTI DATI.

Amen!
Sono letteralmente anni che lo sostengo:
https://video.linuxtrent.it/w/sWFcXj4DpWPTkvdi7jA61u?start=18m18s


Il problema era fornire una dimostrazione solida a Giuseppe
che sostiene l'esistenza di una differenza fra dati e programmi.

Una volta superata questa differenza, tutta una serie di problemi
viene meno. Ad esempio, una volta chiarito che le "reti neurali
artificiali" non sono altro che macchine programmabili 
statisticamente per mappare due spazi vettoriali, il fatto che i
"modelli" non siano altro che l'eseguibile che ne definisce il
comportamento appare evidente, come appare evidente che tale 
eseguibile sia il prodotto del processo di compilazione dei
dataset sorgente.

Con tutto ciò che ne consegue in termini di diritto d'autore.


Se poi per compiacere OpenAI decidessero che la compilazione
fa venir meno il diritto d'autore, io ne sarei felicissimo!
Purché valga per tutti i processi di compilazione, non solo 
a quelli che fanno comodo a OpenAI & friends!

Ad esempio, se gli LLM sono sollevati dal copyright degli autori
che ne hanno scritto il sorgente, allora devono esserlo neanche i
binari per Windows o iOS.

Tutto qui.


Ora non ci resta che aspettare il file non-eseguibile di Giuseppe.
Non tratterrei il fiato, comunque... ;-)


Giacomo

PS 

> >>non è un computer, ma non è un amplificatore  
>
> E' un computer (banale), che sposta il dato di memoria 
> (chiamato pomposamente "istruzione") da dentro a fuori.

No, non è un computer perché non fa calcoli.

Sulla banalità non saprei... tu quante ne hai a casa? :-D

Comunque è una macchina programmabile. E non è inutile.

Prendi una semplice automobilina telecomandata di quelle
super-economiche che sterzano solo in un verso e connetti
la mia macchina programmabile ai cavetti che controllano 
lo sterzo.

Hai appena costruito un'automobilina programmabile a cassette.


Re: [nexa] Learning to reason [but not to count] with LLMs

2024-09-14 Thread Giacomo Tesio
Ciao Antonio,

On Sat, 14 Sep 2024 16:43:07 +0200 Antonio wrote:

> Prima c'era la scelta casuale per simulare il "pensiero creativo",
> ora c'è il ritardo per simulare il "pensiero ragionato".

Il dizionario AI <-> Informatica si arricchisce di un nuovi elementi:

 Informatica| AI
 ---|-
   Software |   Modello
|
 Compilazione   |  Training
|
Programmatore   | Data Scientist
|
 Bug| Hallucination
|
   Bugfix   |   ¯\_(ツ)_/¯ 
|   (see Boeing 747 Max)
|
 /dev/random|   Creativity
|
  Data Augmentation | Chain of Thought
|
 "Loading..."   |"I'm thinking..."
|


> Forse sarebbe meglio abbandonare definitivamente OpenAI al suo
> destino e (ri)concentrarci sull'informatica "classica".

Tipo da Dijkstra? ;-)
https://www.cs.utexas.edu/~EWD/transcriptions/EWD08xx/EWD898.html


Più in generale bisognerebbe deridere chiunque antropomorfizzi cose.
E allontanarlo da qualsiasi ruolo decisionale.


E' urgente trovare un modo più serio e scientifico di definire,
insegnare e discutere queste tecniche di programmazione statistica, 
ma di per sé le tecniche non sono completamente da buttare.

Possono avere una loro applicabilità nei video giochi, ad esempio,
la cui programmazione potrebbe avvicinare molti ragazzini.


La matematica necessaria a comprendere il processo di
programmazione statistica di una Vector Reducing Machine
è quella che si fa al quarto / quinto anno delle superiori.

E scrivere una Vector Reducing Machine in Python richiede
un centinaio di righe di codice scarse. [1]


Giacomo

[1] ad esempio
https://github.com/Shamar/ANN-decompiler/blob/master/vmm.py


Re: [nexa] "pogrammazione statistica" o "intelligenza artificiale"? [era: AI Training is Copyright Infringement]

2024-09-12 Thread Giacomo Tesio
Ciao Alfredo,

On Thu, 12 Sep 2024 17:14:43 +0200 "Alfredo Bregni" wrote:

> Giacomo, la tua macchina è decisamente degenere

piano con i termini, che questa è una mailing list pubblica...
per fortuna che è una macchina e non se la prende! :-D


> Perfetta per considerare qualunque dato un'istruzione; questo sì

Beh, è una macchina programmabile molto semplice, ma l'ho menzionata e
descritta proprio per dimostrare a Giuseppe l'equivalenza fra dato e
programma.

Sono assolutamente d'accordo che sia la scoperta dell'acqua calda, ma
purtroppo c'è chi crede che esista una distinzione.

> "esegue" un "programma" copiando l'input nell'output

No, non ha alcun dispositivo di input, solo un canale di
caricamento del programma nella memoria.

> di fatto è un amplificatore, non un computer

No.

Certamente non è un computer, ma non è un amplificatore.
E certamente è un hack, ma non è inutile.

E' un timer programmabile con memoria a cassette 
e un'accuratezza di 1/8 di secondo.

Di timer programmabili ne trovi diversi in commercio,
ma NESSUNO a cassette e programmabili solo via seriale!

;-)


> Non mi è chiaro a cosa vuoi arrivare. "...E ALLORA?"

Sto cercando di spiegare come funzionino queste "intelligenze
artificiali" e perché le "IA generative" non sono altro che grossi
archivi lossy delle opere utilizzate per programmarle e dunque, ad
esempio è ovvio che se gli chiedi di risolvere un problema matematico
tratto da uno degli eserciziari presenti nel dataset, ti ritornerà la
soluzione che lo segue nell'eserciziario.

Uno degli scogli per comprenderlo sembra essere la distinzione fra dati
ed eseguibili, per cui ho cercato di evidenziarne e dimostrarne
l'infondatezza.

Per altro, le implicazioni della equivalenza fra dato e codice sono
piuttosto controintuitive... distanti dall'interpretazione comune di
software e dato ma qui e ora sarebbero off-topic.

A presto!


Giacomo


Re: [nexa] "pogrammazione statistica" o "intelligenza artificiale"? [era: AI Training is Copyright Infringement]

2024-09-12 Thread Giacomo Tesio
Scusa Giuseppe, 

evidentemente la mia dimostrazione per costruzione
non è stata abbastanza chiara.

On Thu, 12 Sep 2024 09:04:12 +0200 Giuseppe Attardi wrote:

> > From: Giacomo Tesio 
> > 
> > ho qui una macchina programmabile che ad ogni ciclo legge un nuovo
> > bit dal programma caricato e chiude un circuito se il bit vale 1,
> > mentre lo apre se vale 0.
>
> Il tuo programma esegue istruzioni che leggono dei dati qualunque,
> non eseguono quei dati. Il fatto che quei dati siano una
> *rappresentazione* in un certo formato di istruzioni non li fa
> eseguire dalla tua macchina, perché non passano dal suo interprete
> (CPU), ma dalla sua ALU.

Programma? CPU? ALU? 
No, no... io parlo di una macchina fisica!


Utilizza due pile stilo e puoi costruirtene una anche tu!


Sono sufficienti:

- un buon vecchio mangianastri, di quelli analogici senza alcuna
  diavolerie informatica (bonus point se rotto e con più di 30 anni :-D)
- una porta seriale femmina
- un relè normalmente aperto
- cavetti, resistenze, amplificatori e quelle robe lì.

Connetti la seriale ai cavi dell'ingresso audio e i controlli del relé
all'uscita audio (se necessario, aggiustando propriamente il segnale).

Se sei buono con l'elettronica, puoi anche costruirtelo da zero, a
partire da due induttanze, un motorino, qualche interruttore etc...
(io non lo sono per nulla e infatti non l'ho montata io)


Per programmare questa macchina ci metto dentro una cassetta (la
memoria) e connetto la seriale al mio laptop. 
Poi semplicemente imposto il baud rate della seriale a 8, premo il
pulsante REC e avvio il comando `cat file.jpeg > /dev/ttyS0`

Quando il comando ritorna aspetto ancora qualche secondo e poi
interrompo la registrazione.


Ora che il mio file.jpeg è caricato sulla macchina, non mi rimane che
farglielo eseguire: connetto il circuito che preferisco ai contatti del
relè e schiaccio play.

La mia macchina programmabile esegue il file.jpeg senza alcuna
esitazione, dall'inizio alla fine, aprendo e chiudendo il circuito
esattamente come previsto.

Se ci carico sopra un eseguibile COFF o un ELF, lo esegue 
senza indugi, esattamente come fa con la tua mail.

> L’architettura Von Neumann e la MTU...

Definiscono sottoinsiemi delle macchine programmabili.

Ma una macchina programmabile è qualsiasi macchina il cui comportamento
possa essere cambiato "without changing a single wire" [1].


> No, qualunque sia la macchina, esiste un dato (anzi infiniti) che non
> sono interpretabili da quella macchina, o, se vuoi, che danno errore
> se eseguiti. 

Bene, ti sfido: inviami un file non vuoto che la mia macchina non
riesca ad eseguire, così ci avrai dimostrato che

> L’insieme delle rappresentazioni dei programmi è un
> sottoinsieme stretto di quello dei dati.

Altrimenti sapremo che "data is code <=> code is data".

Inoltre, se ci riesci, ti offro una birra (o un caffé, se preferisci).
Se ti arrendi, la offri a me.

Ci stai? Quando ce la beviamo?


> Le Vector Reducing Machine effettuano operazioni matriciali
> su vettori e matrici, le matrici non eseguono alcunché.

Le VRM hanno un vettore in input e producono un vettore in output.

Come effettuano questa mappatura è determinato precisamente dalle
matrici che gli carichi dentro, esattamente come il comportamento
della mia macchinetta dipende dai byte che gli carico dentro.

Sono realizzate in modo diverso, programmate in modo diverso e usate
in modo diverso, ma entrambe sono macchine programmabili.
(fino a prova contraria... che attendo con ansia! :-D)


Giacomo


[1] Dijkstra scriveva "the general purpose computer is no more than
a handy device for implementing any thinkable mechanism without
changing a single wire", ma non tutte le macchine programmabili
sono general purpose. Purtuttavia eseguono programmi.
https://www.cs.utexas.edu/~EWD/transcriptions/EWD08xx/EWD898.html


Re: [nexa] AI Training is Copyright Infringement

2024-09-11 Thread Giacomo Tesio
Caro Fabio,

ho riflettuto a lungo se risponderti, perché non mi piace perdere tempo
e non mi sembri interessato a comprendere come funzionano i software di
cui parliamo. Non so perché, ma mi sembra evidente.


Tuttavia, rispondendo a Duccio, mi sono reso conto che subite 
la stessa confusione ("anfibolia"? :-D) e la lettura del paper
potrebbe svelare ad entrambi la dinamica dell' "imitation game" 
che OpenAI & friends stanno "giocando".


On Tue, 10 Sep 2024 12:07:53 Fabio Alemagna  wrote:

> Io trovo che sia scientificamente interessante e persino
> strabiliante che un algoritmo che non è stato esplicitamente
> istruito per saper far di conto, riesca a far di conto entro
> una certa misura, semplicemente per essere stato allenato 
> su tomi che spiegano come si fa di conto.

Commentavi questo articolo: https://arxiv.org/pdf/2301.13867

Leggiamo come è composto il dataset con cui hanno testato le 
"competenze matematiche" dei LLM di OpenAI (pagina 4):

- books that are widely used in universities to teach upper
  undergraduate or first-year graduate courses in a degree in
  mathematics
- math.stackexchange.com, a collection of books, and the
  MATH dataset
- the book Problem-Solving Strategies, that is often used
  to prepare for mathematical competitions
- il dataset di https://arxiv.org/abs/1912.01412 che contiene
  decine di esercizi... e le soluzioni.


Leggi con calma e rifletti: non noti niente?


Questi ricercatori NON hanno sottoposto a ChatGPT e GPT-4 problemi
inediti, ma problemi tratti da eserciziari disponibili in rete.


Ora, se immagini una qualche "intelligenza artificiale" alle prese con
tutti questi problemi, è ragionevole trovare i risultati sintetizzati
nell'abstract che avevo citato "strabilianti" [1].

Ma se hai chiaro il processo di compilazione / compressione dei testi
sorgente che produce il LLM, trovi quei risultati piuttosto ovvi: il
LLM ha prodotto in output le soluzioni codificate nelle matrici
eseguibili.


Quale delle due spiegazioni passa il rasoio di Occam?

1. ChatGPT "è intelligente ma non si impegna"

2. ChatGPT è un archivio compresso eseguibile che contiene i problemi
   che gli sono stati sottposti ed ha "autocompletato" i problemi,
   con le soluzioni che li seguivano?


Che tu, Duccio e molti altri che non comprendono come funzionano questi
software programmati staticamente, vi facciate ingannare da questo
"imitation game" è purtroppo prevedibile e previsto.

L'enorme quantità di testi compressi dentro GPT-4 (alcuni dei quali
mai pubblicati, come quelli prodotti dai giornalisti che fanno i
"chatbot helper" per arrotondare) rende estremamente improbabile
che un estratto venga servito a qualcuno che lo possa riconoscere.


In questo caso però, questo è proprio ciò che è successo!

E che 8 ricercatori universitari non si siano accorti di aver
dimostrato il plagio [2] di decine di manuali sotto copyright [3]
rende _evidente_ quanti DANNI la favola della "intelligenza
artificiale", del "machine learning", delle "allucinazioni"
e stronzate varie stia facendo alla ricerca informatica 
e al progresso dell'umanità.


E nota che non si tratta di persone impreparate.

Ma le parole che usiamo per descrivere la realtà determinano
il nostro modo di intepretarla.


Non fatevi ingannare: l'intelligenza artificiale non esiste.
Le macchine non imparano, non hanno allucinazioni 
e non funzionano assolutamente come un essere umano.

Urge cambiare linguaggio.


Giacomo

[1] non potevi scegliere un termine più appropriato! :-D
https://www.etimo.it/?term=strabiliare

[2] spacciando ChatGPT come una "intelligenza artificiale _generativa_"
si/gli intesta la paternità delle soluzioni, sottraendola agli
autori https://it.wikipedia.org/wiki/Plagio_(diritto_d'autore)

[3] per altro, in un modo che esclude l'applicabilità del fair
use negli USA, come ci ha spiegato benissimo Giancarlo qui
https://server-nexa.polito.it/pipermail/nexa/2024-September/053236.html
perché ChatGPT diventa un surrogato gratuito di quegli stessi testi,
riducendone il valore di mercato


Re: [nexa] AI Training is Copyright Infringement

2024-09-11 Thread Giacomo Tesio
Caro Duccio,

Quando tu impari, tu (soggetto) impari (verbo).


Nessun altro prende la tua testa, la apre e scrive nel tuo cervello una serie 
di dati a caso,
misura quanto il tuo comportamento si discosta da quanto desidera e modifica un 
pochino 
quei dati, poi misura quanto il tuo comportamento si discosta da quanto 
desidera e modifica di nuovo un pochino 
quei dati, e ripete il procedimento milioni o
miliardi di volte fin quando il tuo comportamento non si discosta più di un ε 
trascurabile 
da quanto desidera.

In un tale ipotetico processo, tu saresti un oggetto che subisce l'azione, 
non un soggetto che la compie.

Chiameresti il processo che ho descritto "human learning"?
Chiameresti "intelligente" il comportamento acquisito in questo modo?
(ovvero tale che non si discosti statisticamente più ε da quello prestabilito)


Se no, non hai ragione di chiamare "machine learning" il processo di sviluppo 
di un LLM
come non hai ragione di chiamare "intelligenza artificiale" il risultato di 
tale processo.


La scelta di termini più appropriati è oggetto di un altro thread, puoi star 
certo che
non c'è alcuna intelligenza dentro un LLM.


Si tratta di un software progettato per _sembrare_ intelligente, ma solo 
a chi non sa come funziona.


La natura del nostro apprendimento non è statistica: posso spiegarti come 
contare
fino a 31 sulle dita di una mano senza fartelo vedere nemmeno una volta.

Il tuo pugno chiuso significa zero.
Ad ogni dito associamo una potenza di due:
- pollice = 1
- indice = 2
- medio = 4
- anulare = 8
- mignolo = 16

Solleva una qualsiasi combinazione di dita e somma i valori associati a ciascun 
dito:
otterrai un numero fra 0 e 31.

Ora, senza che io ti dica altro o ti mostri alcun esempio, puoi imparare da 
solo come
mettere le varie combinazioni in ordine dal valore complessivo più piccolo, al 
più grande.

Nota bene: non solo non ti fornisco nemmeno un esempio (niente statistica), ma 
non ti
sto insegnando come fare, ti ho solo detto come fare ad imparare.

Tu (soggetto) impari (verbo).
Se vuoi.


Nessuno ti butta conoscenza dentro il cervello.

Nessuna macchina lo saprà mai fare.


Giacomo


Il 11 Settembre 2024 22:50:58 UTC, alessandro marzocchi ha scritto:
> Sun, 08 Sep 2024 23:25:19 + Giacomo Tesio  Re: [nexa] AI Training is Copyright Infringement
> 
> > Direi piuttosto che fiumi di inchiostro sono stati versati per
> > giustificare la ridefinizione di termini come "imparare" e "apprendere"
> > affinché possano essere applicati alle macchine.
> >
> 
> *
> E' autorevole, diffusa e prevalente la convinzione che noi uomini non siamo
> confrontabili con queste macchine.
> Eppure non mi convince, mi pare che il nostro modo di imparare è anch'esso
> statistico, da pappagallo: ad esempio impariamo a dire mamma -
> probabilmente è la nostra prima parola - perchè alla stessa associamo una
> persona specifica ed arriviamo a questa associazione persona-parola dopo
> una serie più o meno lunga di esperienze.
> Dunque, secondo la mia convinzione personale, quando critichiamo la
> macchina per il fondamento statistico basiamo la nostra critica su una
> modalità che è anche umana.
> Un'altra riflessione, sulla quantità di tempo e di esperienze prima di
> arrivare alle capacità attuali di noi umani: credo nessuno abbia una
> risposta, ma certamente abbiamo impiegato moltissimi anni, molte e molte
> generazioni.
> *David Chalmers* non afferma la coscienza delle macchine ma neppure la nega
> per principio, in sintesi ritiene che esse hanno una qualche coscienza e
> che progrediscono (Could a Large Language Model Be Conscious?
> https://www.bostonreview.net/articles/could-a-large-language-model-be-conscious/
> ).
> Sulla parola, *Ludwig Wittgenstein* aveva scritto opinioni interessanti
> riferendole anche ad Agostino: The individual words in language name
> objects—sentences are combinations of such names.——In this picture of
> language we find the roots of the following idea: Every word has a meaning.
> This meaning is correlated with the word. It is the object for which the
> word stands. (Philosophical Investigations, I,1, Basil Blackwell Ltd,
> 1986).
> Insomma, quel che conta è la realtà, non il modo con cui la si rappresenta.
> Vedo anch'io tante differenze fra noi e le macchine, sono meno ottimista
> sulla invincibilità della nostra fortezza e sull'ipotesi che la realtà non
> esisterebbe senza noi, siamo una parte della realtà, non la realtà (in
> tutta umiltà: Protagora ci ha fregato).
> Cordialmente.
> Duccio (Alessandro Marzocchi)


Re: [nexa] "pogrammazione statistica" o "intelligenza artificiale"? [era: AI Training is Copyright Infringement]

2024-09-11 Thread Giacomo Tesio
Ciao Giuseppe,

Il 11 Settembre 2024 16:38:55 UTC, Giuseppe Attardi  ha 
scritto:
> Mi spiace dover dissentire da Enrico.

Dissenti anche da me o solo da Enrico?

Ti ho proposto una semplice dimostrazione dell'equivalenza fra dato e programma:

```
Ogni dato è software eseguibile da almeno una macchina programmabile. 

Puoi infatti facilmente costruire una macchina programmabile che avanza il 
proprio 
program counter se riceve in input il byte corrente del proprio programma e si 
ferma altrimenti.
```
(qui )

Non ti convince?


Te ne propongo un'altra: ho qui una macchina programmabile che ad ogni ciclo 
legge 
un nuovo bit dal programma caricato e chiude un circuito se il bit vale 1, 
mentre lo
apre se vale 0.


Ho provato a caricargli un binario ARM e l'ha eseguito senza problemi.
Ho provato con un COFF e un ELF e li ha eseguiti senza problemi.
Allora ho provato con una foto, e ha continuato ad accendere e spegnere una 
lampadina
esattamente secondo l'ordine dei bit forniti.
Infine ho provato a caricare la tua mail, e la macchina (me ne scuso)
ne ha eseguito ogni bit, dal primo all'ultimo.

Perché la mia macchina irriverente continua ad eseguire qualsiasi dato che io 
gli carico
senza distinguere fra istruzioni e non?


> In altri termini, qualunque istruzione può essere rappresentata come dato, ma 
> non 
> ogni dato può essere interpretato come istruzione...

Perché questo predicato diventi vero è necessario aggiungere "da una qualsiasi 
macchina programmabile"

La verità di tale predicato però non esclude in alcun modo che possano esistere 
infinite 
macchine programmabili in grado di eseguire un qualsiasi dato.


> Ossia la semantica di un’istruzione è strettamente legata al suo interprete, 
> quella di un dato no.

Anche qui, perché il predicato diventi vero dobbiamo sostiire "dato" con 
"quasiasi dato":
molte macchine infatti possolo eseguire solo certe sequenze di bit e non altre.

Un x86 non eseguirà correttamente un eseguibile ARM o JVM.

D'altto canto ogni Vector Reducing Machine è in grado di eseguire solo le 
matrici numeriche
la cui dimensionalità è compatibile

Sono macchine programmabili diverse, ma pur sempre macchine il cui 
comportamento 
dipende esclusivamente dal programma fornito.


Mi puoi spiegare dove sbaglio?


Giacomo


Re: [nexa] "pogrammazione statistica" o "intelligenza artificiale"? [era: AI Training is Copyright Infringement]

2024-09-10 Thread Giacomo Tesio
Grazie Guido,

On Tue, 10 Sep 2024 17:01:25 +0200 Guido Vetere wrote:

> l'apprendimento automatico (e l'intelligenza artificiale *at large*)
> non esiste [...] e una rete neurale non è altro che la compilazione
> dei dati di training

non davvero avrei saputo dirlo meglio! ;-)


E sì, essere costretti ad usare continuamente locuzioni fuorvianti
come "allucinazioni", "intelligenza artificiale", "apprendimento
automatico", "reti neurali" etc... genera continui equivochi
linguistici, provocando anfibolie in coloro che non si tengono
saldo in mente il funzionamento effettivo di questi software.


Non mi sarei mai spinto a descrivere la favola dell'intelligenza
artificiale come un'anfibolia sostenuta da meri argomenti "ad nauseam"
su paper e riviste "scientifiche", ma... come contraddirti?


Giacomo


Re: [nexa] "pogrammazione statistica" o "intelligenza artificiale"? [era: AI Training is Copyright Infringement]

2024-09-10 Thread Giacomo Tesio
Scusate, ovviamente intendevo canzonare supervised e unsupervised
"learning", non "training". Riformulo dunque l'ultimo paragrafo.

Nessuna AI "impara da sola", semplicemente esistono
metodologie diverse di programmazione statistica applicabili 
a contesti diversi, in alcuni dei quali è possibile valutare
automaticamente l'errore contenuto nell'output prodotto dalla
VRM (ricorderai ad esempio AlphaGo).


Giacomo


[nexa] "pogrammazione statistica" o "intelligenza artificiale"? [era: AI Training is Copyright Infringement]

2024-09-10 Thread Giacomo Tesio
On Tue, 10 Sep 2024 10:13:10 +0200 Giuseppe Attardi wrote:

> Si può riassumere dicendo che...

Sì, ma non stiamo solo chiacchierando fra noi e questo scambio sul
crinale fra informazione e dato, fra matematica e informatica, può
essere di interesse per molti iscritti alla lista Nexa, se riusciamo
a mantenerlo intellegibile anche ai non programmatori.


> Il codice che calcola f fa uso di theta, ma non è theta che esegue
> alcun calcolo e non può essere chiamato software.
> [...]
> L’architettura Von Neuman distingue tra istruzioni e dati: le prime
> sono caricate nella CPU, i secondi nella ALU.

Anzitutto io ho parlato di macchine programmabili, non specificatamente
dell'architettura von Neumann che rappresenta solo **una**
delle architetture possibili per tali macchine.

Inoltre anche nell'architettura von Neumann nessuna istruzione "esegue
alcun calcolo": è l'unità di calcolo all'interno della CPU ad
azionare la circuiteria associata a ciascuna istruzione.


Le Vector Reducing Machines costituiscono una classe di architetture
diverse (ciascuna caratterizzata dalla rispettiva topologia), ma
ciascuna esegue programmi codificati come matrici di dimensionalità
appropriata che rappresentano funzioni fra spazi vettoriali distinti.


> ma rimangono istruzioni, se caricate nella CPU.

In realtà no: quando vengono caricate nelle CPU moderne, le istruzioni
definite nella ISA vengono trasformate in microcodice proprietario
(come 380° ricorda spesso): dunque sono trattate come dato 
_ANCHE_ dalla CPU.

Quindi, se theta "non può essere chiamato software", non possono essere
chiamati software nemmeno Windows, Linux o Android.


> Semmai le istruzioni, che sono conservate in memoria, possono essere
> trattate come dati, in programmi che si automodificano

Mica solo in programmi che si automodificano!

Ogni compilatore, ogni interprete e ogni macchina virtuale tratta le
istruzioni come dati. Ogni sistema operativo le tratta come dati mentre
le salva sul filesystem o le carica in RAM ad ogni page fault.
Per non parlare dei molti compilatori JIT (just in time) che caricano in
memoria le istruzioni di un eseguibile RISC-V, le traducono al volo
in istruzioni x86 e per poi farle eseguire alla CPU, trattando sia le
istruzioni RISC-V che quelle x86 come dati. [1]

Gli esempi sono innumerevoli senza nemmeno nominare LiSP!
(ops! :-D)


Perché? 

Perché gli eseguibili _sono_ dati. Come lo è il codice sorgente.
Sono rappresentazioni trasferibili di informazioni.

Infatti, come ho provato a spiegare nella mail precedente, per ogni
sequenza di byte (foto, film, audio, testo, /dev/random etc...) puoi
costruire infinite macchine programmabili che eseguono quella
sequenza di byte per determinare il proprio comportamento.

Ne consegue che qualsiasi dato è eseguibile esattamente come qualsiasi
eseguibile è dato. [2]


Ma c'è di più: poiché puoi sempre scrivere un compilatore che trasformi
qualunque sequenza di byte in una diversa sequenza eseguibile per una
qualche macchina programmabile, ogni dato è anche codice sorgente.

Ne consegue che l'insieme dei dati, l'insieme degli eseguibili e
l'insieme dei codici sorgente coincidono. [3]


Q.E.D. :-D

La distinzione è puramente colloquiale, legata all'uso che stiamo
facendo della sequenza di byte in un certo momento, ma è indipendente
da qualsiasi caratteristica intrinseca della sequenza di byte.



> una rete neurale calcola una funzione f(theta, x) = y

Proviamo a sostituire i termini antropomorfici:

"una Vector Reducing Machine implementa una funzione f(theta, x) = y"

Se invece di una "rete neurale" che "calcola" mettiamo una macchina
che implementa, la frase è meno evocativa ma descrive più precisamente
ciò che effettivamente accade.

La funzione f infatti appartiene all'insieme delle informazioni nelle
nostre menti, esperienze soggettive di pensiero comunicabile, ma
fintanto che rimane lì dentro, non può avere effetti sul mondo esterno.

Se vogliamo che abbia effetti dobbiamo esprimerla, imprimendola sui
componenti di una macchina che la implementa. Questa macchina può
essere fisica o virtuale: il già citato llama.cpp è un esempio di
macchina virtuale che implementa la funzione f.


> theta sono i parametri del modello

Utilizzare il termine "modello" è errato e fuorviante perché richiama 
un modello statistico che per definizione fornisce informazioni
intellegibili sul campione statistico da cui viene calcolato.


Matematicamente, theta è la prima variabile indipendente di f.

Ma dal punto di vista informatico, theta è l'eseguibile che determina
in modo preciso e deterministico il comportamento della Vector Reducing
Machine che implementa f.

> Ossia non bastano i dati (theta) per modificare f.

Stai confondendo la funzione f : t -> x -> y, con la funzione 
g : x -> y ottenuta attraverso l'applicazione parziale di un
particolare theta a f.

Chiudere f su un theta' diverso è sufficiente ad ottenere una
funzione g' diversa, senza alterare in alcun modo f.

Questo perché f descrive una 

Re: [nexa] AI Training is Copyright Infringement

2024-09-09 Thread Giacomo Tesio
Salve Fabio,

On Mon, 9 Sep 2024 12:45:09 +0200 Fabio Alemagna wrote:

> Quando un essere umano studia da un libro [...]
>
> La domanda conseguente dunque è: un essere umano viola il copyright
> apprendendo dai testi da cui studia?

Anzitutto, un essere umano è soggetto di diritti, un software no.

Dunque, in un ragionamento giuridico, paragonarlo ad un software
è "not even wrong", oltre che alienante ed offensivo.


In qualunque caso GPT-4 non ha appreso nulla dai testi usati per la sua
programmazione. Questi testi includono migliaia di teoremi matematici,
di manuali scolastici di matematica etc... che GPT-4 può produrre
facilmente in output, ma che non comprende e non sa applicare:

```
We find that ChatGPT can be used most successfully [...] as a
mathematical search engine and knowledge base interface. 
GPT-4 can additionally be used for undergraduate-level mathematics but
fails on graduate-level difficulty.
Contrary to many positive reports in the media about GPT-4 and
ChatGPT's exam-solving abilities (a potential case of selection bias),
their overall mathematical performance is well below the level of a
graduate student. Hence, if your goal is to use ChatGPT to pass a
graduate-level math exam, you would be better off copying from your
average peer!
```

https://arxiv.org/abs/2301.13867

Funziona un po' meglio come motore di ricerca perché è un archivio
compresso (anche) dei testi matematici compilati al suo interno, ma non
ha una mente che possa comprendere quei testi e dunque non è in grado
di applicare le informazioni che vi sono espresse.


> 1) Non solo gli umani apprendono, bensì tutti gli esseri viventi.

Cosa che un software non è.

> 2) Esistono definizioni di "apprendimento" [...]

Non ne dubito!

Ridefinire termini di uso comune è fondamentale per generare il genere
di profonda confusione che spinge qualcuno a credere di parlare con
"intelligenze artificiali".


> A tal proposito, questo è quel che ne pensa Creative Commons:

Indignor quandoque bonus dormitat Homerus!
Nunquam non miror: https://creativecommons.org/support-cc/


Giacomo




Re: [nexa] AI Training is Copyright Infringement

2024-09-09 Thread Giacomo Tesio
> La domanda era proprio cosa significa programmare con tecniche
> statistiche.

Significa utilizzare tecniche statistiche (raccolta dati, 
regressioni lineari, medie, analisi delle frequenze, analisi dei
cluster, riduzioni della dimensionalità, etc...) per produrre 
un software eseguibile da una specifica macchina.

La programmazione classica consiste nell'esprimere un algoritmo
in una forma eseguibile dalla macchina.
Un tempo si foravano le schede, oggi si esprime l'algoritmo in un
linguaggio sufficientemente rigoroso da poter essere tradotto
meccanicamente nella forma eseguibile dalla macchina.
La sostanza non cambia.

La programmazione statistica funziona diversamente.

Ad esempio, per programmare una Vector Reducing Machine (quella che
tu chiami "rete neurale artificiale") la cui topologia permette di
mappare una matrice N-dimensionale verso una M-dimensionale

- si raccoglie il dataset sorgente 

- ne si codifica gli elementi come vettori numerici attraverso
  una analisi statistica

- si riduce la dimensionalità del dataset sorgente (selezionando e/o
  sintetizzando le feature da utilizzare attraverso tecniche
  statistiche) fino ad ottenere le N dimensioni da utilizzare in input
  (e le M dimensioni con cui confrontare l'output)

- si carica nella VRM un programma che può essere

  - casuale quando si inizializzano le matrici per la prima volta

  - noto, se si decide di partire da un eseguibile "pre-trained"

E' utile notare che a questo punto la VRM è già in grado di eseguire il
programma (quello che tu chiami impropriamente "modello"), mappando i
record N-dimensionali del dataset in record M-dimensionali.
Tipicamente però questi record output sono inutili o poco utili per cui
inizia una fase di compilazione del dataset: si utilizzano
iterativamente le righe del dataset per alterare i valori nelle matrici
riducendo pian piano l'errore statistico fra il risultato M dimensionale
ottenuto dando in input alla VRM ogni record e quello desiderato,
attraverso un processo di ottimizzazione statistica chiamato
backpropagation.

Alla fine del processo la VRM mappa i vettori N dimensionali di ingresso
nei vettori M dimensionali di interesse entro un errore accettato.

A quel punto si salva l'eseguibile codificato dalle matrici della VRM
così da poterlo successivamente rieseguire con qualsiasi VRM che
implementi la stessa topologia.

Le matrici che tu chiami "modello" codificano un'eseguibile che tutte
(e solo) le VRM con quella determinata topologia possono eseguire e
nessuno può interpretare.


Tale eseguibile è una codifica compressa con perdita di informazione del
dataset sorgente che è stato compilato per produrlo, esattamente come i
l'eseguibile di un kernel è una codifica compressa con perdita di
informazione dei testi sorgente che sono stati compilati per produrlo.



> I parametri del modello (i contrnuti delle matrici), vengono
> calcolati attraverso l’ottimizzazione della loss function sui 
> dati di apprendimento (sempre dati sono).

La distinzione fra software e dato non ha fondamento informatico.


Ogni dato è software eseguibile da almeno una macchina programmabile.


Puoi infatti facilmente costruire una macchina programmabile che avanza
il proprio program counter se riceve in input il byte corrente del
proprio programma e si ferma altrimenti.

Caricando su questa macchina i byte di un qualsiasi eseguibile x86,
questa inizierà ad eseguirlo e fintanto che gli fornirai in input
esattamente quegli stessi byte, in ordine, uno alla volta, mentre si
fermerà altrimenti.

Ma se gli carichi i byte di una foto, sostituendo il suo programma,
e poi provi a passargli in input i byte dell'eseguibile x86 usato in
precedenza, quella si fermerà, perché è cambiato il suo programma.

Se invece gli passi in input i byte della foto, in ordine e uno alla
volta, lei continuerà a lavorare come da programma.

Caricagli sopra un film o un testo, e farà la stessa cosa con i
rispettivi byte.


La foto, il film e il testo diventano infatti software eseguibili
per questa ipotetica macchina.

E non credo di doverti dimostrare che per qualsiasi dato esistono
infinite macchine programmabili in grado di eseguire tale dato.


Dunque, dimostrato che ogni dato è codifica un eseguibile per infinite
macchine virtuali, non dovrebbe sorprenderti che quella che tu chiami
"rete neurale artificiale" altro non sia che una macchina in grado di
eseguire determinati programmi, codificati sotto forma di matrici
numeriche di dimensionalità compatibile.


> La rete neurale implementa il modello direttamente, non in due fasi.

Il problema è che ciò che tu chiami "rete neurale artificiale" in
realtà è la composizione di due software che vengono implementati e
distribuiti separatamente.

Il primo software, la macchina virtuale in grado di eseguire qualsiasi
insieme di matrici che rispettino le dimensionalità previste dalla
topologia scelta, viene programmata esplicitamente, in un linguaggio di
programmazione come C, Python, R etc... ed eseguita 

Re: [nexa] AI Training is Copyright Infringement

2024-09-09 Thread Giacomo Tesio
Caro Stefano,

On Mon, 9 Sep 2024 11:33:44 +0200 Stefano Maffulli wrote:

> A me personalmente piacerebbe capire *perché*, prima di pensare a
> *se*, un LLM dovrebbe essere un'opera derivata dal dataset di
> addestramento. 

La realtà può non piacerci, ma rimane pur sempre reale.

Un LLM è un'opera derivata dai dataset utilizzati durante la sua
programmazione.

Una volta compreso questo (piuttosto ovvio) concetto, possiamo
ragionare se le normative vigenti vadano modificate a vantaggio
delle grandi aziende che vogliono sfruttare gratuitamente tali 
opere per produrre software opachi che ne riproducono gli interessi
ovunque vengono eseguiti, o meno.

> Ovvero, avendo come obiettivo la diffusione della
> conoscenza, è collettivamente positivo per la società  pensare che
> opere di creatività debbano essere coperte da diritti esclusivi nuovi
> (o estensione di quelli vecchi --diritto d'autore, marchi, ecc) 
> prima di poter essere trasformate in token e passati in pasto
> all'addestramento automatico?

Non sono certo di comprendere cosa tu intenda con questa frase.

Esimere dal rispetto della Legge chi usa proxy software per violare
i diritti altrui è deleterio sia per le vittime che per la società.

D'altro canto, nessuno vuole impedire, ad esempio, la creazione di
software come GitHub CopyALot: l'importante è che tali software e i
software che includono i loro output rispettino i diritti degli autori
che hanno contribuito alla loro creazione e le licenze che li veicolano.


Ad esempio, Microsoft potrebbe riprogrammare un servizio come GitHub
Copilot utilizzando esclusivamente i sorgenti di cui detiene il
copyright (e quelli in pubblico dominio). In questo modo nessuno
(eccetto Microsoft) avrebbe diritto di lamentarsi per l'inclusione
di tali sorgenti in altri software, proprietari o meno.

Microsoft invece vuole violare liberamente il copyright altrui, 
ma si guarda bene dall'automatizzare la violazione del proprio!

Cui prodest?
(questa volta rispondere è proprio facile... ;-)


In qualunque caso non serve né estendere ne comprimere il diritto
d'autore, basta applicarlo come viene applicato a qualsiasi altro
software compilato a partire da testi.


Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-09 Thread Giacomo Tesio
Salve Stefano,

On Mon, 9 Sep 2024 10:56:06 +0200 Stefano Zacchiroli wrote:

> La recitation è assolutamente *possibile* [...]
> La frequenza dipende da proprietà statistiche del training dataset
> [...]
> Quello che invece regolarmente fanno attori come GitHub con Copilot è
> di aggiungere a valle della generazione con gli LLM dei filtri basati
> su tecniche di code clone detection e anti-plagio [...]
> Microsoft si sente abbastanza sicura di tutto questo da offrire
> garanzie legali in termini di violazione del diritto d'autore quando
> si usa la suite Copilot. (Non a caso lo fa *solo* se l'utente non ha
> disabilitato il filtering a valle di cui parlavo sopra.)
> 
> [...]
>
> Tutto questo non ci aiuta nel dibattito sul decidere se un LLM sia o
> meno un opera derivata dei suoi training input.

Non mi è chiaro il passaggio logico.


Sappiamo tutti che gli output degli LLM includono stralci delle opere
utilizzati per programmarli.

Sappiamo tutti che la frequenza di questi stralci dipende dalle
proprietà statistiche del dataset costituito da tali opere.

Sappiamo addirittura che Microsoft & friends post-processano gli output
degli LLM per escludere tali testi con tecniche anti plagio.


Come altro potremmo interpretare questi fatti se non riconoscendo che
il LLM è un opera derivata (un eseguibili prodotto attraverso un
processo di compressione con perdita) dei testi utilizzati per
programmarlo?

Perché adottare filtri anti-plagio se le opere non fossero codificate
(pur in formato compresso con perdita) nelle matrici che costituiscono
l'LLM e di conseguenza nell'output che questi producono?


Direi al contrario che i fatti elencati *dimostrino* come le
"AI generative" siano opere derivate delle opere utilizzate 
per programmarle.

La necessità di filtri anti-plagio dimostra gli innumerevoli plagi
avvenuti a monte, durante la realizzazione del "modello".


O forse intendi che tutto questo non ci aiuta nel dibattito perché
risponde alla questione al di la di ogni ragionevole dubbio?

O ancora che non aiuta chi vuole che il dibattito continui per evitare
(o rimandare) gli obblighi connessi alle licenze copyleft?

O ancora che non aiuta chi vuole che il dibattito continui per evitare
di rispettare la normativa vigente pagando agli autori delle opere il
diritto di creare opere derivate?


Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-09 Thread Giacomo Tesio
Salve Giuseppe,

On Mon, 9 Sep 2024 09:50:41 +0200 Giuseppe Attardi wrote:

> Che significa “software programmato statisticamente”? 

Un software (ovvero una sequenza di byte eseguibili da una macchina con
una architettura nota in fase di compilazione) programmato attraverso
tecniche statistiche, ovvero basate sull'elaborazione di grandi
quantitativi di dati selezionati allo scopo.


> Una rete neurale è realizzata con programmi come altri utilizzando
> algoritmi di ottimizzazione, con un processo di fit dei parametri del
> modello rispetto ai dati per minimizzare una funzione di loss.

Esatto, ottimo esempio.

Con il termine "rete neurale artificiale" si con-fondono due software
diversi programmati con tecniche diverse:

- la macchina virtuale caratterizzata dall'architettura di interesse
  (la topologia della rete), tipicamente scritta in R, Python, C etc...
- il software che quella macchina virtuale esegue, espresso come
  matrici numeriche, programmato appunto attraverso tecniche
  statistiche e compilato per quella specifica macchina virtuale

Si tratta di software distinti, anche quando usati insieme.

Il primo software (la macchina virtuale) viene eseguito dall'hardware
(che può essere a sua volta virtuale, ovviamente), mentre il secondo
(il cosiddetto "modello" della "rete neurale artificiale") viene
eseguito dal primo.

I sorgenti del primo vengono scritti.
I sorgenti del secondo vengono selezionati.

Cambiano le tecniche di programmazione e compilazione, ma rimangono
sorgenti di software compilati per essere eseguiti dalle rispettive
architetture di interesse.


> Un modello statistico sarebbe quello costruito a partire da un
> campione statistico rappresentativo, selezionato appunto su basi
> statistiche.

Infatti!

Proprio il software programmato statisticamente a partire dai dataset
sorgente non è un modello statistico, è sbagliato chiamarlo "modello".

Altrimenti finisce che i giuristi lo confondono con il data mining.


> Ciò non vale per i LLM che usano tutti i dati disponibili,
> considerandoli la realtà stessa e non la loro rappresentazione.

Gli LLM non hanno alcuna consapevolezza dell'esistenza della realtà.
Dunque non possono "considerare" i dati come la realtà.

Gli LLM sono programmati compilando i dati SCELTI da chi li programma.
La scelta dei contenuti da includere nel dataset è l'aspetto
predominante del processo di programmazione statistica.


> Quanto a “imparare”, è discutibile usare termini antropomorfi
> riguardo alle macchine, ma per intenderci si può dire che fanno
> qualcosa che si avvicina al nostro concetto di apprendere, ossia
> saper usare quanto visto in precedenza in situazioni nuove.

No.

La calcolatrice non conosce l'aritmetica, anche se riesce a produrre in
output una configurazione di cristalli liquidi che la tua mente può
interpretare come somme che non le sono mai state sottoposte in passato.

Una calcolatrice non sa cosa sia un numero più di quanto
un LLM non sappia cosa sia un testo.

Chi l'ha programmata non le ha insegnato l'aritmetica e lei non l'ha
appresa, per nessuna definizione ragionevole di "apprendimento".
Chi l'ha programmata ha codificato la _propria_ conoscenza della
aritmetica in una serie di circuiti che ne _riproducono_ le regole
sulle rappresentazioni elettriche fornite in input.


Allo stesso modo, non c'è alcuna relazione fra il processo di
programmazione statistica di una macchina in grado di ridurre
vettori e l'apprendimento di un essere umano.

Entrambi i processi sono iterativi e producono un cambiamento nel ente
che li subisce, non hanno null'altro in comune.


Se dicessi in una conferenza che la frutta "apprende" come comportarsi
da marmellata, tutti riderebbero fragorosamente. :-D


Dire che un software "apprende" come comportarsi è altrettanto
ridicolo, ma hubris, ignoranza e soldi convincono troppe persone
a non ridere quando sentono parlare di "machine learning".

Così rimangono solo bambini e buffoni a ricordare che il re è nudo...
e i software si programmano. 


¯\_(ツ)_/¯


E sì, è vero: è davvero un lavoro estenuante! ;-)


Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-08 Thread Giacomo Tesio
On Sun, 8 Sep 2024 17:12:23 +0200 Guido Vetere wrote:

> Su cosa cosa significhi 'imparare' per gli umani e per le macchine si
> sono versati fiumi di inchiostro, non credo sia il caso di dilungarsi
> qui. 

Direi piuttosto che fiumi di inchiostro sono stati versati per
giustificare la ridefinizione di termini come "imparare" e "apprendere"
affinché possano essere applicati alle macchine.

Più interessante sarebbe riflettere sugli obbiettivi di queste
ridefinizioni: se si sia trattato di nobilitare le macchine o di
alienare le persone.

Le "sperimentazioni" sulle "AI" a scuola avvalorano la seconda ipotesi.

> > Nonappena comprendi che si tratta semplicemente di un software
> > programmato statisticamente  
> 
> Confesso che trovo la tua idea che un LLM sia un 'compilato' dei
> dataset di training molto interessante

Non lo è, in realtà: è ovvia.

Con la sua semplicità, ridicolizza la favola delle "intelligenze artificiali" 
al rasoio di Occam.

Per chi ha creduto in quella favola però può essere una interessante doccia 
fredda.

> però non mi convince per due motivi: 
> 1) Come la mettiamo col lavoro umano di supervisione e
> rinforzo (cfr. l'articolo del Guardian riportato oggi qui) che ha
> un'importanza cruciale per il comportamento a run-time? Tra l'altro,
> è proprio qui che si trova il grande vantaggio competitivo dei
> monopolisti. 

Quel lavoro è parte del processo di programmazione statistica che non
coincide con la sola compilazione del dataset iniziale, ma include la scelta
degli hyper parameter, la scelta del dataset iniziale, la scelta della
dimensione del vocabolario, la scelta del processo di programmazione,
la scelta dei valori iniziali, la supervisione etc...

La taggatura, i testi utilizzati per eventuali fine-tuning etc... aumentano il 
dataset 
sorgente, come file aggiunti a uno zip dopo la sua creazione.

Rimane il fatto che alla fine del processo di compilazione ottieni
matrici che costituiscono una compressione lossy eseguibile del dataset.

> 2) Come la mettiamo con la generazione aumentata dal
> retrieval (RAG)? Supponi che un grande produttore abbia generato un
> foundation model con dataset acquisiti legalmente (bastano le
> briciole di quello che hanno in tasca) e lo abbia poi istruito col
> lavoro di dipendenti regolari. Quel modello, anche di dimensioni
> ridotte (es. 70B) sarebbe in grado di fare cose molto utili, ad
> esempio question answering, interpolando dati che non sono nel
> training set, ma in database esterni sui quali viene a run-time
> operata una ricerca.

Non vi vedo alcuna differenza con un altro software proprietario che si colleghi
ad un database esterno.

L'output di questo ipotetico LLM conterrebbe frammenti dei testi usati per 
programmarlo
combinati con pezzi dei dati presenti sul db.

Se chi ha realizzato LLM aveva comprato dagli autori il diritto di progrannare 
l'LLM a
partire dalle loro opere e chi usa l'LLM dispone dei diritti necessari ad 
accedere 
al database, dal punto di vista del copyright non ci sono problemi.

Se poi parliamo di sicurezza informatica o della qualità degli output è tutta 
un'altra questione.


> Suggerisco di stare molto attenti alle false analogie, perché ci danno
> l'illusione di riportare l'ignoto al noto ma talvolta offuscano la 
> comprensione delle cose.

Bravo!

Sono anni che lo dico!

False analogie con le reti neurali, l'intelligenza o l'apprendimento servono 
solo a buttare
fumo negli occhi a chi non comprende il funzionamento questi software.

Se non fosse tragico, sarebbe ridicolo.


È decisamente ora di ritornare con i piedi per terra.


Perché Guido, qui stiamo parlando di software.
Niente di più e niente di meno.

E il software si programma, non si "allena".


Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-08 Thread Giacomo Tesio
Caro Giancarlo,

Mi spiace averti stancato, per cui non ti tedierò con le ovvie differenze fra 
un LLM 
(che è una compressione lossy eseguibile dei testi sorgente) e Google Books 
(che è una
semplice interfaccia web su _estratti_
di quei testi).

Tuttavia credo sia importante chiarire un aspetto che le tue considerazioni 
riportano alla mente

Il 8 Settembre 2024 18:13:43 UTC, GC F ha scritto:
> Il materiale non è usato per il suo valore espressivo, 

se così fosse Microsoft & friends non starebbero pagando scrittori e 
giornalisti per
scrivere testi che nessuno leggerà mai!

Lo fanno proprio perché sanno benissimo che il loro software non contiene idee 
ma espressioni.

SOLO espressioni.


Se l'uso delle espressioni originali negli LLM fosse "trasformativo", la 
presenza di espressioni
prodotte in output da altri LLM nei dataset sorgente non sarebbe un problema.

Invece il problema del "model collapse" deriva proprio dal fatto che l'output 
di un LLM
non ha alcun "valore espressivo", contrariamente alle opere originali.


> quindi la creazione del software/modello non ha effetti sul
> valore di mercato dell'opera originale utilizzata - non la sostituisce.

Non stiamo parlando del valore di mercato di un'opera, ma del valore di mercato 
dei
diritti di sfruttamento ad essa connessi.

In particolare del valore di mercato del diritto a creare opere derivate 
(l'LLM).

Questo diritto può essere ceduto per un corrispettvo che chi programma LLM non
sta pagando.

Se lo pagasse, il valore di mercato di quel diritto di sfruttamento economico 
dell'opera
aumenterebbe notevolmente, perché le varie aziende che producono LLM 
si contenderebbero il diritto di creare LLM derivati dalle opere migliori.


Lo vedi bene nell'articolo citato da Antonio in un altro thread, dove i diritti 
su articoli che 
nessuno leggerà mai e che dunque non avrebbero alcun valore di mercato, 
acquisiscono un valore comparabile a quello corrisposto da un giornale che li 
pubblica.



> Si potrebbe discutere se quegli effetti sostitutivi ci siano nel contesto
> della produzione degli output di quel modello, ma è altra questione

Vero, è un'altra questione: i modelli delle "AI generative" sono archivi 
compressi 
(con perdita di informazioni).

Non sostituiscono una singola opera.
Sono surrogati di tutte le opere usate per programmarli e di ciascuna di esse.

Surrogati di qualità variabile, ma pur sempre surrogati.

Come una jpeg compressa di una serie di dipinti affiancati sarebbe un surrogato 
di
tutti i dipinti inclusi e di ciascuno.



I loro output però sono evidenti surrogati per le opere da cui derivano.

Se così non fosse, non ci sarebbero decine
di pubblicazioni scientifiche che li riportano,
citando articoli mai scritti che gli autori non hanno nemmeno provato ad 
acquistare
(con buona pace della favola delle peer review).

E ricorderai anche tu il caso dell'avvocato che presentò al giudice un 
documento pieno
di riferimenti giurisprudenziali inesistenti perché prodotto con un LLM.
Riferimenti giurisprudenziali a testi che lui non aveva nemmeno provato a 
comprare,
accontentandosi del surrogato fornito dal LLM.


D'altronde chi usa le "AI generative" per "generare" contenuti non può proprio 
acquistare
le opere originali da cui quei contenuti sono tratti, neənche volendo.

Non solo perché a volte si tratta di chat o mail private, testi inediti etc... 
ma perché 
gli LLM non sono in grado di fornire i riferimenti corretti (anche quando ne 
forniscono
di esistenti) proprio per come funzionano.


> Il mio riferimento precedente alla τέχνη era un'allusione a un dibattito
> millenario. Non si può ridurre tutto alla τέχνη; 

Perché, la Giurisprudenza non è essa stessa un'arte?


Giacomo

PS: non sentirti in alcun modo obbligato a rispondere se non ti va... 
e se preferisci possiamo continuare in privato.


Re: [nexa] AI Training is Copyright Infringement

2024-09-08 Thread Giacomo Tesio
In realtà Giancarlo ho ben chiaro il dibattito in corso, gli interessi in 
gioco, 
le "strane alleanze" e i fiumi di soldi che stanno inquinando questo dibattito.

E sono rassegnato al divorzio dalla realtà che tutto ciò comporta.

Tuttavia, da informatico più interessato allo stato di diritto che ai soldi in 
questione
non posso che descrivere i software cui il dibattito fa riferimento.

Il 8 Settembre 2024 15:34:15 UTC, GC F ha scritto:
> Quel che conta è che...

Bene, finalmente concordiamo che ogni riferimento al data mining è infondato e 
fuorviante.

> si utilizzino espressioni proteggibili per
> creare/addestrare uno strumento

Ecco quando su parla di "AI training" si parla del processo di programmazione 
statistica
attraverso cui si ottiene un software.

Questo software è un opera derivata dai dataset sorgenti (e da pochi altri dati 
decisi 
dai "data scientist").

Ancor prima che questo software venga eseguito e produca output che riproduca in
tutto o in parte un'opera usata per programmarlo, la sua realizzazione deve 
rispettare
i diritti degli autori di tutte le opere che costituiscono il dataset sorgente.

Questi autori possono aver ceduto il diritto di creare quel software come opera 
derivata
dalle proprie opere (come fanno i giornalisti o i romanzieri che lavorano come 
"chatbot helper") 
e in tal caso siamo tutti contenti.

Tuttavia, per creare un'opera derivata dalle loro (come il software in 
questione) tale 
cessione è necessaria nei termini del diritto d'autore.

> Anche se il processo di training AI si basa su
> riproduzioni meccaniche di opere nella loro interezza, questo non implica
> di per sé la violazione del diritto d'autore, se tale riproduzione è votata
> alla creazione di uno strumento che poi utilizzi quelle riproduzioni
> meccaniche a fini trasformativi. 

Temo che questo passaggio evidenzi un malinteso di fondo: non stiamo discutendo 
della
legittimità di creare un dataset contenente copie di testi coperti dal diritto 
d'autore, ne della
loro copia in memoria durante il processo impropriamente chiamato "training".

Stiamo parlando del processo di creazione di un'opera derivata (il "modello").

> certe sue affermazioni sono forse "ingenue" [...] (eg "Anche se poi le aziende
> forniscono accesso a quelle opere derivate "a pezzetti", le opere sono
> state integralmente incluse nel processo di programmazione statistica (il
> "training" della "AI")"). 

Beh, più che ingenuo, direi che distinguere fra software e output del software 
è ovvio.

Mi pare invece incredibile che li si possa confondere e mi chiedo come sia 
possibile
nel 2024 una confusione tanto evidente.

In questo però potrei essere "ingenuo", in effetti.


> La questione dell'applicazione della "dicotomia
> idea/espressione" al TDM è proprio relativa al fatto che per estrarre dati,
> non proteggibili, si debbano effettuare copie meccaniche integrali
> dell'espressione proteggibile in cui quei dati sono contenuti.

Sennonché non stiamo parlando di dette copie, ma del software che ne viene 
compilato.


Sia chiaro: se il processo di compilazione / compressione lossy cancella il 
diritto 
degli autori a me va benissimo!

L'importante è che valga anche per i binari x86_64 di Microsoft, per gli mp4 
ottenuti dai film Disney,
etc...



Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-08 Thread Giacomo Tesio
Vedi Guido, 

Il 8 Settembre 2024 14:24:00 UTC, Guido Vetereha scritto:
>
> Research has also shown that memorization occurs if
> an LLM sees a text repeatedly during training (Carlini et al., 2022b;
> Biderman et al., 2023).
> Because of this, *memorization can be seen as an extreme case of training
> data contamination*
> where a dataset is not only seen during training but repeated within the
> training set so often
> that the LLM becomes able to consistently generate it.
> 
> La memorizzazione, insomma, è un caso degenere.

Sembra un caso degenere perché immagini un'intelligenza artificiale che impara.

Nonappena comprendi che si tratta semplicemente di un software
programmato statisticamente, ti appare del tutto ovvio e normale che i dati più 
frequenti
subiscano una perdita minore durante il processo di compressione.

> Infatti, si applicano
> usualmente tecniche di filtering per deduplicare i passaggi che occorrono
> molte volte nei dataset di training

E nonostante ciò gli LLM continuano a sputarli fuori.

La differenza non sta nella loro "memorizzazione" da parte del LLM, ma nella 
nostra capacità
di riconoscerli nell'output nonostante gli errori di decompressione.

Un po' come avvenne per i sorgenti GPL di Quake III sparati in output da GitHub 
Copilot:
li abbiamo riconosciuti perché sono famosi, non perché Microsoft si è 
dimenticata
di deduplicare i fork di Quake su GitHub!


Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-08 Thread Giacomo Tesio
Caro Giancarlo,

On Sun, 8 Sep 2024 13:46:50 +0100 GC F  wrote:

> La τέχνη specifica è irrilevante. 

Non parliamo infatti di tecniche ma di finalità.

Il data mining è definito dalla finalità di estrarre informazioni
intellegibili da grandi volumi di dati, NON dal generare in output 
testi o immagini che appaiano plausibili ai profani della materia.


Dunque le eccezioni specifiche per il data-mining non sono applicabili
alle "AI generative", anche nei casi in cui alcune tecniche usate per
la programmazione di questi software siano utilizzabili anche per il
data mining.


Attenzione però a non affermare che le AI generative siano "un processo
connesso, simile ma diverso o alternativo" rispetto al data mining.
Sarebbe grossolanamente sbagliato, evidenza di una assoluta ignoranza
rispetto alla materia oggetto del discorso.

Significherebbe affermare che non giò la τέχνη, ma la realtà stessa
sia irrilevante.

A quel punto non sarebbero gli LLM ad "allucinare", ma i giuristi. ;-)


Cui prodest?


> Che sia propriamente text-and-and-data mining o processo
> connesso, simile ma diverso, o alternativo è di rilevanza
> tangenziale. I principi di diritto sono strutturati per adattarsi
> all'evoluzione tecnologica. Dottrina e giurisprudenza svolgono questo
> ruolo, quando non intervenga una riforma legislativa, applicando
> principi e precedenti giurisprudenziali a nuova casistica per
> analogia.

Tangenziale?

Solo chi non ha mai fatto né data mining né "training" di una "IA
generativa" può immaginare l'esistenza di analogie fra le due attività.

Non ce ne sono, anche quando si utilizzano gli stessi strumenti.

Un po' come non ci sono analogie fra le norme applicabili ad un omicida
e ad un fabbro che abbiano entrambi utilizzato un martello.


Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-08 Thread Giacomo Tesio
Ciao Maria Chiara,

riporto il subject al valore iniziale perché non ho molto da aggiungere
sugli interessi rappresentati da Axel Voss: le norme su copyright,
brevetti e segreti industriali sono intrinsecamente oscurantiste,
e rallentano il progresso culturale e tecnologico dell'umanità vietando
alla maggioranza delle persone di conoscere e/o ragionare liberamente
sulle informazioni che i dati cui vengono applicate rappresentano.

Detto questo, l'eccitazione di Axel Voss dipende dalla stessa ignoranza
informatica di coloro che si strappano le vesti di fronte ad uno studio
che afferma una semplice ovvietà tecnica: le "AI generative" sono opere
derivate meccanicamente delle opere utilizzate per programmarle
statisticamente e di cui, come spiegavo in una mail precedente
costituiscono l'eseguibile compilato per una determinata architettura.

On Sun, 8 Sep 2024 10:33:05 +0200 Maria Chiara Pievatolo wrote:

> Dove i SALAMI rimescolano, bisognerebbe cambiare il copyright
> estendendo a tutte le espressioni delle idee (recensioni, riassunti
> umani e no etc.) la stessa disciplina che si applica, secondo me
> incoerentemente (slide 22: https://zenodo.org/records/11163103),
> alle traduzioni.

Non serve: il copyright com'è protegge già gli eseguibili compilati a
partire da testi chiamati "codice sorgente", senza bisogno di alcuna
modifica alla normativa o alcuna estensione alla sua interpretazione.

Anche il processo di compilazione di un comune software scritto in C è
un processo di compressione particolarmente evidente laddove non vi
siano molte dipendenze esterne. Ad esempio, il kernel di linux versione
5.10 è un testo da quasi un gigabyte. Compresso in tar.xz [1] occupa
circa 115 Mega (un fattore di compressione senza perdita di
informazione di 8 a 1, circa) mentre una volta compilato occupa circa 7
megabyte (un fattore di compressione CON perdita di informazione di
oltre 100 volte).


L'eseguibile che i fautori delle "AI generative" chiamano impropriamente
"modello" subisce una compressione concettualmente analoga attraverso
il processo di compilazione dei dataset sorgenti.


Non è dunque necessario modificare il diritto d'autore per riconoscere
i "modelli AI" (le matrici eseguibili da quelle macchine virtuali) come
opere derivate dai testi sorgenti.

Anche se poi le aziende forniscono accesso a quelle opere derivate "a
pezzetti", le opere sono state integralmente incluse nel processo di
programmazione statistica (il "training" della "AI").
In altri termini, il "modello" deriva dalla totalità di ciascun opera
usata per la sua programmazione, nonché dalla totalità di TUTTE le
opere utilizzate (pubblicamente note, o meno).
Ciò rende inapplicabili ai modelli le eccezioni che permettono di citare
piccoli frammenti di un opera in un'altra.


Dunque, indipendentemente dall'articolo e dalle ragioni di chi l'ha
scritto, affermare che "AI Training is Copyright Infringement" significa
semplicemente prendere atto di come funziona il processo in questione e
ciò che produce (il "modello").

Microsoft stessa non nega la natura di opera derivata dei LLM (pur
tentando disperatamente di giustificarla). Ad esempio in "Elephant
never forget..." [2] i suoi ricercatori scrivono: "This investigation
reveals that LLMs have memorized many popular tabular datasets
verbatim".


Dunque nessun bisogno di estendere o rafforzare il diritto d'autore:
basta applicare le norme vigenti anche a chi approfitta dell'ignoranza
altrui per sottrarvisi attraverso software che pochi comprendono
(anzitutto fra coloro che ne parlano)



Giacomo


[1]
https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.225.tar.x 

[2] https://arxiv.org/abs/2404.06209


Re: [nexa] AI Training is Copyright Infringement - Axel Voss

2024-09-08 Thread Giacomo Tesio
Salve Guido,

On Sun, 8 Sep 2024 12:31:14 +0200 Guido Vetere wrote:

> L'analogia tra i LLM e i dati (immagini, testi) compressi con o senza
> perdita è totalmente fuorviante, perché nei miliardi di parametri di
> una rete neurale non si può ricavare all'inverso il dataset di
> training, né se ne può leggere in chiaro alcun frammento. 

credo che potresti trarre giovamento da un ripasso sugli algoritmi di
compressione lossy, perché sembra sfuggirti che anche da un jpeg
fortemente compresso non puoi ricavare l'immagine originale:

Qui trovi un esempio:

https://upload.wikimedia.org/wikipedia/commons/3/3c/TulipanoJPEG10.jpg

Non c'è alcun modo di ricostruire la sequenza di byte che costituiva
l'immagine originale.


E' vero, non si tratta di una semplice analogia: stiamo letteralmente
parlando di sistemi di compressione lossy (seppur eseguibili).

> Quando un LLM 'rigurgita' un frammento (ma questo è un evento
> eccezionale) lo fa comunque in un processo generativo non
> deterministico in cui quel frammento diviene temporaneamente
> "attrattore" in forza delle "tracce mnestiche" che ha prodotto nei
> parametri, cioè qualche cifra decimale nelle gigantesche matrici del
> modello.

Ma scappelate a destra o a sinistra? :-)

Suvvia, non servono supercazzole su Nexa: ci sono migliaia di esempi di
LLM che restituiscono frammenti più o meno vasti di opere riconoscibili
attribuendole a persone inesistenti e magari con licenze inesistenti.

La mia preferita è questa
https://peertube.opencloud.lu/w/eW497u3UYXmQwcQu9LYEDR

Ma Microsoft stessa non ne faceva mistero nel paper pubblicato
all'indomani del lancio di GitHub CopyALot, cercando disperatamente
di antropomorfizzare il software per giustificare le palesi violazioni
https://github.blog/ai-and-ml/github-copilot/github-copilot-research-recitation/


Quanto si tratti di "eventi eccezionali" è ben noto: esistono
diversi studi che dimostrano la facilità con cui è possibile tirar
fuori record presenti nei dataset di "training" (il primo che mi torna
in mente: https://arxiv.org/abs/2012.07805 ).


In qualsiasi caso, sarai d'accordo con me che, per essere tirati fuori,
quei record devono essere presenti dentro il LLM, seppur codificati in
forma non leggibile.


Quindi che piaccia o meno ad editori e a chi li sviluppa, gli LLM
rimangono rappresentazioni compresse dei dataset utilizzati durante il
"training", compressione lossy ed eseguibile, ma pur sempre di
compressione / compilazione dei dataset sorgenti si tratta.



Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-06 Thread Giacomo Tesio
Io ci sono.

Quando si parte?

Che si fa?

Il 6 Settembre 2024 18:45:35 UTC, Antonio  ha scritto:
> > la Storia ha corsi e ricorsi, ma talvolta fa anche inversioni a U
> > ma non bisogna limitarsi all'invettiva aspettando che a sterzare sia
> > qualcun'altro, altrimenti non avremo alcuna rilevanza neanche a questo giro
> 
> Se c'è la volontà di cambiare, di sterzare, le professionalità, anche in 
> questa lista, non mancano :)
> Basta un cenno e si parte.
> A parte costruire un clone di ChatGpt, per il resto possiamo mettere su di 
> tutto.
> L'hanno fatto i francesi di Framasoft ( https://framasoft.org/it/manifest ) 
> 23 anni fa, perché non seguire quell'esempio?
> 
> A.


Re: [nexa] AI Training is Copyright Infringement

2024-09-06 Thread Giacomo Tesio
Ciao 380°,

On Fri, 06 Sep 2024 12:47:39 +0200 380°  wrote:

> Non capisco perché la parte "text mining" che del processo di
> c.d. "machine learning" non rientri tranquillamente nella definizione
> di "text and data mining" riportata sopra.

Perché il processo di "machine learning" (più propriamente
programmazione statistica) usato per la realizzazione di un
"AI generativa" produce matrici numeriche inintelligibili.

Non a caso vengono definite "black box".

> > Il processo di programmazione statistica di un LLM o di qualsiasi
> > altra "IA generativa" non comporta in alcun modo l'estrazione di
> > conoscenza "human-understandable" sui testi e più in generale sui
> > dati usati come sorgente.  
> 
> e perché il ‘text and data mining’ definito sopra comporta
> l'estrazione di conoscenza "human-understandable" sui testi
> analizzati?

Perché quella definizione chiarisce che l'analisi effettuata
costituisce data mining solo quando è effettuata "in order
to generate information".

Le matrici numeriche _generate_ da tali processi che costituiscono gli
eseguibili di cui parliamo non veicolano alcuna informazione.

> il fatto che la definizione dica "includes but is not limited to
> patterns..." non è secondario

Non secondario, ma subordinato (anche grammaticalmente) alla
generazione di informazioni.

D'altro canto, non parliamo di locuzioni inedite: persino Wikipedia è
cristallina in merito a cosa costituisca il data mining:

https://en.wikipedia.org/wiki/Data_mining


> quindi il processo di "machine learning" a cosa sarebbe ricondicibile,
> secondo te?

Il processo di "machine learning" è un processo di compilazione
costituito da una forma di compressione dati con perdita che produce
una rappresentazione eseguibile da parte di una certa "architettura"
(ovvero una macchina virtuale programmata allo scopo).

La scelta delle tecniche e dei dati da utilizzare (il dataset sorgente,
ma anche i valori iniziali delle matrici, gli hyperparameters etc..)
costituisce invece l'attività di programmazione statistica operata da
programmatori che si fanno pomposamente chiamare "data scientist".


> > Tuttavia NON è ciò che avviene durante la programmazione statistica
> > di un "AI generativa" che è semplicemente un'opera derivata dei dati
> > sorgente  
> 
> Il software (programmato statisticamente) è un'opera derivata dei
> testi (dati?) utilizzati per il "machine learning": ho capito bene?

Sì.

Esattamente come un binario eseguibile dall'architettura x86_64 è
un'opera derivata dai sorgenti usati per compilarlo, una matrice
eseguibile dall'architettura GPT-4 è un'opera derivata dei testi
usati per realizzarla.


> Per essere considerata opera derivata, è mio modestissimo parere che
> tale opera debba essere espressa in una forma (linguaggio)
> comprensibile agli umani, ma non mi pare proprio che il software
> programmato statisticamente (che è del tutto analogo al software
> binario) rientri in questa categoria.

Se così fosse, i binari compilati a partire da sorgenti proprietari 
non sarebbero protetti dal diritto d'autore.

Sarei felicissimo di scoprirlo, ma ne dubito fortemente perché
corrisponderebbe alla abolizione del copyright sul software.
Verrebbe meno anche il copyleft e alcuni modelli di business
che vi si basano, ma sarebbe comunque una vittoria.

> > non troppo dissimile da un jpeg o da uno zip danneggiato ma
> > ancora utilizzabile.  
> 
> ...oppure ho capito male e tu non ti stai riferendo al software
> (binario) come opera derivata ma all'output dei sistem "AI
> generativi"?

Io sto parlando dei cosiddetti "modelli AI" ovvero le matrici
eseguibili (binari nella memoria della GPU, ma la codifica è 
irrilevante...) che vengono eseguiti dalle macchine virtuali preposte
(le cosiddette "architetture") a loro volta eseguite da GPU etc...

Tali matrici sono oggetto del diritto d'autore di coloro che hanno
scritto i testi da cui sono state compilate.


Poi sì, come conseguenza, l'output calcolato dal LLM è necessariamente
un'opera derivata dalla matrice che sta eseguendo e dunque sarà
utilizzati durante la sua programmazione.
soggetta al diritto d'autore di coloro che avevano scritto i testi

E' una sorta di (ovvia?) proprietà transitiva.


Naturalmente le matrici di cui parliamo (e gli output degli LLM) non
sono SOLO opera derivata dai testi in questione perché ad esempio c'è
anche un piccolo contributo del prompt (il cui peso è indicativamente
pari al rapporto fra la sua lunghezza in byte e la lunghezza in byte di
tutti i testi usati durante il processo di programmazione statistica,
quindi trascurabile ma non nullo).

Ma negare i diritti degli autori nella realizzazione delle matrici di
cui parliamo è tecnicamente e logicamente infondato.


Abolire il diritto d'autore VA BENISSIMO ! ! !

L'importante è che venga abolito per tutti, non solo per qualcuno.


Giacomo


Re: [nexa] AI Training is Copyright Infringement

2024-09-06 Thread Giacomo Tesio
Grazie Giancarlo,

molto interessante, ma di nuovo non capisco cosa centri il data mining

On Fri, 6 Sep 2024 01:45:14 +0100 GC F  wrote:

> in diritto EU abbiamo introdotto eccezioni e limitazioni specifiche
> per il text-and-data-mining. 

Il data-mining è un processo di estrazione e rappresentazione di
pattern, andamenti e correlazioni presenti in grandi quantità di dati
in modo che siano comprensibili: parliamo di tecniche come la cluster
analysis,  il rilevamento delle anomalie, le regole di associazione
etc... può anche includere l'uso di reti neurali artificiali, ma sempre
al fine acquisire informazioni intellegibili sui dati analizzati e sui
fenomeni che quei dati rappresentano.

I software di cui parla l'articolo condiviso da Daniela non hanno NULLA
a che fare con il data mining, anche secondo la definizione del 


Già nel 2001, Han e Kamber sottolineavano in "Data mining: concepts and
techniques" (ISBN 978-1-55860-489-6) che la locuzione è fuorviante 
e che "data mining should have been more appropriately named as
'knowledge mining' which emphasis on the mining knowledge from large
amount of data" chiarendo che "The overall goal of the data mining
process is to extract knowledge from an existing data set and transform
it into a human-understandable structure for further use."

La stessa definizione di ‘text and data mining’ prevista dall'articolo
2 della direttiva (EU) 2019/790, riporta lo scopo che caratterizza
queste tecniche, ovvero la produzione di informazione sui dati:

  ‘text and data mining’ means any automated analytical technique aimed
  at analysing text and data in digital form in order to generate
  information which includes but is not limited to patterns, trends and
  correlations;

https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32019L0790#d1e845-92-1


Il processo di programmazione statistica di un LLM o di qualsiasi altra
"IA generativa" non comporta in alcun modo l'estrazione di conoscenza
"human-understandable" sui testi e più in generale sui dati usati come
sorgente.


Ad esempio, i pesi che costituiscono GPT-4, non sono interpretabili
dall'uomo e non rivelano alcunché su alcuna qualità dei testi
utilizzati per programmarlo.


Dunque di nuovo non mi è chiaro cosa centrino le limitazioni previste
agli articoli 3 e 4 della direttiva suddetta, visto che le IA
generative NON sono riconducibili in alcun modo al data mining.


> Sostenendo che la dicotomia/idea espressione sia la grundnorm del
> diritto d'autore, sostengo anche che qualsiasi conclusione che porti
> a identificare una violazione in processi di utilizzo di espressioni
> proteggibili per estrarre elementi improteggibili sia incompatibile
> con i principi generali e strutturali del diritto d'autore.

Beh, è piuttosto tautologico che, se gli elementi estratti da un opera
sono "improteggibili", non possono essere protetti. 


Tuttavia NON è ciò che avviene durante la programmazione statistica di
un "AI generativa" che è semplicemente un'opera derivata dei dati
sorgente non troppo dissimile da un jpeg o da uno zip danneggiato ma
ancora utilizzabile.


Giacomo


Re: [nexa] draft 0.0.9 di Open Source AI Definition (da: large language model e open washing)

2024-09-05 Thread Giacomo Tesio
Ops! il mio post è stato "nascosto"...


On Fri, 6 Sep 2024 00:55:55 +0200 Giacomo Tesio 
wrote:

> Qui trovi la mia controproposta:
> 
> https://discuss.opensource.org/t/draft-v-0-0-9-of-the-open-source-ai-definition-is-available-for-comments/513/11

Fortunatamente, la Wayback Machine è stata più veloce:

http://web.archive.org/web/20240905230145/https://discuss.opensource.org/t/draft-v-0-0-9-of-the-open-source-ai-definition-is-available-for-comments/513/#post_11

Riporto comunque il contenuto di seguito, caso mai richiedessero di
cancellarlo anche di lì (mi è già capitato in passato...)

```
Totally agree with @thesteve0.

Systems based on machine learning techniques are composed of two kind
of software: a virtual machine (with a specific architecture) that
basically maps vectors to vectors and a set of “weight” matrices that
constitute the software executed by such virtual machine (the “AI
model”).

The source code of the virtual machine can be open source, so that
given the proper compiler, we can create an exact copy of such software.

In the same way, the software executed by the virtual machine (usually
referred to as “the AI model”) is encoded in a binary form that the
specific machine can directly execute (the weight matrices). The source
code of such binary is composed of all the data required to recreate an
exact copy of the binary (the weights). Such data include the full
dataset used but also any random seed or input used during the process,
such as, for example, the initial random value used to initialize an
artificial neural network.

Even if the weights are handy to modify an AI system, they are in no
way enough to study it.

So, any system that does not provide the whole dataset required to
recreate an exact copy of the model, cannot be defined open source.

Note that in a age of supply chain attacks that leverage opensource,
the right to study the system also has a huge practical security value
as arXiv:2204.06974 showed that you can plant undetectable backdoors in
machine learning models.

Thus I suggest to modify the definition so that

Data information: Sufficiently detailed information about all the
data used to train the system (including any random value used
during the process), so that a skilled person can recreate an exact
copy of the system using the same data. Data information shall be
made available with licenses that comply with the Open Source
Definition.

Being able to build a “substantially equivalent” system means not being
able to build that system, but a different one. It would be like
defining Google Chrome as “open source” just because we have access to
Chromium source code.

When its training data cannot legally be shared, an AI system cannot be
defined as “open source” even if all the other components comply with
the open source definition, because you cannot study that system, but
only the components available under the os license.

Such a system can be valuable, but not open source, even if the weights
are available under a OSD compliant license, because they encode an
opaque binary for a specific architecture, not source code.

Lets properly call such models and systems “freeware” and build a
definition of OpenSource AI that is coherent with the OpenSource one.
```



Giacomo


Re: [nexa] draft 0.0.9 di Open Source AI Definition (da: large language model e open washing)

2024-09-05 Thread Giacomo Tesio
Ciao Antonio, grazie per la segnalazione.

> - Data information: Sufficiently detailed information about the data
> used to train the system, so that a skilled person can recreate a
> substantially equivalent system using the same or similar data. [Data
> information shall be made available with licenses that comply with
> the Open Source Definition.] (aggiunto)

Qui trovi la mia controproposta:

https://discuss.opensource.org/t/draft-v-0-0-9-of-the-open-source-ai-definition-is-available-for-comments/513/11


Giacomo


Re: [nexa] Why A.I. Isn’t Going to Make Art

2024-09-01 Thread Giacomo Tesio
Salve Daniela, Maurizio e Guido.

Grazie Daniela della condivisione: come Maurizio anche io colgo una
preoccupante e diffusa allucinazione collettiva attorno ai software
programmati statisticamente di cui parliamo.

L'articolo di Chiang è brillante nella sua capacità di svelare
chiaramente la totale assenza di significato nell'output di questi
software. E' triste che debba farlo uno scrittore di fantascienza, 
ma non è affatto sorprendete che riesca a farlo così bene.


L'articolo sorvola però un aspetto che diventa importante sottolineare
alla luce di considerazioni come quelle di Guido: sebbene l'output di
un LLM non abbia alcun significato (perché, come spiega bene Chiang,
il software non dispone di una mente che possa scegliere di esprimerlo),
la probabilità dei significati che gli verranno attribuiti dipende
principalmente dai testi SCELTI come sorgenti per il processo di
programmazione statistica.

Il continuo sorvolare sull'intenzionalità di questa scelta (Chiang
parla di "text found on the Internet"), nasconde al pensiero coloro che
quel software l'hanno programmato compiendo collettivamente miliardi di
miliardi decisioni.


Gli LLM sono espressione di alcune persone, espressione eseguibile che
produce per loro conto un output privo di significato, ma tale da
essere interpretato come avente un significato da chi scrive il prompt.


Ha ragione Guido quando scrive:

On Sun, 1 Sep 2024 23:25:27 +0300 Guido Vetere 
wrote:

> Il senso non è nella macchina che parla, ma nell’essere umano che
> l’ascolta. Se questa intuizione fosse recepita, compresa e condivisa,
> il discorso sull’IA generativa potrebbe assumere connotati più
> interessanti, secondo me.

Se tutti avessero piena consapevolezza della totale assenza di
significato nell'output prodotto da questi software, si sentirebbero
profondamente manipolati e presi in giro dai fornitori del "servizio".


Invece assistiamo a Valditara che al telegiornale promette una maggiore
personalizzazione dei contenuti per gli studenti disabili grazie
all'uso della "intelligenza artificiale".
Se tutti comprendessimo ciò di cui parliamo, Valditara non oserebbe
proporre di propinare contenuti privi di significato a studenti
disabili, sputando sull'articolo 3 della Costituzione.


Se tutti avessero piena consapevolezza della totale assenza di
significato nell'output di ChatGPT o Gemini, coloro che ne propongono
l'adozione nella scuola o negli ospedali verrebbero giustamente
trattati come ciarlatani in mala fede.


E certamente, il discorso sull'IA generativa assumerebbe connotati
molto più interessanti. Ad esempio, gli atti prodotti con l'uso di
questi strumenti vanno considerati automaticamente falso ideologico?
Quale che sia il prompt, il loro output è privo di significato e la sua
presenza in atti che prevedono un significato dovrebbe come
minimo invalidarli.


> Calvino spostava dunque l’attenzione dalla poiesis (la generatività)
> all’ esthesis (la ricettività): si poteva apprezzare l’opera
> letteraria automatica non per le virtù degli algoritmi che l’avevano
> creata, ma in quanto evocatrice di qualcosa di latente nel soggetto e
> nella società.

Hai ragione: coloro che programmano un LLM e ne comprendono appieno
il funzionamento, possono sottrarsi agli effetti cognitivi del "gioco di
imitazione" per cui è ottimizzato. Purtroppo possono farlo solo loro.
Alle loro menti, l'output può evocare qualcosa di latente in loro
e nella società... e che loro hanno messo nei testi sorgente. :-)

Tutti gli altri, costretti a limitarsi alla "esthesis", ne saranno
ingannati, attribuendo significati probabilisticamente prestabiliti
dagli sviluppatori... a qualcosa che non ne ha.


Cui prodest?



Giacomo


Re: [nexa] R: C'e' cascato pure Benanti...

2024-08-26 Thread Giacomo Tesio
Salve Paolo,

condivido diversi passaggi della tua email, ma vorrei porti
un'obiezione che è anche una domanda

Il 23 Agosto 2024 12:05:56 UTC, Paolo Atzeni 
ha scritto:
> Credo che la questione non sia saper programmare [...],
> ma conoscere i principi dell'informatica

Conoscere i principi dell'informatica senza saperli applicare nom è
pericolosamente simile a _credere_di conoscere i principi
dell'informatica senza conoscerli affatto?

Perché le persone che credono di comprendere l'informatica sono
utilissime a diffondere acriticamente e normalizzare qualsiasi
"innovazione tecnologica" immessa sul mercato.


> né tantomeno saper programmare a livello professionale

Bah...di questi tempi il "livello professionale" prescinde completamente
dalla comprensione dei principi fondamentali.
Dico JavaScript e ho detto tutto.

Ahimé, il livello professionale non è garanzia di una piena
cittadinanza nella società in cui viviamo.


Detto questo, non si tratta di diventare tutti programmatori di
mestiere, ma di superare il mestiere stesso di programmatore come
abbiamo superato il mestiere di scriba.


Molti di noi hanno studiato il greco o il latino alle superiori, ma non
avendolo praticato per decenni, l'hanno completamente dimenticato.
(che ci piaccia ammetterlo a noi stessi, o meno)

La stessa cosa accade per le lingue vive: all'Università studiai
con ottimi risultati il russo, ma non avendolo parlato o scritto per
oltre due decenni, non sono assolutamente in grado di leggerlo, neanche
quando mi interessa (ad esempio per leggere https://free.oberon.org/)


A mia parziale discolpa posso portare che in Italia i russi non sono
molti (e ancor meno, gli antichi latini) per cui è stato difficile
trovare occasione di praticare queste conoscenze.

La pervasività dell'informatica, invece, renderebbe molto semplice
praticare la programmazione (al netto di normative oscurantiste e
liberticide come il copyright).


Concordo che saper programmare è un mezzo, non un fine (esattamente
come saper leggere e scrivere), ma davvero pensi che un'educazione
informatica possa prescindere da tale abilità?


Giacomo





Re: [nexa] R: C'e' cascato pure Benanti...

2024-08-26 Thread Giacomo Tesio
Ciao Enrico,

On Sat, 24 Aug 2024 16:56:07 +0200 Enrico Nardelliwrote:

> Questo è quel Benanti che aveva scritto 
> (https://accademiadellacrusca.it/it/parole-nuove/algoretica/18479): 
> «Abbiamo bisogno di un’algor-etica, ovvero di un modo che renda 
> computabili le valutazioni di bene e di male» ?
> [...]
> Ma mi faccia il piacere! (cit.)

proprio quel Benati, esatto.


Ovvero qualcuno che, resosi conto delle enormi sciocchezze scritte
in passato a causa della propria ignoranza in materia, potrebbe
ragionevolmente raccomandare un'educazione informatica seria
perché altri non debbano ripetere i propri errori in futuro.

(ipotesi interpretativa, lo ammetto, basata su quanto riportato in
lista, giacché l'articolo è oscurato da paywall supportati da normative
liberticide come il copyright :-)


Dunque non escluderei una conversione sulla via di Damasco, visti i
molti precedenti illustri.


> Adesso che anche l'Unione Europea ha finalmente capito l'importanza 
> dell'insegnamento dell'informatica [...]
> si continua a sprecare tempo con queste stupidaggini?

Alla luce della tua attività con programma il futuro, non riesco a
comprendere a quali stupidaggini fai riferimento in questo passaggio.

Non credi che l'insegnamento della programmazione sia condizione
necessaria (ancorché non sufficiente) per un'educazione [1] informatica
"di qualità"?

L'obiettivo della Scuola (so che concordiamo su questo) non deve essere
fornire lavoratori all'industria, ma formare cittadini.


Puoi elaborare?


Giacomo
[1] preferisco parlare di "educazione" rispetto ad "insegnamento"
perché vedo l'informatica come un ottimo strumento educativo
al di là delle macchine che permette di controllare.


Re: [nexa] C'e' cascato pure Benanti...

2024-08-23 Thread Giacomo Tesio
ROTFL! ! ! :-D

On Fri, 23 Aug 2024 11:01:01 +0200 Guido Vetere wrote:

> io vedo un pericolo molto più grande nel fatto che tra un po' neanche
> i programmatori dovranno saper programmare :-)

Confesso che ti invidio moltissimo.

Evidentemente non hai mai dovuto identificare e fixare un bug! ;-)


I programmatori non dovranno più saper programmare quando il software
non dovrà più funzionare. Perché sì: scrivere software che nessuno
esegue non richiede grandi competenze informatiche.


> e domando retoricamente: bisogna conoscere python per capire, ad
> esempio, che un LLM non è un database o un gigantesco file word?

Non Python specificatamente, ma bisogna certamente essere in grado di
realizzare una "rete neurale artificiale" (più propriamente una
macchina virtuale per la riduzione di vettori), di programmarla
statisticamente e di utilizzarla per realizzare un trasformer, di
programmarlo statisticamente (realizzando il software che
costituisce LLM, ovvero i vari pesi etc).

Nulla che non sia alla portata di uno studente di quinta superiore
(parliamo di operazioni fra matrici), che abbia ricevuto un'adeguata
educazione informatica e cibernetica a partire dalla prima elementare.


> perché ho il sospetto che il 99.9% dei politici che fanno le leggi e
> dei giornalisti che ne parlano non ci siano ancora arrivati

Come il 99.9% delle altre persone cui queste conoscenze sono precluse.


Giacomo


Re: [nexa] C'e' cascato pure Benanti...

2024-08-23 Thread Giacomo Tesio
Ciao Marco,


On Fri, 23 Aug 2024 03:41:47 + "Marco Fioretti" wrote:

> Saper programmare e' proprio tutto e solo quello che sanno fare i
> vari Musk, Zuckerberg, Thiel, Altman e compagnia, ed e' proprio per
> l'idea che la gestione dell'informatica va lasciata a quelli come
> loro "perche' sanno programmare" che son riuciti a fare tutti i danni
> culturali e sociali che sappiamo.

Confondi condizioni necessarie e condizioni sufficienti.

Saper programmare è condizione NECESSARIA alla cittadinanza in una
società cibernetica la cui evoluzione è determinata dai comportamenti
di agenti cibernetici che sono per la soverchiante maggioranza software.

In un comune smartphone sono in esecuzione circa 300 programmi diversi
che scambiano continuamente dati con centinaia di altri software in
esecuzione presso altre macchine.

Il rapporto fra il numero di questi agenti cibernetici automatici e
quello degli agenti cibernetici autonomi (noi esseri umani) è
soverchiante ed in continuo aumento.

E questi agenti cibernetici eseguono automaticamente la volontà di chi
li realizza e li amministra.

La volontà di quello sparuto 0.35% (stima nettamente superiore alla
realtà, perché c'è un abisso fra saper scrivere codice, comprendere
come quel codice verrà eseguito e quali effetti produrrà) viene
applicata meccanicamente dal 99.99% degli agenti cibernetici che
operano nella nostra società.


Saper programmare (e debuggare) oggi è forse più importante di quanto
non fosse saper leggere e scrivere nei millenni precedenti.
Perché oggi saper leggere e scrivere significa poter comunicare con una
sparuta minoranza (gli esseri umani) e sempre più *attraverso* agenti
cibernetici automatici (server SMTP, Twitter, Facebook, Mastodon...)
che solo chi sa programmare controlla e amministra.


Chi non è in grado di comprendere come funzionano e come modificare gli
automatismi di cui è circondato, è evolutivamente spinto ad adattarsi
ad essi, invece di provare ad adattarli alla propria volontà.


Il potere dei vari "Musk, Zuckerberg, Thiel, Altman e compagnia" non
deriva dalla propria abilità nel programmare, ma dalla dis-abilità
cognitiva cui sono costrette miliardi di persone che non lo sanno fare.


Parlo di dis-abilità cognitiva perché non si tratta di semplice
in-abilità: chi non comprende come funziona un software non si limita a
NON formarsi un modello mentale del suo funzionamento e degli effetti
che la sua esecuzione avrà sulla società cibernetica in cui opera, ma
si formerà un modello mentale completamente distorto, derivato
esclusivamente da ciò che gli viene presentato dell'interfaccia 
e detto dagli "esperti".

Questa dis-torsione sistemica, che non è un fenomeno naturale ed
inevitabile, ma un obiettivo perseguito scientemente, determina
la dis-abilità cognitiva subita da quel 99,65% (e più) della 
popolazione di cui i "Musk, Zuckerberg, Thiel, Altman e compagnia"
approfittano per fondare il proprio potere.


Sostenere che saper programmare (e debuggare) non sia condizione
necessaria per una piena cittadinanza in una società cibernetica,
significa proprio rafforzare quel potere.


Poi siamo d'accordo che saper programmare (e debuggare) non è
e non sarà mai condizione SUFFICIENTE ad una piena cittadinanza, 
sia perché se non hai da mangiare non hai le energie per pensare,
sia perché se non hai accesso ai sorgenti, se non hai il tempo materiale
per studiarli e modificarli o se vincoli hardware ti impediscono di
sostituire il software in esecuzione in forza dell'interesse arbitriario
di una minoranza che lo produce, la tua cittadinanza è solo formale.


Esattamente come saper leggere e scrivere sono condizioni necessarie,
ma non sufficienti per una piena cittadinanza.


> Sono allibito.

Anche io.

Perché in Italia sarebbe "compito della Repubblica rimuovere gli
ostacoli di ordine economico e sociale, che, limitando di fatto la
libertà e l'eguaglianza dei cittadini, impediscono il pieno sviluppo
della persona umana e l'effettiva partecipazione di tutti i lavoratori
all'organizzazione politica, economica e sociale del Paese".

Ma questa è un'altra Storia...


Giacomo

PS: non potrò rispondere pubblicamente alla tua risposta a Benati sulla
piattaforma di sorveglianza e manipolazione che avete scelto perché
non intendo alimentarla o anche solo giustificarne l'esistenza.

Se però volessi invitare Benati ad iscriversi alla mailing list di
Nexa, sono certo che la troverebbe assolutamente interessante.


Re: [nexa] Large Language Models pose a risk to society and need tighter regulation, say Oxford researchers

2024-08-22 Thread Giacomo Tesio
Salve Mario,

On Thu, 22 Aug 2024 11:12:43 +0200 Mario Fusani 
wrote:

> >> No.
> >> Abbiamo realizzato software che producono output testuale privo di
> >> significato ma in grado di ingannare gli esseri umani che non ne
> >> comprendono il funzionamento."  
> 
> Certamente, ma allora era anche un inganno (o un gioco?) quello di
> Leibnitz quando, nella “Characteristica Universalis”, affermava che:
> "Omnis ratiocinatio nostra nihil aliud est quam characterum connexio,
> et substitutio. Sive illi characteres sint verba, sive notae, sive
> denique imagines” ?

Credo francamente che tu abbia frainteso quel passaggio: Leibnitz
riduce la razionalità all'elaborazione simbolica propria della
matematica, in un certo qual modo anticipando la numerazione che
Gödel, per ironia della sorte, utilizzò per dimostrarne i limiti
invalicabili. Possiamo infatti riconoscere come vera una preposizione
che non possiamo dimostrare in un sistema formale coerente.

Peraltro, i caratteri di cui parla Leibnitz sono simboli che non si
limitano a veicolare un'informazione ma sono utili per ragionare, come
le cifre o i simboli associati alle operazioni algebriche che hanno un
significato per la mente umana e che, in forza di tale significato
(dell'informazione che veicolano) permettono alla mente umana di
dedurre informazioni da altre informazioni: 1 + 1 = 10 => 10 - 1 = 1

Ma questa deduzione è possibile solo perché una mente umana interpreta
i vari simboli che costituiscono il dato, il messaggio trasmesso,
attribuendogli un significato (l'informazione) ed applicando le
informazioni di cui già dispone.

Nulla a che fare con la produzione di sequenze di caratteri in grado di
apparire plausibili a persone che ignorano il funzionamento del
processo di programmazione statistica, ma che sono completamente
privi di significato.


I simboli (visuali, tattili o sonori) che esprimono un linguaggio sono
lo strumento che abbiamo sviluppato per sincronizzare le nostre menti.

Ma le nostre menti non funzionano solo in modo simbolico / linguistico:
molte persone non pensano in forma di un monologo interiore ma in modo
visuale, con un susseguirsi di immagini che, quando opportuno,
traducono nel linguaggio verbale.
Altri pensano anche in modo non simbolico, senza "udire" parole nella
propria testa, visualizzare immagini o parole scritte [1].


Dunque a livello individuale, Leibintz semplicemente si sbagliava: ci
sono persone che ragionano in modo non simbolico e non verbale.

Se parliamo però di "ratiocinatio nostra", sottolineando il possessivo
plurale, se parliamo di riflessione condivisa e collettiva, la
tua citazione di Leibintz torna vera, perché non conosciamo modo
migliore per sincronizzare le nostre menti dell'utilizzo di simboli
(siano parole fatte di caratteri su carta o di suoni diffusi nell'aria)
che veicolino le informazioni che vogliamo condividere, in qualsiasi
modo le abbiamo pensate.


Ed è questo che determina il dubbio di Alessandro:

On Thu, 22 Aug 2024 09:44:07 +0200 alessandro marzocchi wrote:

> Due esempi dai quali nasce il mio dubbio: l'attribuzione di
> significato, la frequenza d'uso operano con criteri statistici?


La frequenza delle relazioni fra determinati termini che possiamo
registrare dipende, ovviamente, dalla frequenza con cui collettivamente
trattiamo determinati temi e dai termini che utilizziamo per trattarli.

Quando il gruppo di persone che ragionano sul "digitale" è molto
più "vocale" del grupppo di persone che ragionano sulla digitale, le
frasi che associano il termine "digitale" all'informatica diventano
statisticamente più rilevanti di quelle che lo associano alla medicina.

I LLM non fanno altro che registrare e comprimere (con notevole perdita
di informazione) queste frequenze e riprodurle con variazioni
(pseudo)casuali in output.  

Ma poiché non c'è una mente pensante che produca quell'output per
esprimere e comunicare un significato, quell'output è privo di
significato.


> mi domanderei se la nostra intelligenza può essere meno speciale di
> quanto riteniamo.

Te lo chiedi solo perché non comprendi come funzionano questi software.

Chi lo comprende sa benissimo che non c'è alcuna intelligenza lì
dentro. Si tratta di software che potrebbe ripetere in modo approssimato
tutti i testi scritti sui teoremi di incompletezza di Godel, ripetere
in modo approssimato diverse dimostrazione etc... ma non potrebbe
in alcun modo scoprire gli stessi teoremi o dedurne implicazioni non
già presenti nella (enorme) base dati usata per programmarli
statisticamente.

Ciò che ti chiederesti, se comprendessi come funzionano questi
software, è perché qualcuno abbia voluto scrivere programmi
esplicitamente progettati per ingannare persone che non ne 
comprendono il funzionamento.

Ti chiederesti perché scrivere un software per convincere la gente che
l'intelligenza umana non sia nulla di speciale e che, alla fin fine, le
persone sono solo macchine complesse.


Non si tratta di domande difficili.

Cosa si fa con le macchine

Re: [nexa] Dell'odore della carta, era: Esiste solo ciò che è su smartphone?

2024-08-21 Thread Giacomo Tesio
Scusami Marco, 

On Wed, 21 Aug 2024 16:18:56 +0200 Marco Fioretti
 wrote:

> come parte di una critica generale di tutta la mitologia che "i bit
> sono piu' fragili di carta, vinile e di tutto quello che e'
> analogico":
> 
> https://mfioretti.substack.com/p/ever-wondered-why-we-are-in-a-digital

condivido buona parte delle conclusioni ma non mi è chiaro un
passaggio: citi Vint Cerf che attribuisce 100 anni come durata massima
dei moderni libri cartacei e poi citi una lunga serie di sistemi di
archiviazione digitale cui attribuisci una durata nettamente inferiore,
tanto da copiarne i contenuti su supporti sempre più nuovi.

Facendo lo stesso con i libri cartacei, la Chiesa (che giustamente
citi), ha preservato i testi che intendeva preservare per oltre un
millennio.


Dunque, pur condividendo le conclusioni relative ai formati aperti, non
definirei "mitologia" i vantaggi della carta. 

Vero, basta un incendio per distruggerla. 
Esattamente come una chiavetta USB o un DVD.


Alle mie figlie comunque continuo a comprare libri cartacei.
Sia per insegnare loro che esistono validissime alternative allo
smartphone, al tablet e al computer, sia perché ho avuto modo di
osservare che avere una maggiore confidenza con i libri rispetto a
questi automatismi le rende nettamente più riflessive ed attente dei
coetanei.


Quanto a me, leggo decine di testi a schermo, ma quando un testo mi
sembra utile al di là delle mie esigenze del momento, lo stampo o lo
acquisto in formato cartaceo. 
Fra cento anni magari sarà polvere, ma nel frattempo sarà disponibile
ai miei figli, ai miei nipoti e auspicabilmente ai loro nipoti, senza
che nessuno ne possa registrare le letture per prevederne le opinioni.


Giacomo


Re: [nexa] Esiste solo ciò che è su smartphone?

2024-08-20 Thread Giacomo Tesio
Figurati, voleva essere una battuta scherzosa ad una persona che
stimo, pur non condividendone idee oggetto della battuta.
Mi spiace che l'effetto Poe si sia manifestato in questo caso e mi
scuso per essere sembrato offensivo.

> NON sto difendendo la scelta di Google di escludere i siti, volevo
> solo puntualizzare sul *subject* di questo *thread*

D'altro canto non avevo assolutamente compreso che la tua risposta si
riferisse SOLO al subject e non all'articolo o al fatto presentato
nell'articolo.


> forse, ripeto forse, un nudging del genere avrà più effetto rispetto
> alle linee guida di Agid (o chi per essa) su molti siti della PA?

Questo secondo me meriterebbe una riflessione seria.

Ammettiamo che sia più efficace: è auspicabile?


Storicamente, dove lo Stato non riusciva ad imporre le proprie Leggi, 
le mafie si sono radicate assumendone il ruolo: pizzo invece delle
tasse, omertà invece del dibattito pubblico, violenza privata invece
del monopolio dell'uso legittimo della forza da parte delle forze
dell'ordine.

In teoria, lo Stato non la prende bene, ma in pratica dipende. 
In molti casi, mafie e organi dello stato hanno collaborato a lungo.


Oggi che lo Stato (le PA) non riesce a rispettare le proprie stesse
Leggi, da liberista, ritieni opportuno delegare la loro applicazione 
a monopolisti privati? E che siano privati statunitensi è positivo o
negativo? (spero di non sembrarti "protezionista" ;-)


Non è una domanda retorica, né un parallelo azzardato.

Pensa a Google nelle scuole durante i 3 anni della sentenza Schrems II.
I dati di milioni di ragazzi, dei loro genitori e degli insegnanti sono
stati registrati e verranno usati per manipolarli per decenni.
Il Garante per la Protezione dei Dati non ha fatto NULLA.


Se abbiamo dato la Scuola a Google, perché non affidargli anche AgID?
Saranno certamente più "competenti"! ;-)


Giacomo


Re: [nexa] Esiste solo ciò che è su smartphone?

2024-08-20 Thread Giacomo Tesio
Suvvia 380°!

On Tue, 20 Aug 2024 15:18:01 +0200 380°  wrote:

> trattare utenti e webmasters come _minorati_ che hanno bisogno della
> /saggia/ guida di un GAFAM deve essere ritenuto offensivo

Andrea parla "da gestore di qualche micro sitarello che VIOLA tali
indicazioni"! E probabilmente [1] usa il motore di ricerca di Google.

Se difende la censur... pardon, il "nudging" di Google, ci saranno delle
buone ragioni! Mica penserai che si sia lasciato indottrinare?


Giacomo

[1] vista la market share di Google 
(...e la fiducia nel mercato di Andrea... :-D)


Re: [nexa] Esiste solo ciò che è su smartphone?

2024-08-20 Thread Giacomo Tesio
Beh, decisamente una posizione interessante, per un liberista. :-p

On Tue, 20 Aug 2024 14:54:52 +0200 Andrea Trentini wrote:
> è una sorta di "nudging" nei confronti dei gestori dei contenuti

Fuor di battuta, dici che privilegiare i siti per smartphone durante le
ricerche da smartphone (spostando i siti non ottimizzati per smartphone
in basso nei risultati del suo motore di ricerca) non costituisce un
"nudging" sufficiente?

Per me la censura non è nudging, anche se la fa un monopolista privato.

Ma non trovi insopportabilmente paternalista un nudging del genere?

> lo so che lo sa, ma ci sono sia normative che linee guida che best
> practices che dicono che i siti andrebbero fatti
> "responsive"/"adaptive"

Quali normative?
Si applicano a tutti i siti censurati da Google o solo ad uno sparuto
sottoinsieme (come ad esempio le pubbliche amministrazioni)?


Quanto alle best practices: chi applica SEMPRE le best practice e 
non è in grado di concepire (e dunque di riconoscere) i casi in cui è
meglio NON applicarle, non dovrebbe MAI essere messo in condizione di
decidere sul loro utilizzo.


Giacomo



Re: [nexa] Large Language Models pose a risk to society and need tighter regulation, say Oxford researchers

2024-08-20 Thread Giacomo Tesio
Salve Gianluca, 
devo ancora finire di commentare un articolo che avevi condiviso qui in
lista tempo fa.

Meritava una analisi puntuale ed attenta che non ho potuto completare,
ma cui spero di riuscire presto a dedicare l'attenzione necessaria.


Il 20 Agosto 2024 10:39:18 UTC, Gianluca Fasano
 ha scritto:
> 
> Non c'è dubbio...

Questa frase dovrebbe già suonarti come un campanello d'allarme: il
dubbio è il fondamento della ricerca scientifica e quando manca abbiamo
buone probabilità di non aver compreso davvero ciò di cui ragioniamo.

> abbiamo disunito la capacità di comprensione dalla capacità
> ‘tecnologica’ di produrre idee e opinioni; 

No.

Abbiamo realizzato software che producono output testuale privo di
significato ma in grado di ingannare gli esseri umani che non ne
comprendono il funzionamento.

La tua mente attribuisce significato a qualcosa che non ce l'ha, come
un sasso o la pioggia, ma che è stato letteralmente progettato e
realizzato per massimizzare la probabilità di ingannarti.
Turing lo chiamava "imitation game", ma sarebbe stato più corretto
parlare di "imitation deceit".


È software innovativo?
Sì, abbastanza da apparire "indistinguibile dalla magia" ai profani.

Produce idee e opinioni?
No. Ma è stato progettato per ingannare la tua mente in proposito.

> abbiamo creato autori senza persona

Confondi autorialità e plagio automatizzato su larghissima scala.

> senza libertà ma che, nei fatti, simulano l’esercizio di quella. 

Come simulano la produzione di idee e opinioni: tramite l'inclusione
di numeri casuali nell'input del software.

> Adesso abbiamo il compito di individuare modelli normativi per
> gestire le responsabilità derivanti da questi nuovi modelli di
> autorialità.

Perché?

Non basta che ne rispondano coloro che realizzano il software (quando
scaricabile) o che forniscono il servizio (vedi ChatGPT, Gemini etc...)

Hanno scritto un software che produce output per loro conto,
riproducendo malamente i testi che hanno usato per programmarlo
statisticamente.

È sufficiente che rispondano delle eventuali violazioni del diritto
d'autore e di ogni output che questi software producono come se lo
avessero scritto per proprio conto.

Se quell'output viene interpretato da un giudice come diffamatorio,
loro risponderanno per diffamazione.
Se quell'output viene interpretato da un giudice come disinformazione,
loro ne risponderanno. E così via.

Perché l'uso di automatismi complessi per violare i diritti delle
persone o le norme esistenti dovrebbe garantire impunità o comunque un
trattamento diverso da parte della Legge?


Giacomo


Re: [nexa] Large Language Models pose a risk to society and need tighter regulation, say Oxford researchers

2024-08-11 Thread Giacomo Tesio
Caro Guido,

l'importante, in uno stato di diritto è che la Legge sia uguale per tutti e 
nessuno possa
sperare di sottrarvisi attraverso automatismi che compiono reati per proprio 
conto.


Il 11 Agosto 2024 07:12:04 UTC, Guido Vetere  ha 
scritto:
> il crimine non consiste nel dare
> credito a una affermazione non verificata (altrimenti staremmo tutti in
> galera), e neanche raccontare balle al telefono. il crimine consiste nel
> diffondere attraverso mezzi di comunicazione di massa notizie non
> verificate che possono fomentare la violenza.

Se questo fosse il crimine, bisognerebbe arrestare la maggioranza dei 
giornalisti
dall'inizio della guerra in Ucraina in poi.


Non capisco poi la fretta di assolvere i mezzi di comunicazione di massa 
(giornali, TV, LLM
 distribuiti gratuitamente...) e quelli di manipolazione individuale su larga 
scala 
(social vari, LLM forniti come SaaS etc...): ad esempio, nel caso concreto, è 
stato Musk 
a decidere di inviare la fake news a persone
con probabilità elevata avrebbero reagito 
violentemente.

Il fatto che l'abbia fatto tramite un software (Twitter) deve essere 
irrilevante.


> fuor di metafora: l'idea che i LLM debbano essere per legge tenuti alla
> veridicità è...

una cazzata.

Siamo d'accordo: i LLM sono espressione di chi li realizza, distribuisce e 
amministra.

Non si può pretendere di imporre una verità a queste persone più di quanto non 
la si 
possa imporre a qualsiasi altro cittadino che si esprima in altro modo, 
attraverso l'arte,
la poesia, la letteratura, il giornalismo etc...

Semplicemente bisogna sempre considerarli direttamente responsabili del loro 
output,
esattamente come se lo avessero scritto di proprio pugno su un giornale a 
tiratura planetaria.


Niente di più e niente di meno.


Giacomo


Re: [nexa] Large Language Models pose a risk to society and need tighter regulation, say Oxford researchers

2024-08-10 Thread Giacomo Tesio
Salve Guido,

Il 10 Agosto 2024 08:36:32 UTC, Guido Vetere  ha 
scritto:
> Ora un esperimento mentale: si scopre che la mentitrice ha generato il
> falso per mezzo di un LLM.
> Quesito: potrà usare questa circostanza a sua, sia pur parziale, discolpa?

Dipende.

Era consapevole di come funziona un LLM?
Era consapevole della falsità dell'interpretazione che gli altri avrebbero 
attribuito alla 
sequenza di caratteri calcolati dal 
software?

Se no, non si potrebbe attribuirgli alcuna responsabilità, che sarebbe SOLO di 
coloro
che le hanno fornito accesso al LLM in questione.

Se sì, la responsabilità delle conseguenze della diffusione di tale output 
ricadrebbe 
anche su di lei.

> Se sì, bisognerà dare ragione ai ricercatori di Oxford, altrimenti avranno
> ricercato invano.

Non sequitur: i ricercatori di Oxford possono aver "ricercato invano" anche se 
la
la tua ipotetica signora fosse vittima della malafede di chi realizza e promuove
come "intelligenze artificiali" questi software programmati statisticamente.

Non si tratta di istituire "verità" da imporre ai software (o meglio, tramite i 
software).
Si tratta semplicemente di individuare i responsabili, senza permettere 
a nessuno di nascondersi dietro un software, che si chiami Twitter o ChatGPT.

Che si tratti della 56 enne arrestata a Chester, di Musk. di Altman, di 
Bankman-Fried...


Giacomo


Re: [nexa] Large Language Models pose a risk to society and need tighter regulation, say Oxford researchers

2024-08-09 Thread Giacomo Tesio
Il 9 Agosto 2024 13:39:01 UTC, Guido Vetere  ha scritto:
> 
> A parte l'imbecillità neopositivista degli oxfordiani sulla quale potremo
> tornare, il problema come dice Stefano è la diffusione, non la genesi.

Certo, fintanto che non lo legge NESSUNO,  può produrre qualsiasi output.
Riservando l'output di un LLM esclusivamente agli sviluppatori che lo hanno 
programmato statisticamente, non si può danneggiare nessuno.


Solo nel momento in cui viene inviato a terze parti, chi lo amministra ne deve 
rispondere, 
indipendentemente dal canale usato per trasmetterlo, esattamente come se
avesse scritto di proprio pugno quell'output.

Ciò ovviamente non esclude ulteriori responsabilità di chi riceve tale output
se, ad esempio, lo invia a terzi.


Per cui fintanto che i vari LLM sono accessibili al pubblico e/o forniti come 
servizi a pagamento,
diverse persone ne devono rispondere.


Non servono nuove leggi: basta applicare quelle esistenti, come spiegava bene 
Daniela Tafani 
già l'anno scorso
 



Giacomo


Re: [nexa] i language model alle prove INVALSI

2024-07-30 Thread Giacomo Tesio
Certo Guido,

On Tue, 30 Jul 2024 12:00:05 Guido Vetere wrote:

> quando i modelli multilingua di Meta, DeepMind e Mistral sui
> benchmark italiani vanno al doppio di quelli 'autarchici', 
> qualcosa dovrà pur dire

vuol semplicemente dire che Meta, DeepMind e Mistral hanno incluso
migliaia di quiz e test a risposta multipla nella base dati utilizzata
per programmare statisticamente i propri software.


La cosa ti sorprende?

E' da un po' che va avanti:
https://www.businessinsider.com/list-here-are-the-exams-chatgpt-has-passed-so-far-2023-1
https://www.ama-assn.org/practice-management/digital/chatgpt-passed-usmle-what-does-it-mean-med-ed
https://edition.cnn.com/2023/01/26/tech/chatgpt-passes-exams/index.html


Ora, per quanto restii a smettere di parlare di "intelligenza
artificiale" e stronzate simili, i ricercatori che hanno programmato i
"modelli" che tu chiami "autarchici" non hanno come obbiettivo primario
buttare fumo negli occhi agli sprovveduti che non sanno come funziona
un LLM ed è dunque prevedibile che non avranno ottimizzato
particolarmente simili "imitation games".


Giacomo


Re: [nexa] Building Artificial Consciousness With GPT-3

2024-07-18 Thread Giacomo Tesio
Ciao Fabio,

assumendo che tu non mi stia trollando e che io non sia stato chiaro, riprovo.

Il 18 Luglio 2024 13:42:05 UTC, Fabio Alemagna  ha scritto:
> Il giorno mer 17 lug 2024 alle ore 16:24 Giacomo Tesio 
> > Se vuoi possiamo fare lo stesso gioco via mail: riuscirò a convincerti
> > che Molly ha una coscienza se ti scrivo un po' di frasi che iniziano
> > con "Molly (to herself): " prima di una frase che inizia con "Molly: "?
> > (vedi https://github.com/marmelab/molly/blob/main/src/Discussion.tsx )
>
> Non mi è chiaro come un testo da te personalmente scritto dovrebbe
> convincermi dell'esistenza della coscienza di qualcun altro, che sia un
> agente artificial o naturale.

Appunto, non sequitur.

Ora tieniti stretta questa consapevolezza e rileggi il codice di Molly.

Si tratta sostanzialmente di una banalissima GUI per GPT-3 a cui viene inviato 
questo prompt
iniziale <https://github.com/marmelab/molly/blob/main/src/Discussion.tsx#L5-L26>
cui viene aggiunto mano a mano l'input fornito dall'utente (col prefisso 
"Interlocutor: ")

GPT-3 calcola un output simile all'esempio fornito.

Questo output viene diviso in linee e presentato in colori diversi all'utente 
dopo aver rimosso
"Molly (to herself): " e "Molly: ".

GPT-3 sta dunque facendo ciò per cui è stato programmato statisticamente: 
produrre
un output che un essere umano possa interpretare come una continuazione
plausibile del prompt fornito.

Se il testo scritto da me (che pure sono dotato di coscienza e intelligenza) 
non ti convince
che Molly sia autocosciente, perché invece l'output di GPT-3 ti convince che
Molly potrebbe essere autocosciente, ovvero ciò che sostiene l'autore nelle 
conclusioni:

```
But I can say that Molly is a very interesting experiment. It shows that a 
machine can have an inner monologue, and that this inner monologue looks like 
consciousness. 
And if Attention Schema Theory is right, then Molly is conscious.
```

L'output di GPT-3 non è un "inner monologue" per GPT-3.
È solo la continuazione di un testo che descrive un monologo interiore.

Tale continuazione appare plausibile perché simile ai dialoghi e ai monologhi
presenti nei testi utilizzati per programmare statisticamente GPT-3.


Ora se la mia continuazione del prompt non ti può convincere dell'autocoscienza 
di
Molly, non dovrebbe convincertene nemmeno la continuazione calcolata da GPT-3.

> non trovo falle nel sillogismo esposto in calce all'articolo menzionato.

Forse perché vuoi credere alle conclusioni?

Molly però resta una GUI su un sistema di completamento del testo.



D'altro canto simili trucchetti vengono proposti da coloro che propongono di 
far spiegare
ai LLM i "propri ragionamenti" e di eleggere tale output a "spiegazione della 
AI".

Ma chiunque comprenda come funziona un LLM sa bene che tale output non avrebbe
alcuna relazione con il processo di calcolo "spiegato" dal LLM.

Non sarebbe dunque una spiegazione, ma una giustificazione accettabile per il 
pubblico del
tutto diversa dal calcolo effettivamente effettuato.

Calcolo che potrebbe essere selettivamente discriminatorio nonostante la 
giustificazione fornita.



Giacomo


[nexa] Google Now Defaults to Not Indexing Your Content

2024-07-18 Thread Giacomo Tesio
Google is no longer trying to index the entire web. In fact, it's become 
extremely selective, refusing to index most content. This isn't about content 
creators failing to meet some arbitrary standard of quality. Rather, it's a 
fundamental change in how Google approaches its role as a search engine.

[...]

Now, for each piece of content, Google decides if it's worth indexing, and more 
often than not, the answer seems to be "no." They might index content they 
perceive as truly unique or on topics that aren't covered at all. But if you 
write about a topic that Google considers even remotely addressed elsewhere, 
they likely won't index it. This can happen even if you're a well-respected 
writer with a substantial readership.

Interestingly, I've noticed that when content does manage to get indexed, it 
often ranks surprisingly well. It's as if the hurdle of getting indexed has 
become so high that once you clear it, you're already most of the way to 
ranking. However, getting to that point has become exponentially more difficult.

Importantly, this extreme selectivity isn't applied equally. Big, recognized 
brands often see most of their content indexed quickly, while small bloggers or 
niche websites face a much higher bar for inclusion.




Giacomo


Re: [nexa] Building Artificial Consciousness With GPT-3

2024-07-17 Thread Giacomo Tesio
Ciao Fabio, 

grazie per questa segnalazione assolutamente affascinante.

On Wed, 17 Jul 2024 12:39:12 Fabio Alemagna  wrote:

> > I've developed Molly, a conversational agent with an inner
> > monologue, using OpenAI's Large Language Model (LLM).

Ehm... no.

L'autore ha sviluppato un agente che _simula_ un monologo interiore.

E trovo veramente affascinante che abbia compreso così poco di ChatGPT
da non cogliere la differenza e concludere niente meno che:

```
It shows that a machine can have an inner monologue, and that this
inner monologue looks like consciousness.
And if Attention Schema Theory is right, then Molly is conscious.
[...] Sentient beings may not be very far away. 
```

Ma... lool! :-D

Quello non è il dialogo interiore di Molly, ma un testo generato da
GPT-3 sulla base di un prompt a partire da un dialogo di esempio.

> PS: ho replicato l'esperimento con ChatGPT-4. con risultati del tutto
> analoghi, se non migliori.

Se vuoi possiamo fare lo stesso gioco via mail: riuscirò a convincerti
che Molly ha una coscienza se ti scrivo un po' di frasi che iniziano
con "Molly (to herself): " prima di una frase che inizia con "Molly: "?
(vedi https://github.com/marmelab/molly/blob/main/src/Discussion.tsx )

E ciò che scriverò dopo "Molly (to herself): " sarà ciò che pensa Molly
o ciò che penso io? Oppure ciò che io penso che Molly potrebbe pensare?

Tendo a propendere per quest'ultima ipotesi, non foss'altro per il
fatto che non esisterà alcuna Molly nella nostra simulazione via email
e io non sono timido come richiesto dal prompt. ;-)

Dunque se ciò che ti scrivo io non dimostra che Molly ha una coscienza,
come potrebbe dimostrarlo l'output di Open AI?


E se cambiassimo il prompt descrivendo una Molly schizofrenica,
sosterresti che GPT è schizofrenico? Se la nostra Molly fosse
un'assassina psicopatica, crederesti GPT psicopatico?

E se eseguissimo il nostro simulatore in parallelo, tu con la Molly
timida e io con una aggressiva, GPT avrebbe personalità multiple?


Vedi Fabio, questo esperimento è VERAMENTE interessante perché dimostra
che, sebbene sia sufficiente leggere il codice per osservare che GPT
non sta rivelando alcunché della PROPRIA coscienza (che non ha), coloro
che VOGLIONO CREDERE nella favola della "intelligenza artificiale" sono
disposti ad accettare acriticamente a qualsiasi "fake experiment" che
sembri dimostrare l'esistenza di qualcosa che non c'è.


Ricorda "I want to believe" di Fox Mulder. Ma questo non è un film.


D'altro canto, non è tutta colpa loro.

Lo stesso creatore di Molly sottolinea come la APT:

> introduces a concept called "attention", which is reminiscent
> of the famous "Attention is all you need" that triggered the recent
> spike in Language Model performance.

Se avessero chiamato il meccanismo in questione "contextual token
prioritization" invece di "attention" l'autore si sarebbe risparmiato
una brutta figura (e il resto del mondo, un'allucinazione collettiva).

Ma è un paper di Google, quindi... ¯\_(ツ)_/¯


Giacomo


Re: [nexa] i language model alle prove INVALSI

2024-07-15 Thread Giacomo Tesio
Come scrisse Fo (e cantò Iannacci)

On Mon, 15 Jul 2024 12:05:43 +0200 Guido Vetere wrote:

> la cosa interessante
> è filtrare i modelli per dimensione e 'apertura' (nel senso del LLM

```
pover purcel! nel senso del maiale...
a beh, sì beh, a beh sì beh...
```

:-D


Giacomo


Re: [nexa] large language model e open washing (da: una "gemma" da Google)

2024-07-15 Thread Giacomo Tesio
Ciao Fabio,

scusa il delay... ma ho potuto leggere l'articolo solo ora.

On Wed, 3 Jul 2024 16:12:14 +0200 Fabio Alemagna 
wrote:

> Il giorno mer 3 lug 2024 alle ore 14:55 Giacomo Tesio
>  ha scritto:
> >
> > ROTFL! :-D
> >
> > Il giorno Wed, 3 Jul 2024 14:29:07 Guido Vetere ha scritto:  
> > > un algoritmo che fa uso di numeri casuali è generalmente
> > > considerato non deterministico, full stop  
> 
> I vari GPT* sono non-deterministici:
> https://152334h.github.io/blog/non-determinism-in-gpt-4/

Beh... l'autore cita in proposito gli sviluppatori di Open AI:

```
We think there might be some bug in our systems, or some
non-determinism in optimized floating point calculations...
```

"Qualche bug" :-D
[1]

Non nego che va apprezzato il progresso: solo un anno fa avrebbero
sicuramente pubblicato da qualche parte un paper blaterando di
scintille di senso critico, dubbio o altre sciocchezze...
Ricorderai https://arxiv.org/abs/2303.12712 che qualcuno ancora si beve.


Fortunatamente il primo commento all'articolo svela il mistero:
https://github.com/openai/summarize-from-feedback/blob/master/summarize_from_feedback/models/sample_fns.py#L20

Il codice aggiunge sempre 1e-7 alla "temperatura", rendendo impossibile
eseguire Chat GPT in modo palesemente deterministico.


Perché?

Per evitare un if?
O per ingannare gli utenti sulla natura di Chat GPT?


A posteri l'ardua sentenza... ;-)


Giacomo

[1] anche le inconsistenze fra operazioni float ottimizzate in modo
diverso su macchine diverse sono bug del processo di build. 
Una buona sintesi con diversi riferimenti per approfondire
la questione si trova qui:
https://gafferongames.com/post/floating_point_determinism/


Re: [nexa] il rapporto di compressione degli LLM (was: Didattica a distanza...).

2024-07-14 Thread Giacomo Tesio
Caro Roberto,

trovo questo accorato appello

Il 14 Luglio 2024 12:59:45 UTC, Roberto Dolci  ha scritto:
> in questo istante i ricercatori di Meta, Antrop, OpenAI e compagnia stanno 
> ANCORA
> studiando e vedendo come funziona davvero un LLM...
> Lasciamo che gli scienziati dietro agli LLM facciano il loro mestiere

davvero illuminante.

"non disturbate i manovratori!", "lasciate che gli scienziati scienzino!" :-D


Ma vedi Roberto, questi "scienziati" non si limitano a "studiare" i software 
(che hanno
programmato statisticamente) che non comprendono nel proprio laboratorio.

Li hanno "immessi sul mercato" prima ancora di capire come funzionano!

Almeno secondo la narrazione che riporti:

> Models are essentially grown, rather than designed, says Josh Batson, a 
> researcher
> at Anthropic, an AI startup. Because LLMs are not explicitly programmed, 
> nobody 
> is entirely sure why they have such extraordinary abilities. 
> Nor do they know why LLMs sometimes misbehave, or give wrong or 
> made-up answers, known as “hallucinations”. LLMs really are black boxes.

Ma com'è che se invece di considerarle "intelligenze artificiali" li consideri
software programmati statisticamente, tutte queste misteriose osservazioni
smettono di apparire misteriose e sorprendenti e diventano istantaneamente 
ovvie?

L'hai visto bene con le traduzioni latino->inglese vs inglese->latino:

- se ti immagini un'intelligenza che sa tradurre in un senso, è ovvio 
aspettarsi che lo sappia 
  fare nell'altro.

- se comprendi che si tratta di software programmato statisticamente, è chiaro 
che
  il numero, la varietà e la lunghezza dei testi inglesi tradotti in latino 
sarà nettamente
  inferiore rispetto all'altra direzione, perché la gente non studia latino per 
complimentarsi
  con Marziale per la sua sagacia o lamentarsi con Giovenale del suo 
maschilismo!

Lo stesso vale per le "allucinazioni", output ovviamente analoghi a quelli di 
cui 
l'utente non nota gli errori, se comprendi che entrambi sono prodotti sulla 
base 
delle frequenze rilevate nei testi sorgente: la probabilità di errori aumenta 
con la lunghezza dell'output.



Dunque quale analisi del rischio credi che abbiano fatto prima di rendere 
accessibile 
software che suggerisce alle anoressiche come bruciare le calorie in eccesso 
o di bere con moderazione agli alcolisti?

Te lo dico io: hanno analizzato il rischio di essere citati per danni e di dover
pagare le controparti in accordo extragiudiziale.
Dopo di che hanno messo la cifra a budget.

Fine della gestione del rischio per gli "scienziati" di Meta, Antropic e OpenAI.


Che poi... "scienziati".

Galileo si rivolta nella tomba.


> e la prima indicazione e' che si 
> comporta come il nostro cervello per alcuni processi.

ROTFL!!! :-D

Ma chi te l'ha detta sta... "interpretazione"? :-D

Scusa, ritorno in modalità Nexa: puoi condividere i riferimenti alle
publicazioni scientifiche che riportano queste "prime indicazioni"?


Giacomo


Re: [nexa] [CAUTION: SUSPECT SENDER] Re: Didattica a distanza, l’84% degli studenti è più sicuro e con voti migliori.

2024-07-13 Thread Giacomo Tesio
Il 13 Luglio 2024 19:14:25 UTC, Roberto Dolci  ha scritto:
> Se tu divessi imparare a condurre un veicolo come usi un LLM saresti ancora 
> in officina

Per la verità, il funzionamento di un autoveicolo è straordinariamente più 
semplice di un LLM.

Nonostante ciò, chi vuole guidarlo deve superare un esame che prevede che 
verifica una
comprensione sufficiente del funzionamento del veicolo e dei suoi componenti.

Peraltro, larga parte del esame di teoria è relativa ai rischi ed alle 
conseguenze 
per sé e per gli altri di un uso improprio del mezzo.¹



Quanti anni di informatica servono per guidare consapevolmente un sistema della 
complessità
di Chat GPT? Dieci basteranno?

Sicuramente c'è qualche centinaio di persone al mondo in grado di usare software
simili consapevolmente e senza arrecare danni a sé stesse o ad altri.

La tua Prof di latino, ahimè, non sembra essere fra queste.


Giacomo

¹ e pensa se le auto accellerassero da sé: 


PS:
> Conosci la corretta formula della benzina ed il rapporto di compressione nel 
> cilantro? Assai improbabile.

Questa sì che è una considerazione interessante!
Qundo ci giochiamo una pizza al cartodromo?


Re: [nexa] [CAUTION: SUSPECT SENDER] Re: Didattica a distanza, l’84% degli studenti è più sicuro e con voti migliori.

2024-07-13 Thread Giacomo Tesio
Ciao Roberto,

Il 11 Luglio 2024 22:59:38 UTC, Roberto Dolci  ha
scritto:
> Nota a parte per questo: "
> La tua prof di latino a Boston non ha idea di come funzioni ChatGPT,
> di quali bias possa diffondere o come le interazioni degli studenti
> verranno usate per manipolarli.
> 
> La prof e' una vera professionista, che non solo e' partita con me
> 15-18 mesi fa a prender confidenza con lo strumento, ma ci e' entrata
> proprio dentro con studi specifici prima di iniziare ad usarlo a
> scuola. 

È in grado di realizzarlo "from scratch" su hardware proprio?
È in grado di debuggarlo?
Ovvero è in grado di spiegare puntualmente (ed in modo verificabile e
riproducibile) come un certo output viene calcolato a partire da un
certo input?

Se sì, ne comprende il funzionamento.
Se no, non ne comprende il funzionamento.

Se non ne comprende il funzionamento, l'addestramento al suo utilizzzo
può avere un solo esito: la normalizzazione del suo utilizzo e la
conseguente "imposizione" ai suoi studenti.

In nessun caso l'addestramento all'uso di uno strumento complesso mette
l'addestrato in condizione di decidere consapevolmente se e quando
usare uno strumento.

In altri termini, se addestri una persona ad usare uno strumento,
quella persona lo userà.


SOLO se ne comprende pienamente il funzionamento e i limiti, potrà
decidere SE e quando usarlo.

> E lei valuta bene il profilo di rischio a scuola: va da ragazzi che
> si accoltellano, uso di droghe, gravidanze precoci,  monogenitore,
> il gamut dei disturbi mentali, long covid, cyber bullying ed altri
> rischi on line. E giustamente contestualizza il rischio di mettere
> informazioni private su chatgpt rispetto a quanto guadagna nel
> rapporto coi genitori.

Insomma, una Prof benaltrista.

Il fatto che i ragazzi siano soggetti ad una pluralità di rischi non
giustifica la menomazione della loro libertà futura che questa prof
opera cedendo dati personali sensibilissimi che riguardano loro e i
loro genitori.

Che poi questa prof comprenda l'entità del danno che gli procura è
tutto da dimostrare.

Perché un insegnante che comprendesse tali danni e li accettasse per
benaltrismo soffrirebbe di una dissonanza cognitiva elevatissima.

A meno, ovviamente, di non interpretare l'insegnamento come un processo
di riduzione delle capacità cognitive degli studenti, come Enrico ha
ben spiegato.


> 
> Meglio una prof appassionata del proprio mestiere che studia come
> meglio applicare le nuove tecnologie, 

Che purtroppo non è ciò di cui stiamo parlando.

Stiamo invece parlando di una Prof che per usare le tue parole 
"s'e' adattata bene".

Ovvero una Prof che non disponendo degli strumenti culturali per
comprendere il funzionamento di un software e le finalità che questo
esegue (nell'interesse di chi lo ha programmato), lo percepisce come un
fenomeno naturale cui adattarsi, come la pioggia, la neve o lo scorrere
di un fiume.

Lo confonde, insomma, con fenomeni che non veicolano alcuna
intenzionalità umana.

Fenomeni cui "adattarsi" e di cui magari imparare a trarre vantaggio.


Sia chiaro non è colpa sua: la tua Prof è vittima di una manipolazione
che sfrutra bias evolutivi profondamente incardinati nella sua
personalità.

La sua passione per l'insegnamento non la mette al riparo da questa
allucinazione eterodiretta.

Starebbe a noi, se ne disponiamo, il dovere di fornirle gli strumenti
culturali per sottrarsi a tale manipolazione.


> che qualcosa di mandato dall'alto da chi abbia poca contezza della
> vita a scuola

Comprendo la sfiducia nei confronti delle autorità: pagheremo ancora a
lungo la sciagurata imposizione della didattica a distanza via Google
Meet.

D'altro canto decine di migliaia di LIM e di tablet che saranno
obsoleti entro pochi mesi sono lì a testimoniare come, affidare a
professori e dirigenti appassionati ma informaticamente ignoranti
decisioni di spesa su centinaia di migliaia di euro del PNRR sia una
idea altrettanto pessima.


Che le decisioni vengano perse dall'alto o dal basso, se chi decide è
ignorante (e dunque facilmente manipolabile), deciderà male.

E quando si parla di scuola, i danni (talvolta drammatici) di tali
decisioni ricadranno subito sugli studenti ed entro qualche anno sulla
società in cui questi vivranno, lavoreranno, voteranno etc...


Giacomo 


Re: [nexa] [CAUTION: SUSPECT SENDER] Re: Didattica a distanza, l’84% degli studenti è più sicuro e con voti migliori.

2024-07-13 Thread Giacomo Tesio
Ma vedi Roberto,

On Thu, 11 Jul 2024 22:50:28 + Roberto Dolci 
wrote:

> Io condivido la sorpresa della prof nell'enorme differenza tra la
> traduzione verso l'inglese (perfetta) e quella verso il Latino,
> valida appunto come bozza.
> [...]
> Ne io ne lei avremmo previsto la totale differenza nella qualita,'
> delle traduzioni a seconda della lingua di partenza

La sorpresa è comprensibile solo se si sta assumendo che una qualche
intelligenza, artificiale ma con memoria e potenza di calcolo
pressocché illimitata, abbia effettuato entrambe le traduzioni.

La tua Prof proietta la propria intelligenza umana sulla macchina e si
sorprende che uno studente che abbia imparato a tradurre brillantemente
dal latino all'inglese, non abbia imparato a tradurre in modo
equivalente dall'inglese al latino.


Nota come non ho virgolettato le parole "intelligenza" e "imparato"
per riprodurre più fedelmente la prospettiva della Prof che, sentendo
"esperti" parlare di "machine learning" e "artificial intelligence",
immagina Chat GPT alla stregua di uno studente che abbia imparato a
tradurre da una lingua ad un'altra.


> La prof correttamente non ha speso tempo nel correggere il Latino
> tradotto malamente dalla macchina, ma ha fatto lavorare I ragazzi
> sulla pulizia del loro inglese, fino a quando ChatGPT ha poi tradotto
> bene.

Interpretazione edificante, ma errata.


Chiunque abbia mai studiato latino, ricorda bene le frasette
didattiche che costituivano la gran parte degli esempi 
da tradurre in latino.

Frasette semplici e lineari focalizzate sull'esemplificazione e
l'apprendimento di specifici costrutti, non sulla espressione di
concetti arbitrariamente complessi.


Al contrario, esistono molteplici traduzioni dal latino all'inglese 
di innumerevoli opere in latino che esprimono concetti complessi.
Ed è ovvio: un sistema programmato statisticamente, riproporrà
traduzioni simili a quelle utilizzate per la sua programmazione.


La Prof non può saperlo, perché non comprende come funziona un LLM e
non saprebbe come realizzarlo, per cui interpreta le frasi inglesi che
"funzionano" come "lineari e pulite" invece che come esempietti
didattici.


Dunque la tua Prof NON ha insegnato ai propri alunni ad esprimersi
meglio in inglese.

Gli ha insegnato ad allineare il proprio inglese agli esempietti
didattici di traduzione dall'inglese al latino presenti nel dataset
sorgente utilizzato per programmare ChatGPT.


Personalmente non credo che ciò sia edificante ed educativo per gli
studenti, ma auspicabilmente a Boston questi ragazzi troveranno ben
altri stimoli.


> Hanno capito il vecchio garbage in, garbage out: se butti un testo
> approssimativo in inglese, la macchina te ne restituisce uno allo
> stesso livello.

No, sono stati addestrati ad assumersi la responsabilità per gli
output erronei di quel software.

O meglio, sono stati addestrati a scaricare la responsabilità degli
output errati sugli utenti, sugli "studenti caproni" per usare le tue
parole.


Se avessero compreso davvero il concetto di GIGO, si chiederebbero
perché la loro Prof gli fa usare un software buggato che può produrre 
spazzatura anche quando gli fornisci input di ottima qualità.

Si chiederebbero perché i creatori di ChatGPT abbiano razzolato tutta
la spazzatura del Web per programmarlo.

E magari si chiederebbero perché la Prof invia ad un simile software le
email dei propri genitori.

> Ne io ne lei avremmo previsto la totale differenza nella qualita,'
> delle traduzioni a seconda della lingua di partenza, ma lei s'e'
> adattata bene

S'è "adattata" a cosa?

A un fenomeno naturale o ad un automatismo controllato da sconosciuti?


Giacomo


[nexa] Google Chrome favour google.com

2024-07-11 Thread Giacomo Tesio
It turns out Google Chrome (via Chromium) includes a default extension which 
makes 
extra services available to code running on the *.google.com domains - tweeted 
about 
today by Luca Casonato, but the code has been there in the public repo since 
October 2013
as far as I can tell.

It looks like it's a way to let Google Hangouts (or presumably its modern 
predecessors) 
get additional information from the browser, including the current load on the 
user's CPU.
Update: On Hacker News a Googler confirms that the Google Meet 
"troubleshooting" 
feature uses this to review CPU utilization.

[...]

The code doesn't do anything on non-Google domains.

Luca says this - I'm inclined to agree:

```
This is interesting because it is a clear violation of the idea that browser 
vendors should not give preference to their websites over anyone elses.
```




Giacomo


Re: [nexa] [CAUTION: SUSPECT SENDER] Re: Didattica a distanza, l’84% degli studenti è più sicuro e con voti migliori.

2024-07-07 Thread Giacomo Tesio
Ciao Roberto,

Il 7 Luglio 2024 12:49:09 UTC, Roberto Dolci  ha scritto:
> Da pragmatico, preferisco dare uno strumento in mano ai prof 

sennonché non si tratta di "dare uno strumento" ma di sussidiare l'uso di un 
prodotto in affitto
da parte di insegnanti in modo che ne impongano l'uso da parte degli studenti.

Né importa _quale_ uso.

L'importante è normalizzarne la dipendenza, scaricando la responsabilità dei 
danni
sugli utenti perché "bastava solo usarlo diversamente".

> lasciare siano loro a sperimentare e poi decidere come meglio usarlo

Come hanno fatto con Google Workspace dopo la sentenza Schrems II?

Stai caricando i docenti di responsabilità per cui non hanno le competenze 
necessarie.

La tua prof di latino a Boston non ha idea di come funzioni ChatGPT, di quali 
bias
possa diffondere o come le interazioni degli studenti verranno usate per 
manipolarli.
Né ha idea dei danni che può fare inviando sul cloud le informazioni necessarie 
a rispondere ad una mail dei genitori.

> che sperare una qualche autorita’ illuminata possa normare la cosa.

Invece usare la scuola e l'autorevolezza dei docenti per diffondere la 
dipendenza 
da questi prodotti (che NON sono "strumenti" se non per chi li realizza) è 
un'ottima idea.

Guarda come ha funzionato bene durante il COVID!

I reparti di neuropsichiatria infantile sono PIENI di vittime che non 
risponderanno a questionari
come quello che ha avviato questo thread.


Giacomo


Re: [nexa] large language model e open washing (da: una "gemma" da Google)

2024-07-03 Thread Giacomo Tesio
Ehm... no. :-)

Il 3 Luglio 2024 13:38:41 UTC, Guido Vetere ha scritto:
> > Se così fosse, la somma di due numeri interi sarebbe un'algoritmo non
> > deterministico se applicato a due numeri ottenuti con i dadi.
> 
> la conclusione, se ci pensi, è che non esistono algoritmi non
> deterministici.

Mai sentito parlare di computer quantistici?
Con computer quantistici puoi realizzare software non deterministici.

Senza, non puoi.



Poi stavamo parlando di specifici software impropriamente antropomorfizzati 
come "intelligenze artificiali" che vengono codificati e distribuiti come 
matrici numeriche 
ed eseguiti da macchine virtuali deterministiche costuite allo scopo.

Ovvero i software freeware scaricabili da HuggingFace come Gemma2 di Google
con cui hai avviato questo thread.

Tali software (impropriamente detti "modelli") sono perfettamente 
deterministici: 
dati input e stato otterai sempre lo stesso output.

E la ragione è semplice: le macchine virtuali di cui parliamo (quelle per la 
cui simulazione
servono le GPU) si limitano ad eseguire lunge sequenze di semplici operazioni 
fra matrici,
tutte perfettamente deterministiche.

Per questo definire questi software "aleatori" è una sciocchezza e quando scrivi

> a meno che non setti la temperatura a zero, la generazione basata su LLM è 
> aleatoria: 
> lo stesso prompt può darti cose un po' diverse a seconda di come gli gira il 
> random generator.

evidenzi (e diffondi) una grave confusione fra l'interfaccia utente del sistema 
(limitata al prompt) e il suo funzionamento (che utilizza ulteriori input oltre 
il prompt).


Conoscendo tutti i dati utilizzati per calcolare un certo token (tutto lo stato 
e tutti gli input)
puoi verificare sempre, deterministicamente, di ottenere lo stesso output. [1]


Ragione per cui, i sorgenti di un LLM "open" devono includere qualsiasi valore 
aleatorio 
acquisito durante la programmazione statistica (impropriamente detta 
"training"):
perché conoscendo questi dati è sempre possibile riottenere il "modello" di 
interesse,
studiarlo e modificarlo.



Giacomo

[1] L'unica possibile fonte di non determinismo in questo tipo di sistemi è 
costituita da
guasti dell'hardware, e chissà, magari troviamo anche qualcuno disposto a 
venderli come
prova della "coscienza delle macchine"! :-D


Re: [nexa] large language model e open washing (da: una "gemma" da Google)

2024-07-03 Thread Giacomo Tesio
ROTFL! :-D

Il giorno Wed, 3 Jul 2024 14:29:07 Guido Vetere ha scritto:
> un algoritmo che fa uso di numeri casuali è generalmente considerato
> non deterministico, full stop

Se così fosse, la somma di due numeri interi sarebbe un'algoritmo non
deterministico se applicato a due numeri ottenuti con i dadi.

Ehm... no.

La somma è una funzione deterministica.

Il tiro di dadi è un'operazione non deterministica.
Ma il software può solo implementare la somma: serve hardware per avere
un numero casuale.


Ora, noi stiamo parlando di matrici che codificano un software
deterministico eseguibile da macchine con un'architettura nota.
Un software che approssima una funzione matematica ignota, 
ma pur sempre una funzione matematica.

Ad un determinato stato e ad un determinato input, l'output prodotto da
questi software sarà sempre lo stesso.


> > Solo nascondendo all'utente parte dell'input 
> > (come i numeri randomici ..  
> 
> non so cosa tu possa intendere per 'nascondere' un numero generato
> dinamicamente in modo casuale

Oh, è molto semplice: all'utente questi numeri non vengono mostrati né
gli viene data la possibilità di modificarli.

Se all'utente fosse mostrato tutto l'input (inclusi questi numeri),
questi comprenderebbe istantaneamente che non c'è alcuna intelligenza
nel giocattolo.


Allo stesso modo, l'interfaccia potrebbe mostrare, ad ogni step di
generazione del prossimo token, tutte le possibili continuazioni con le
rispettive probabilità di emissione e far scegliere all'utente come
proseguire invece di usare un numero casuale (o più probabilmente,
pseudocasuale).

L'utente comprenderebbe così di star sostanzialmente navigando un grafo.


Naturalmente Google e Open AI si guardano bene da fornire una siffatta
interfaccia perché verrebbe meno l'allucinazione di comunicare con una
qualche "intelligenza aliena".


> non vorrei alimentare inutili diatribe

Perché diatribe?
E perché inutili?


Giacomo


Re: [nexa] large language model e open washing (da: una "gemma" da Google)

2024-07-03 Thread Giacomo Tesio
Suvvia Guido, non diciamo sciocchezze...

Il giorno Wed, 3 Jul 2024 12:56:06 Guido Vetere ha scritto:

> la generazione basata su LLM è aleatoria: lo stesso
> prompt può darti cose un po' diverse a seconda di come gli gira il
> random generator.

i numeri casuali utilizzati come input sono, appunto parte dell'input.

Stiamo parlando di software completamente deterministici.

Solo nascondendo all'utente parte dell'input (come i numeri randomici
utilizzati durante l'elaborazione di un prompt) possiamo fargli credere
che ci sia una intelligenza dentro quella macchina.

Ma rimangono software il cui output è perfettamente predicibile e
riproducibile se si dispone di tutti i dati utilizzati per calcolarlo
(lo stato e l'input).



Giacomo


Re: [nexa] large language model e open washing (da: una "gemma" da Google)

2024-07-03 Thread Giacomo Tesio
Ciao Guido,

non preoccuparti per me, ho tutte le GPU che servono! ;-)

Il giorno Wed, 3 Jul 2024 10:29:39 Guido Vetere ha scritto:

> se pure uno avesse tutti i dataset eccetera, gli mancherebbe ancora
> quel mesetto di GPU che serve per fare training anche di pochi
> miliardi di parametri. Cioè: servirebbe ancora Leonardo, o in
> alternativa un grosso conto in banca.

O anche solo nozioni di economia. O di storia.

Infatti qualsiasi economista ti farà notare che il costo
di qualsiasi componente hardware decresce rapidamente nel tempo,
soprattutto quando prezzi artificialmente gonfiati forniscono
enormi profitti che attraggono diversi produttori. 

E lo confermerà qualsiasi storico, ricordando computer che
occupavano interi edifici con una potenza di calcolo inferiore 
a quella di un qualsiasi cellulare contemporaneo.


> Dunque: di che stiamo parlando?

Non saprei... di che stiamo parlando?

Di miopia? Di amnesia? Di disinformazione? Di lobbying?


> PS: continuo a osservare un certo verbalismo in questo accanimento
> terminologico, ma per carità non voglio sollevare polemiche :-)

Figurati, nessuna polemica: Claudio ha semplicemente evidenziato una
manovra di open-washing in corso ad altissimo livello per permettere 
a black-box proprietarie di aziende come Google o Microsoft
di aggirare la normativa europea.

Disponiamo già di termini come "freeware" e "SaaS" che descrivono
benissimo i LLM scaricabili da huggingface e i servizi come GPT4.


E certamente, nell'interesse di OpenAI, Google, and friends,
sottolineare l'inadeguatezza di una ridefinizione legalmente comoda
ai propri prodotti, deve passare per "accanimento terminologico".

D'altro canto i cani veri sbavano, fedeli al padrone che li nutre.


Sono certo che per evitare questo "verbalismo", molti oggi lavorano
per far scrivere una nuova voce sul vocabolario del tipo:

Open Source AI: matrice numerica scaricabile da huggingface,
vedi Freeware.


Ma c'è una contraddizione evidente in ciò che scrive, ad esempio, 
l'OSI nella sua ultima bozza di definizione per OpenSource AI: 
si sono dimenticati il sorgente!

Ora, se la chiamassero "OpenAI definition" ci starebbe anche. :-p


Ma se si deve chiamare Open SOURCE AI, l'accesso e il riuso del sorgente
completo deve essere garantito.

E il sorgente accessibile deve essere proprio quello della "AI" in
questione, non quello di un'altra simile.


Perché vedi, bontà loro, all'OSI hanno persino elencato le libertà che
le "AI" in questione dovrebbero garantire. E fra queste hanno incluso
la libertà di STUDIARE il software. Cosa che è IMPOSSIBILE se non si
dispone di TUTTE le informazioni e TUTTI i dati utilizzati durante la
creazione di questi software che ne costituiscono il sorgente



Per queste ragioni non definirei "verbalismo" [1] la questione
sollevata da Claudio, viste le notevoli implicazioni legali per OpenAI &
friends (nonché sociali e geopolitiche per tutta l'Unione Europea).


La chiamerei più semplicemente "onestà intellettuale". ;-)



Giacomo

[1] confesso che sono dovuto andare a cercare il significato sul
vocabolario https://www.treccani.it/vocabolario/verbalismo/


Re: [nexa] large language model e open washing (da: una "gemma" da Google)

2024-07-02 Thread Giacomo Tesio
Ciao Federico,

Il giorno Tue, 2 Jul 2024 14:15:30 "Federico Leva (Nemo)" ha scritto:

> Per questo OSI sta lavorando a una Open Source AI Definition:
> https://opensource.org/deepdive/drafts/the-open-source-ai-definition-draft-v-0-0-8

una definizione scritta da qualcuno che non sa (o sa fin troppo bene)
cosa serve per realizzare un LLM.

Infatti la definizione prescrive che:

```
The preferred form of making modifications for a machine-learning Open
Source AI must include:

Data information: Sufficiently detailed information about the data
used to train the system, so that a skilled person can recreate a
substantially equivalent system using the same or similar data.

```

Accettare informazioni "sufficiently detailed" per ricreare un sistema
"substantially" equivalente, significa aprire all'impossibilità tecnica
di ricreare un sistema esattamente equivalente.

Cosa che sarebbe tecnicamente possibile disponendo di TUTTE le
informazioni necessarie a creare il software in questione.

Infatti, entro minuscole variazioni numeriche distribuite fra miliardi
di variabili (pesi), è perfettamente possibile nascondere qualsiasi
bias. Solo la possibilità di riprodurre ESATTAMENTE il software in
questione può permettere davvero di esercitare il diritto allo studio e
alla modifica del sistema.


Ora, l'OSI dovrebbe essere in condizione di comprendere che un software
distribuito con sorgenti simili, persino "sostanzialmente equivalenti" a
quelli usati per creare il binario (ma non esattamente quelli usati),
NON è software Open Source.

Perché allora non scrivere, più semplicemente:

Data information: All information and data used to create the
system, so that a skilled person can exactly recreate the system 
using the data.

Sarebbe più semplice, permetterebbe di verificare che i dati dichiarati
corrispondano esattamente a quelli utilizzati, permetterebbe di
studiarne i bias e di decidere come modificare o arricchire i dati
per ottenere LLM diversi.

Peraltro, sostituendo "train" con "create", la definizione
continuerebbe ad essere applicabile a nuovi metodi che non si
basino sulle techine statistiche antropomorfizzate che vanno per la
maggiore oggi.


Perché dunque una definizione che contraddice quella di Open Source?

L'ignoranza informatica in questo caso è poco credibile...


Ma se proviamo a chiederci "cui prodest?" tutto diventa ovvio:

https://opensource.org/sponsors


Giacomo


Re: [nexa] Scorza: "AI, è ora di difendere i nostri dati dalla raccolta massiva: ecco come" - Agenda Digitale

2024-07-01 Thread Giacomo Tesio
Il solito ottimista... :-D

Il giorno Mon, 01 Jul 2024  ha scritto:

> Ad esempio (e lo dico provocatoriamente) non solo puoi selezionare le
> persone di discendenza ebrea o che si dichiarano ebree, come fecero i
> nazisti dal dato del censimento, ma puoi selezionare anche quelle che
> si comportano come ebree o pensano come ebree, o si esprimono come
> ebree, o che tentano di nascondersi ma che appartengono ad una delle
> precedenti categorie.

Puoi fare molto di più che selezionare le vittime.

Puoi indottrinare i carnefici.


Giacomo


Re: [nexa] large language model e open washing (da: una "gemma" da Google)

2024-06-30 Thread Giacomo Tesio
Ciao Guido,

Il 30 Giugno 2024 17:32:35 UTC, Guido Vetere  ha 
scritto:
> Col tempo, una parola può cambiare significato in modo anche radicale, sono
> cose che accadono di continuo nel linguaggio, dove l'unica regola è l'uso.

Vero.

Basti pensare al termine "scienza".

Una volta, la replicabilità degli esperimenti era caratteristica definitoria 
delle discipline scientifiche.

Oggi non è più necessaria: possiamo fidarci ciecamente di chiunque abbia 
ottenuto
finanziamenti sufficienti a pubblicare su una "rivista scientifica", 
preferibilmente americana.
D'altro canto.. questa è l'epoca dei "data scientist"! :-D


E vogliamo parlare del termine "intellettuale"?


Mi perdonerete, perché non sono un accademico, ma un informatico: scrivo 
software di mestiere 
e non posso permettermi il lusso di usare termini vaghi e definizioni confuse, 
o il software poi
non funziona.

"You cannot argue with a root shell".
Che poi è un po' il "dura lex sed lex" di quando ancora c'era lo stato di 
diritto.
Ma sto divagando.


> Dunque non starei qui a fare una questione lessicale.

Non è questione "lessicale", ma storica e cibernetica (ovvero politica e 
informatica).



> Di fatto, ci sono LM
> che puoi scaricare liberamente e far girare sulla tua workstation, e LM che
> invece puoi usare solo via API e pagando.

Ed abbiamo da decenni termini dedicati per questi due concetti, rispettivamente 
"freeware" e "SaaS".

Perché ridefinire in fretta e furia "open"?
Cui prodest?

> La circostanza mi sembra rilevante: molte organizzazioni pubbliche e
> private potranno usare questi strumenti senza mandar fuori dati, senza
> legarsi a monopolisti che operano fuori dalla propria giurisdizione, senza
> l'incognita dei prezzi.

Già.

Basta accettare che quegli strumenti riproducano e diffondano tramite quelle 
organizzazioni
pubbliche gli interessi e le opinioni di quei monopolisti, sollevandoli al 
contempo
da qualsiasi responsabilità riconducibile.

Concordo: è sicuramente una notizia da diffondere capillarmente.


> Mi sembra che questo meriti più attenzione della filologia informatica :-)

Ti sembra che l'informatica meriti più attenzione... dell'informatica? :-D

Perché non è "filologia", è proprio informatica. [1]

Ma come sempre, c'è chi crede di poterla ignorare.


Giacomo
[1] http://www.tesio.it/2019/06/03/what-is-informatics.html


Re: [nexa] large language model e open washing (da: una "gemma" da Google)

2024-06-30 Thread Giacomo Tesio
Ciao Claudio,

grazie dei riferimenti!

Il 30 Giugno 2024 09:38:24 UTC, Claudio Agosti   ha scritto:
> 
> 2) https://blog.mozilla.org/en/mozilla/ai/readouts-columbia-convening/
> questa mistura di tecnici ed accadmici 

Oh... Mozilla... il reparto PR geek-friendly di Google...

> ha prodotto un paio di grafici e di
> tassionomie, dicendo come "l'opennes nell'AI è una sfumatura", 

forse intendevano "di grigio"? :-D


> come pregio, possiamo anche considerare che questo ci permetterebbe di
> iniziare ad avere visibilità e riproducibilità in alcuni passaggi.

Passaggi probabilmente irrilevanti e non problematici dal punto di vista 
politico.

In altri termini fumo negli occhi.


> del resto anche l'idea che ci ri-addestriamo i miliardi di parametri in casa
> non è realistica quanto la ricompilazione di un software.

Che lo facciamo in casa, al bar, o al CERN è irrilevante.

Il punto è che se Google impedisce di farlo nascondendo qualsiasi informazione 
rilevante
per riprodurre esattamente e completamente la compilazione di Gemma2 a partire 
dai testi
sorgente, allora Gemma 2 non è open per nessuna definizione applicabile di open.

Ci prende per fessi?
Prende per fessi i Giudici europei?
Conta che i fanboy delle magnifiche sorti e progressive dell'AI ne esaltino la 
magnanimità?


Non lo so.


Ma come Gemma 2 non può essere "un po' incinta", non può essere nemmeno "un po' 
open".


Giacomo




Re: [nexa] Scorza: "AI, è ora di difendere i nostri dati dalla raccolta massiva: ecco come" - Agenda Digitale

2024-06-30 Thread Giacomo Tesio
Salve Maurizio,

Il 29 Giugno 2024 17:08:48 UTC, maurizio lana  ha scritto:
> Il 29/06/24 09:22, de petra giulio ha scritto:
> > Segnalo questo articolo di Guido Scorza 
> perché - lui argomenta in modo molto analitico e giuridicamente fondato [...]

ma tecnicamente inconsistente.

Ad esempio, quando scrive

```
l’interessato, allo stato, qualora non eserciti tale diritto prima dell’inizio 
della raccolta dei dati 
(il che peraltro è ormai impossibile in relazione alla più parte dei titolari 
che hanno posto 
in essere questo genere di trattamento) sembra costretto a doversi poi 
accontentare 
che il titolare del trattamento escluda i propri dati personali – sempre nei 
limiti di quelli
specificamente indicatigli e fornitigli dall’interessato – da eventuali output 
del servizio,
non potendo, invece, ambire a un’effettiva cessazione del trattamento di ogni 
proprio dato personale.

L’uno e l’altro appaiono limiti imposti dallo stato della tecnologia.
```

Non c'è alcun limite tecnologico che impedisca al creatore di un LLM di 
ricrearlo a partire da
un dataset emendato dei dati personali di chiunque ne faccia richiesta.

Nessun LLM soffre se lo spegni, lo cancelli e lo sostituisci con una nuova 
versione.
Tant'è che questo viene fatto continuamente per ragioni commerciali.

È _solo_ una questione di costi.


E la libertà di impresa non è diritto al profitto: se i costi superano i 
profitti, si cambia impresa.


In altri termini, la contrapposizione fra innovazione tecnologica e diritti 
fondamentali è una allucinazione diffusa da aziende che approfittano della 
ignoranza informatica di persone come Scorza per risparmiare.
A danno dei cittadini i cui diritti quelle persone sono chiamate a proteggere.


> tutta la raccolta massiva dei nostri dati che è accaduta fino ad ora da un 
> lato
> è illecita ma non reversibile

Per la verità, è sufficiente cancellarli insieme a tutto ciò che da essi è 
stato prodotto.

Tecnicamente, questione di pochi minuti.


> e dall'altro difficilmente sanzionabile in pratica.

Beh, Google e Microsoft sono responsabili del trattamento di decine di migliaia 
di aziende
e PA italiane. Nulla impedisce al Garante di sanzionarle laddove trasferimenti 
illeciti
sono accertati (quali ad esempio quelli individuati e segnalati da Monitora PA).


> cioè non siamo messi bene perché ci vogliono anni per arrivarci, e intanto 
> i dati personali continuano ad essere raccolti.

Sanzionando i titolarii che hanno inviato a queste aziende i dati personali di 
milioni 
di persone, molti appartenenti a categorie fragili, come minori, disabili o 
malati, si produrrebbe
una rapida riduzione dei dati personali ad esse sottratte e del controllo che 
queste aziende
eserciteranno su di esse.

Inoltre, seppur lentamente, i dati personali diventano obsoleti e smettono di 
descrivere
le persone che li hanno inizialmente emessi.

Ciò che non smettono di descrivere sono i comportamenti probabilisticamente 
associati 
a ciascun profilo a fronte di ciascuno stimolo.

In altri termini, interrompendo l'afflusso di dati personali, la probabilità di 
successo nel
controllo individuale delle persone interessate si ridurrebbe drasticamente 
nell'arco 
di un anno o due, ma i modelli comportamentali inferiti da quei dati 
rimarrebbero applicabili 
ad altre persone, simili sotto le dimensioni rilevanti, molto più a lungo.


Si può quindi ridurre il danno subito alla libertà individuale dei singoli 
cittadini sorvegliati
applicando il GDPR (ovvero intervenendo sui sensori delle BigTech) ma per 
ripristinare
la democrazia (ovvero la sovranità dei popoli) è necessario intervenire anche 
sui loro attuatori,
sottraendo i cittadini dai loro mezzi di controllo (dagli Ads, ai LLM).


> e capisco che qualcuno, come [Ali Alkhatib, 24 June 2024 Destroy AI] proponga 
> una sorta di luddismo al tempo del'IA

Spero di sbagliare, ma la lotta nonviolenta presuppone uno stato di diritto.

Se lo Stato smette di rispettare le proprie leggi pur di non urtare una 
manciata di aziende USA,
"distruggere le AI" (qualunque cosa ciò concretamente significhi) non sarà 
sufficiente.


Giacomo


Re: [nexa] una "gemma" da Google

2024-06-29 Thread Giacomo Tesio
Ciao Antonio,

Il 29 Giugno 2024 18:51:12 UTC, Antonio  ha scritto:
> > Su huggingface trovi il dataset sorgente?
> > Mi passi il link diretto?
> 
> Anche se ci fosse, che ci faresti?

Un sacco di cose!
Ad esempio, una volta verificato che sono effettivamente i dataset sorgente, 
ne indagherei i "bias di selezione" ovvero le opinioni che Google intende 
imporre
agli utenti senza risponderne.

> I dataset che usano ormai si sanno quali sono

Ne dubito.

Con la scusa del motore di ricerca, Google ha accesso a molto più materiale dei 
concorrenti.

Perché non usarlo se nessuno pretende trasparenza dai suoi software?

> quella che non si conosce è, ad esempio, la Pre-Processing Pipeline.

Se ti mancano le definizioni delle macro necessarie, non puoi compilare un 
sorgente C.

Per poter definire "aperto" quel sorgente, devi disporre di quelle macro (aka 
"direttive per
il preprocessore".
Altrimenti, di fatto, non puoi sapere cosa fa.


Per un software programmato statisticamente è lo stesso: se non puoi 
ricompilarlo perché ti
mancano delle parti, allora non è "aperto" più di quanto non sia "marmoreo".

Perché sia software "aperto" (seppur non libero) è come minimo necessario 
dispore di tutti i
dati ed i processi utilizzati durante la sua realizzazione, con precisione e 
completezza
sufficiente a poterne replicare precisamente il proceso di compilazione.


Giacomo


Re: [nexa] una "gemma" da Google

2024-06-29 Thread Giacomo Tesio
Salve Guido,

Il 29 Giugno 2024 07:38:09 UTC, Guido Vetere  ha 
scritto:
>
> soggetti come Meta e Google ovviamente usano quello che hanno in casa, non
> lo esportano, è vero

Quindi è "aperto" nel senso che... è chiuso.

Splendido esempio di bipensiero! :-D


> ma è anche vero che glielo diamo noi spontaneamente

Ehm... no.

Anzitutto io non ho mai autorizzato chicchessia a creare opere derivate dai 
miei contributi
alla lista Nexa.


Inoltre tu stesso sottolinei come queste aziende svolgano un'attenta selezione 
dei testi sorgente. Certo, anche per evitare di irritare i fascisti di tutti i 
governi, ma anzitutto
per evitare di diffondere idee incompatibili con il proprio business model.

Attività di selezione del dataset sorgente che costituisce la parte più 
rilevante del processo
di programmazione statistica.


> (ci finirà dentro anche questa mail)

Solo se ciò che hai scritto piace a Google.


Giacomo


Re: [nexa] una "gemma" da Google

2024-06-29 Thread Giacomo Tesio
Salve Marco Anselmo Giovanni,

Il 29 Giugno 2024 07:06:57 UTC,  ha scritto:
> On sab, 2024-06-29 at 07:00 +0000, Giacomo Tesio wrote:
> > Il 28 Giugno 2024 21:45:36 UTC, Guido Vetere  ha
> > scritto:
> > > 'aperti' nel senso di huggingface, cioè li puoi scaricare e l'architettura
> > > della rete è pubblica, ma certo che non ti danno i dataset di 
> > > addestramento
> > 
> > Perché "certo"?
> > 
> > Da quando un binario opaco è "aperto" per il solo fatto di essere 
> > scaricabile?
> 
> Perché dovrebbe essere un binario? I dataset sono, per loro natura "in 
> chiaro".

Tu hai trovato il dataset utilizzato per programmare statisticamente quelle
matrici?

Sarei curioso di studiarlo, modificarlo e ridistribuirlo.

Un "LLM" è un eseguibile che una specifica macchina "virtuale", descritta da 
una architettura specifica
può eseguire.

Che l'architettura sia basata sulla riduzione di vettori (impropriamente detta 
"rete neurale artificiale) o su transistor, che si chiami LLaMA, x86 o RISC-V, 
è irrilevante.

L'eseguibile può essere codificato in vari modi, in matrici di float in un csv, 
in esadecimale, 
in base 64, in base 2 etc... ma rimane opaco ed inintellegibile e dunque non 
"aperto"
per qualsiasi definizione rilevante di "aperto", con o senza virgolette.


> Diverso sarebbe se ti dessero l'LLM addestrato.

Su huggingface trovi il dataset sorgente?
Mi passi il link diretto?

> In questo caso, sarebbero "blob".

Se preferisci, ok.

Ma si tratta di "blob eseguibili" (da una certa macchina), eseguibilità che il 
termine "blob" 
non rende particolarmente bene.

Io utilizzo di solito "binario" per distinguerlo dal sorgente leggibile 
(scritto o selezionato, 
non importa) utilizzato per produrlo.


Fatto sta che, senza sorgenti (dataset, fonti randomiche utilizzate durante 
il processo di compilazione etc...) un LLM è tanto "aperto" quanto è 
"asfaltato", 
"assolato", "marmoreo" o "puzzolente": possiamo attribuirgli qualsiasi 
aggettivo, pur
di ignorare completamente il significato del termine usato.
(come fa, in effetti, ogni LLM)


Giacomo


Re: [nexa] una "gemma" da Google

2024-06-29 Thread Giacomo Tesio
Il 28 Giugno 2024 21:45:36 UTC, Guido Vetere  ha 
scritto:
> 'aperti' nel senso di huggingface, cioè li puoi scaricare e l'architettura
> della rete è pubblica, ma certo che non ti danno i dataset di addestramento

Perché "certo"?

Da quando un binario opaco è "aperto" per il solo fatto di essere scaricabile?


Giacomo


Re: [nexa] una "gemma" da Google

2024-06-28 Thread Giacomo Tesio
Salve Guido,

Il 28 Giugno 2024 14:05:33 UTC, Guido Vetere  ha 
scritto:
>  talvolta (per ragioni insondabili) i monopolisti  USA fanno cose che
> sembrano socialmente utili

"sembrano".. ottima scelta terminologica. :-D
Ma basta sapere di cosa si parla per riconoscere subito l'inganno.

> Google ha rilasciato gemma2, un modello 'aperto' 

Dove posso scaricare i sorgenti?

Ovvero, dove trovo i testi, le configurazioni, etc... per rieffetuare il 
processo di programmazione 
statistica che ha prodotto in output quelle matrici?

> Modelli 'aperti' (virgolette d'obbligo)...

In che senso?
Cosa intendi esattamente per "aperto" ?


Giacomo


Re: [nexa] ...e che dire dell'etica dell'IA? (spunti per una critica della prospettiva)

2024-06-27 Thread Giacomo Tesio
Salve Maurizio,

Il giorno Tue, 25 Jun 2024 maurizio lana ha scritto:

> la guerra termonucleare è stata evitata almeno 2 volte grazie a due 
> militari, uno canadese, Roy Slemon, 
> (https://en.wikipedia.org/wiki/Roy_Slemon) nel 1961, e uno russo, 
> Stanislav Petrov (https://en.wikipedia.org/wiki/Stanislav_Petrov)
> [...]
> qui sono andati contro Kant, perché non credo che pensassero che 
> disobbedire alle regole e ignorare la conoscenza dovessero diventare 
> leggi universali

stai assumendo che i loro ordini fossero: "lanciate un contrattacco
termonucleare al primo segnale automatico di attacco del nemico".


La fede cieca negli automatismi è una allucinazione di massa solo
contemporanea: è probabile che all'epoca tutti i livelli decisionali
fossero perfettamente consapevoli dei limiti degli automatismi.


Inoltre stai assumendo che la massima applicata da Slemon e Petrov
fosse "disubbidisci agli ordini quando ti va", mentre potrebbe
semplicemente essere stata "evita di avviare una guerra termonucleare
per sbaglio": una massima che ragionevolmente avrebbero potuto sperare
diventasse legge universale.


Ovviamente un software programmato statisticamente (impropriamente
detto "IA") avrebbe avviato la distruzione dell'umanità con una
probabilità 1-ε, con epsilon scelto durante la programmazione
stessa (impropriamente definito "training") sulla base di dati
ipotetici (che di guerre termonucleari non ne sono state ancora
combattute abbastanza da creare un dataset statisticamente rilevante).


Giacomo


Re: [nexa] ...e che dire dell'etica dell'IA? (spunti per una critica della prospettiva)

2024-06-24 Thread Giacomo Tesio
Il 24 Giugno 2024 15:06:26 UTC, Guido Vetere ha scritto:
> [MODE=PROVOCATION, CONTENT=spiega il concetto di imperativo categorico
> (Kant) a un informatico ]
> 
> [GPT-4o]
> [...]
>
> [Claude]
> [...]

[Giacomo, informatico]
Gli informatici non sono minus habens: dovrebbero dunque bastare le parole di 
Kant:

"agisci soltanto secondo quella massima che, al tempo stesso, puoi volere che 
divenga una legge universale"


Giacomo


Re: [nexa] "ChatGPT is bullshit"

2024-06-20 Thread Giacomo Tesio
Salve Daniela,

Il 19 Giugno 2024 11:15:55 UTC, Daniela Tafani  ha 
scritto:
> 
> GARY MARCUS: It’s exactly right. These systems have no conception of truth. 
> Sometimes 
> they land on it and sometimes they don’t, but they’re all fundamentally 
> bullshitting in the sense that 
> they’re just saying stuff that other people have said and trying to maximize 
> the probability of that. 
> It’s just auto complete, and auto complete just gives you bullshit.


Sono noioso, ma non posso fare a meno di sottolineare come, anche in critiche 
come
questa, il soggetto delle frasi sposta l'attenzione sullo strumento, sollevando 
chi lo 
amministra da qualsiasi responsabilità.

È ovvio [1] che l'output di questi software programmati statisticamente non 
può avere alcuna relazione con la verità.

È ovvio che nessun software ha conoscenza, né del bene o del male, né del vero 
o del falso.

È ovvio che nessun software può avere intenzionalità propria per cui non può
scegliere di mentire o dire a verità.


Ma non è ChatGPT a distribuire sul web i propri output!


L'intenzionalità c'è ed è di OpenAI, Microsoft etc...
Distribuendo online l'output del software 
che hanno scritto ed amministrano, queste società scelgono di diffondere testi 
che non 
hanno corrispondenza con la realtà.

Dunque, quandanche la tipologia di software di cui parliamo fosse qualificabile 
come 
bullshit generator,  gli output diffusi da OpenAI, Microsoft, Google etc.. sono 
semplicemente
disinformazione.

Il fatto che ogni tanto tali output possano essere interpretati come 
informazioni corispondenti
alla realtà, serve esattamente allo scopo di diffondere disinformazione: come 
sappiamo tutti, per rendere una menzogna più credibile e perniciosa, è utile 
diffomderla
insieme a tante verità note o facilmente verificabili (magari con una ricerca 
online :-D)


Se comprendiamo la natura di questi output e li riconosciamo come espressione 
della volontà
di chi programma statisticamente e amministra[2] il LLM, gli scopi di queste 
aziende diventano ovvi:

- diffondere false credenze relative a questi software [3]
- ottenere fondi sulla base di queste false credenze (dal mercato, dagli stati 
etc)
- ottenere normative favorevoli (come l'AI Act) sulla base di queste false 
credenze

Si tratta di truffatori su scala globale che hanno automatizzato ed affittano 
la produzione 
di "bugie industriali".


Passare da "hallucination" a "bullshit", non riduce molto 
l'antropomorfizzazione dei software
in questione, ma continua a nascondere la natura dell'operato di chi li produce.

Non siamo di fronte a macchine che imparano ("machine learning"), ma a 
multinazionali
potentissime che mentono.


Giacomo

[1] a chiunque comprenda come funzioni la selezoone ("previsione" rotfl!) di un 
token
a partire dal contesto ed il ruolo che vi assume l'input randomico.

[2] ovvero protegge infornaticamente, aggiorna, paga la corrente per 
programmarli ed eseguirli etc

[3] false credenze che poi vengono ripetute "a pappagallo" da persone 
incompetenti 
(in materia) che purtroppo vengono viste come autorevoli (per esserlo, forse, 
in altre discipline).

Qualche giorno fa ho ascoltato allibito un'intervista ad un Professore, 
presentatosi
come fisico del CERN nonché (ex?) docente dell'Università di Torino, 
snocciolare una
serie incredibile di stronzate sulle "intelligenze artificiali" che parevano 
uscite da
un convegno transumanista.
Inferendo da un'esperienza vecchia di 20 o 30 anni delle "reti neurali", finiva 
per prospettare
il sicuro avvento dell'AGI con cui la società si sarebbe dovuta confrontare a 
livello etico, superando l'idea stessa di anima (sic!) e
riconoscendo l'uomo come un automa complesso del tutto equivalente agli altri.

Si tratta di un'intervista per un podcast italiano dedicato alla "cyber 
security" (anche se le
competenze di chi lo conduce vacillano continuamente), dunque non orientato a 
persone
del tutto ignoranti dal punto di vista informatico, ma iper-specializzate, e 
dunque "vulnerabili" 
a questo tipo di disinformazione propagandistica.


Re: [nexa] Possibile accordo di maggioranza per chatcontrol: gli utenti che rifiutano la scansione non potranno condividere foto e link

2024-06-08 Thread Giacomo Tesio
Il 8 Giugno 2024 08:31:20 CEST, "380° via nexa" ha scritto:
> 
> chi usa la e2e _vera_ è /sovversivo/... altrimenti non riescono a
> leggere i dati che già /sifonano/ 

In effetti 380, si tratta di un chosen-ciphertext attack [1] contro tutti i 
cittadini europei.

Chissà quante chiavi private verranno compromesse grazie ai falsi allarmi.

E una volta compromesse le chiavi private, sarà facile decifrare TUTTE le 
comunicazioni
delle vittime, non solo quelle "potenzialmente vietate".


> la scansione rende Liberi™

proprio come il lavoro nei campi (di concentramento)!

ho saputo da un amico che TIM recentemente ha iniziato a proporre un servizio 
di "navigazione sicura". 
Lo definiscono ai clienti come un servizio "antivirus" e "antiphishing".

Il mio amico mi ha chiesto un parere perché non aveva mai sentito di un 
antivirus che richiedesse
il consenso al trattamento dati.

Indovinate perché?
Ovviamente gli ho consigliato di non permettere a TIM di decidere per lui come 
può usare il
proprio cellulare si internet.


Giacomo

[1] 




[nexa] Possibile accordo di maggioranza per chatcontrol: gli utenti che rifiutano la scansione non potranno condividere foto e link

2024-06-07 Thread Giacomo Tesio
Segnalo, qualora non sia ancora passato in lista:

https://pirati.io/2024/06/possibile-accordo-di-maggioranza-per-chatcontrol-gli-utenti-che-rifiutano-la-scansione-non-potranno-condividere-foto-e-link/

Dopotutto, la controversa regolamentazione indiscriminata sugli abusi
sessuali sui minori (il cosiddetto chatcontrol) potrebbe ancora essere
approvata dai governi dell’UE, poiché la Francia potrebbe rinunciare al
suo precedente veto. Lo riporta Euractiv e lo confermano documenti
interni . La Francia considera in linea di principio la nuova proposta
di “moderazione degli upload” come un’opzione praticabile.

Secondo l’ultima proposta di regolamento del 28 maggio ( documento del
Consiglio 9093/24 ), presentata come “moderazione degli upload”, si
dovrebbe chiedere agli utenti di app e servizi con funzioni di chat se
accettano la scansione indiscriminata e soggetta a errori ed
eventualmente segnalazione delle immagini, foto e video condivisi
privatamente. Anche immagini e video precedentemente sconosciuti
dovranno essere esaminati utilizzando la tecnologia dell’“intelligenza
artificiale”. Se un utente rifiuta la scansione, gli verrà impedito di
inviare o ricevere immagini, foto, video e collegamenti (articolo 10).
I servizi crittografati end-to-end come Whatsapp o Signal dovrebbero
implementare le ricerche automatizzate “prima della trasmissione” di un
messaggio (la cosiddetta scansione lato client, articolo 10a). La
scansione inizialmente proposta dei messaggi di testo per indicazioni
di adescamento, che finora non viene quasi utilizzata, sarà eliminata,
così come la scansione della comunicazione vocale, che non è mai stata
eseguita prima. Probabilmente come concessione alla Francia, anche le
chat dei dipendenti delle autorità di sicurezza e dei militari saranno
esentate da chatcontrol.


Anche su:
https://www.patrick-breyer.de/en/majority-for-chat-control-possible-users-who-refuse-scanning-to-be-prevented-from-sharing-photos-and-links/


Giacomo


Re: [nexa] [CDT:L-1] (supply chain attack) Backdoor su Xz: il problema è molto più grande... (parte 1)

2024-05-31 Thread Giacomo Tesio
Il giorno Fri, 31 May 2024 12:00:50 +0200
Antonio  ha scritto:

> > Le comunità si caratterizzano per le regole che proteggono un bene
> > in comune (che può essere materiale o immateriale): ovvero l'esatto
> > contrario di assumere che tutti i membri si comportino come si
> > comporterebbe il più idealista e corretto dei membri.  
> 
> Regole?

Già.

Che si tratti di licenze, di statuti associativi o di consuetudini
trasmesse oralmente (ma non meno inviolabili e vincolanti) le comunità
non si caratterizzano tanto (o non solo) per il bene che mettono in
comune (talvolta persino astratto e intangibile, come può essere la
fede in una religione) ma dalle regole che si danno per custodirlo, per
regolare l'accesso ad esso sia all'interno che dall'esterno della
comunità stessa.

Ti consiglio al riguardo il lavoro di Elinor Ostrom.


> Cattedrale e non bazaar?

Anche il bazaar ha le sue regole. 
E scommetterei che le punizioni per i ladri sono... definitive. ;-)


> Github, [...] Gitlab [...] Radicle [1]? [...] gitprep [2]?

Già che viriamo sul tecnico, io sto lavorando molto bene con Fossil

https://fossil-scm.org

Si tratta di un progetto veramente interessante, che NON si basa su git
ed in effetti ha molti vantaggi sia tecnici che sociologici.

Tuttavia Fossil non risponde alla tua domanda:

> Tu cosa proponi?

Ho sono pieno di idee e proposte, sistemi operativi, linguaggi di
programmazione, licenze... c'è tanto lavoro da fare.

La meno eretica la conosci già: http://www.tesio.it/documents/HACK.txt


Giacomo


Re: [nexa] [CDT:L-1] (supply chain attack) Backdoor su Xz: il problema è molto più grande... (parte 1)

2024-05-31 Thread Giacomo Tesio
Ciao Antonio,

Il giorno Fri, 31 May 2024 09:44:16 +0200 Antonio ha scritto:

> L'open source è "fiducia"

Ma non era un modello di sviluppo che prescinde dalla fiducia? :-D

```
Why do people prefer using open source software?

[...]

Control. Many people prefer open source software because they have more
control over that kind of software. They can examine the code to make
sure it's not doing anything they don't want it to do, and they can
change parts of it they don't like. [...]

Security. Some people prefer open source software because they consider
it more secure and stable than proprietary software. Because anyone can
view and modify open source software, someone might spot and correct
errors or omissions that a program's original authors might have
missed. And because so many programmers can work on a piece of open
source software without asking for permission from original authors,
they can fix, update, and upgrade open source software more quickly
than they can proprietary software.
```
https://opensource.com/resources/what-open-source

> io mi fido degli altri sviluppatori perché do per scontato che
> agiscano come me, ovvero, da volontario, per il bene degli altri

In realtà, nessuna comunità funziona così.

Le comunità si caratterizzano per le regole che proteggono un bene in
comune (che può essere materiale o immateriale): ovvero l'esatto
contrario di assumere che tutti i membri si comportino come si
comporterebbe il più idealista e corretto dei membri.

Se ti potessi fidare che nessuno ridurrà l'utilità del bene comune per
gli altri, non avresti proprio bisogno di una comunità.

Al contrario, proprio perché non puoi fidarti, hai bisogno di regole
che limitino e vincolino l'accesso al bene in comune, in modo che
nessuno ne possa ridurre l'utilità che questo ha per gli altri a
proprio vantaggio.


> Quando si rompe la fiducia, e in questo caso si è rotta, per
> ripristanarla occorre qualche passetto in più.

Direi questo caso evidenzia come si possa solo ripartire dal via.

XZ è solo uno delle migliaia di software opensource compromessi, di
cui ci siamo accorti solo per una serie incredibile di coincidenze.

Che poi i software proprietari siano ancor più vulnerabili, è
un'altra questione (piuttosto ovvia).


Giacomo


[nexa] NetBSD Commit Guidelines ban LLM

2024-05-16 Thread Giacomo Tesio
Do not commit tainted code to the repository.

If you commit code that was not written by yourself, double check   
that the license 
on that code permits import into the NetBSD source  repository, and permits 
free distribution.
Check with the author(s)of the code, make sure that they were the sole 
author 
of the code and verify with them that they did not copy any other code. 

Code generated by a large language model or similar technology, such as 
GitHub/Microsoft's Copilot, OpenAI's ChatGPT, or Facebook/Meta's Code Llama,
 is presumed to be tainted code, and must not be committed without prior 
written 
approval by core. 




Re: [nexa] Articolo sui LLMs - il punto di vista di un giurista - “eggshell” plaintiff doctrine:

2024-05-11 Thread Giacomo Tesio
Il 11 Maggio 2024 19:48:58 CEST, Guido Vetere  ha 
scritto:
> e allora continuiamo la metafora
> se un anziano che non ha notato il cartello scivola e si fa male, viene
> incriminato il produttore del detersivo per pavimenti?

No, risponde dell'incidente chi ha scelto di esporre al pubblico il pavinento 
bagnato.

Tipo OpenAI per l'istanza di GPT4 aperta al pubblico.


Giacomo


Re: [nexa] Articolo sui LLMs - il punto di vista di un giurista - “eggshell” plaintiff doctrine:

2024-05-11 Thread Giacomo Tesio
Io copio... :-)

Il 11 Maggio 2024 Maria Chiara Pievatolo ha scritto:
> On 11/05/24 19:02, Guido Vetere wrote:
> > dunque non si possono lavare i pavimenti?
> 
> La risposta è lasciata come esercizio per il lettore :-)

I negozi li lavano dopo la chiusura al pubblico.

🤯

Anche gli LLM possono essere usati in modo perfettamente sicuro... da chi li 
realizza.


Giacomo




[nexa] A joint statement from UniSuper CEO Peter Chun, and Google Cloud CEO, Thomas Kurian

2024-05-11 Thread Giacomo Tesio
Che succede se metti tutte le uova in un paniere (e le affidi alle volpi)?



UniSuper and Google Cloud understand the disruption to services experienced by 
members has been extremely frustrating and disappointing. We extend our sincere 
apologies to all members.

While supporting UniSuper to bring its systems back online, Google Cloud has 
been conducting a root cause analysis.

Google Cloud CEO, Thomas Kurian has confirmed that the disruption arose from an 
unprecedented sequence of events whereby an inadvertent misconfiguration during 
provisioning of UniSuper’s Private Cloud services ultimately resulted in the 
deletion of UniSuper’s Private Cloud subscription. 

This is an isolated, ‘one-of-a-kind occurrence’ that has never before occurred 
with any of Google Cloud’s clients globally. This should not have happened. 
Google Cloud has identified the events that led to this disruption and taken 
measures to ensure this does not happen again.

# Why did the outage last so long?

UniSuper had duplication in two geographies as a protection against outages and 
loss. However, when the deletion of UniSuper’s Private Cloud subscription 
occurred, it caused deletion across both of these geographies. 

Restoring UniSuper’s Private Cloud instance has called for an incredible amount 
of focus, effort, and partnership between our teams to enable an extensive 
recovery of all the core systems. The dedication and collaboration between 
UniSuper and Google Cloud has led to an extensive recovery of our Private Cloud 
which includes hundreds of virtual machines, databases and applications. 

UniSuper had backups in place with an additional service provider. These 
backups have minimised data loss, and significantly improved the ability of 
UniSuper and Google Cloud to complete the restoration.

# What’s next?

UniSuper and Google Cloud have been working around the clock on a resolution. 
The completion of the restoration swiftly, safely and securely remains Google 
Cloud and UniSuper’s top priority. 



Re: [nexa] Articolo sui LLMs - il punto di vista di un giurista

2024-05-11 Thread Giacomo Tesio
Salve Guido, 

Il 11 Maggio 2024 12:02:01 CEST, Guido Vetere  ha 
scritto:
> non mi è chiaro il motivo per cui un disclaimer appropriato non offrirebbe
> garanzie sufficienti (se questo è il punto)

Se il tuo software è progettato per ingannare le menti umane, dichiararlo come 
tale
non lo rende meno ingannevole.

Le menti umane continueranno ad esserne ingannate (fintanto che non saranno
in grado di comprenderne appieno il funzionamento) e tu devi rispondere
di tale inganno, soprattutto se hai diffuso la credenza che quel software sia 
"intelligente" 
e abbia "appreso" dai testi usati per programmarlo.

Se avessero pubblicizzato GPT4 come un
"generatore automatico di stronzate plausibili"
o come una "parodia del web che non fa ridere", il tuo disclaimer offrirebbe 
garanzie sufficienti.

Ma se il tuo disclaimer viene dopo mesi di propaganda martellante a tutti i 
livelli
della società per far credere che questi software siano "intelligenze aliene", 
un disclaimer
diventa invisibile alla stragrande maggioranza della popolazione.


È un po' come andare in discoteca e confessare sottovoce ad una vittima che 
passa 
vicino alle casse che sei un maniaco assassino: al processo per omicidio, il 
tuo "disclaimer"
difficilmente sarà riconosciuto come attenuante.


> supponiamo che io metta online una tavola parolibera di marinettiana
> memoria che genera frasi a caso, eventualmente anche diffamatorie
> se dichiarassi che il sito è programmaticamente situazionista e
> non-veritativo, sarei comunque soggetto a censura?

Se nessuno ti prende sul serio, no.

Se moltissimi ritengono credibile il tuo output, è auspicabile che tu ne debba 
rispondere come
fossero parole direttamente scritte da te.

Come in fondo sono: hai solo scritto un software  che le "scrive" al tuo posto. 
È come se le avessi compresse e pubblicate "a puntate".

Disclaimer o meno.


Giacomo


Re: [nexa] Articolo sui LLMs - il punto di vista di un giurista

2024-05-10 Thread Giacomo Tesio
Il giorno Fri, 10 May 2024 380° via nexa ha scritto:

> che tipo di
> trattamento giuridico occorrerebbe riservare alle aziende che
> utilizzano il contenuto delle email, delle chat e dei post social
> _privati_ per...

Direi la reclusione da sei mesi a otto anni, o da tre a dodici se si
tratta di un minore. Come spesso accade, non servono norme
dedicate: in Italia basta l'articolo 605 del Codice Penale.

L'uso dei dati personali per qualsiasi scopo non esplicitamente
richiesto dalla persona cui quei dati fanno riferimento equivale
SEMPRE ad una privazione della libertà di quella persona. [1]


Giacomo
[1] vedi anche nota (1)
https://www.brocardi.it/codice-penale/libro-secondo/titolo-xii/capo-iii/sezione-ii/art605.html


Re: [nexa] Entrate: se la decisione è automatizzata, niente contraddittorio

2024-05-06 Thread Giacomo Tesio
Salve Enrico,

Il 2 Maggio 2024 09:49:45 CEST, Enrico Marello  ha 
scritto:
> 
> Per esempio, la maggior parte dei controlli automatizzati che terminano con
> una cartella oggi è del tipo: in dichiarazione hai indicato che hai versato
> imposte per 100, a noi ne risultano versate solo 80, paga la differenza.
> Incrocia banalmente due tabelle (dichiarato, riscosso), ben poco
> intelligente, mi pare.

Qualunque database di dimensione e complessità degne di nota e che abbia subito
evoluzioni nel tempo finisce per contenere errori 
ed inconsistenze che è necessario analizzare 
e correggere manualmente.

Sarebbe davvero ingenuo credere che basti un atto d'imperio (decreto legge, 
bolla papale..)
per correggere magicamente tali errori.

Errori che aumentano con l'aumentare delle fonti che alimentano il db stesso.


Per riprendere il tuo esempio, sarebbe più preciso dire "sul db c'è scritto che 
in
dichiarazione hai indicato che hai versato imposte per 100, sul db c'è scritto 
che ne hai
versate solo 80, paga la differenza."


Anche senza "AI", rendere più lunghe e costose le correzioni ad un db rende più 
rapida la sua
corruzione.

E mi sorprenderebbe scoprire che il tempo della Corte di Giustizia Tributaria 
costi meno 
allo stato dell'Agenzia dell'entrate.

Poi, ovviamente, se un db ricco di inconsistenze non sanate viene usato per il 
fine-tuning di
un software programmato statisticamente (impropriamente detto "AI") ci aspetta
una valanga di ricorsi vinti dai contribuenti.


Giacomo


Re: [nexa] Gentoo Council Implements Ban on AI-Assisted Contributions

2024-04-24 Thread Giacomo Tesio
Il 24 Aprile 2024 18:50:03 CEST, "380°" ha scritto:
> 
> Poi: se il "contributor" dovesse dichiarare il falso [1] sul copyright...

Appunto: chi usa Copilot per produrre la patch e dichiara di non violare 
licenze di terze parti, 
sta dichiarando il falso.

Perché la patch è un'opera derivata da codice di terzi ma senza attribuzione.

Gentoo chiede esplicitamente a chi aderisce al progetto di evitarlo.


Mi chiedo: se senti il bisogno di usarlo e te ne sbatti delle conseguenze, 
perché contribuire
proprio a Gentoo?


Giacomo
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] Gentoo Council Implements Ban on AI-Assisted Contributions

2024-04-24 Thread Giacomo Tesio
Ciao 380,

Il 24 Aprile 2024 17:40:49 CEST, "380°"  ha scritto:
> 
> > It is expressly forbidden to contribute to Gentoo any content that has been 
> > created 
> > with the assistance of Natural Language Processing artificial intelligence 
> > tools. 
> > This motion can be revisited, should a case been made over such a tool that 
> > does not 
> > pose copyright, ethical and quality concerns.
> 
> e questa sarebbe una policy /actionable/?!?

Lo è tanto quanto quella prevista per contribuire al kernel di Linux, cui è 
letteralmente richiesto gli sviluppatori di (auto)certificare che

```
a) The contribution was created in whole or in part by me and I have the right 
to submit it under the open source license indicated in the file; or
b) The contribution is based upon previous work that, to the best of my 
knowledge, is covered under an appropriate open source license and I have the 
right under that license to submit that work with modifications, whether 
created in whole or in part by me, under the same open source license (unless I 
am permitted to submit under a different license), as indicated in the file; or
c) The contribution was provided directly to me by some other person who 
certified (a), (b) or (c) and I have not modified it
```

https://www.kernel.org/doc/html/latest/process/submitting-patches.html#developer-s-certificate-of-origin-1-1


> non ho parole

Lo capisco: il codice prodotto da un LLM non può garantire di soddisfare 
nessuna delle 
precedenti clausole.

La policy di Gentoo rende solo esplicito ciò che il più diffuso Developer’s 
Certificate of Origin già richiede.


Come fa Linux a impedire che codice che violi quelle condizioni entri nel 
kernel?

Esattamente come farà Gentoo. ;-)


Giacomo
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] Gentoo Council Implements Ban on AI-Assisted Contributions

2024-04-24 Thread Giacomo Tesio
Ciao Guido

Il giorno Wed, 24 Apr 2024 08:38:07 +0200
Guido Vetere ha scritto:

> il problema è che questi co-worker ci sono e se usati con giudizio
> aumentano di molto la produttività

SOLO se misuri la produttività dei programmatori in termini di righe di
codice committate. Che è come misurare la produttività dei filosofi in
termini di battute al minuto.

Se anche tu ci mettessi il 70% in meno a scrivere codice plausibile,
sei più produttivo se poi ci metti il 500% in più a debuggare quel
codice?

E se io, che costo all'azienda tre volte quello che costi tu, devo
spendere il triplo del tempo a rivedere le tue commit rispetto a quelle
di un altro sviluppatore (perché statisticamente ho osservato
che introduci bug più subdoli), sei più produttivo per l'azienda?

Al momento, nella mia esperienza, l'uso di LLM durante la scrittura del
codice sta aumentando i costi e riducendo la produttività complessiva
ed aumentando in modo subdolo i costi di sviluppo (al di là dei costi
vivi del SaaS).


> quindi la gente li sta usando

La gente crede di usare molte cose da cui in effetti è usata...

> pochi rinunceranno a farsi fare del boilerplate code o dei bei
> commenti perché questo non sarebbe etico, I'm afraid ...

Beh... hai scoperto l'acqua calda: più in generale, pochissimi si
pongono problemi etici. Ed una frazione di questi se li pongono nel
proprio operare cibernetico.

A guardare i numeri, potremmo tranquillamente smettere di occuparci di
etica, non credi?

> ed essendo l'etica una mediazione sociale (a meno che .. ma vabbè), il
> resto del ragionamento lo possiamo lasciare come esercizio

TINA again? :-D

Direi al contrario che l'esistenza di una minoranza consapevole delle
conseguenze che pone (e si pone) problemi etici in materia, mostra che
la mediazione sociale di cui parli è ben lontana da sintesi e persino
da compromessi universalmente accettati.

> piuttosto mi chiedo come facciano quelli di Gentoo a capire
> esattamente come è prodotto il codice che i contributori committano
> devono proprio essere grandi accher! :-))

Gli sviluppatori chiedono a chi vuole contribuire di seguire certe
policy. Perché assumi che chi non vuole seguire tali policy scelga di
contribuire a Gentoo? Perché, più in generale, assumi un comportamento
non etico da parte loro?


Giacomo
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] Gentoo Council Implements Ban on AI-Assisted Contributions

2024-04-23 Thread Giacomo Tesio
Ciao Claudio,

Il 23 Aprile 2024 23:15:29 CEST, Claudio Agosti 
 ha scritto:
> Ciao Giacomo; capisco le ragioni che ci sono dietro, ma devo dire che ho
> provato un paio di sistemi di assistenza allo sviluppo.. ed il mio giudizio
> finale è che sono d'aiuto anche ad uno sviluppo responsabile ed informato.

Forse nel tuo caso riesci ad usarlo bene perché sei perfettamente consapevole 
che non
si tratta di codice scritto da una mente che ne comprende il significato (come 
quello scritto 
da un collega in peer programming).


Io l'ho visto usare a colleghi più giovani in peer programming, ed in più di 
un'occasione
il tempo richiesto per il refactoring/debug del output è stato maggiore del 
tempo
necessario a scrivere il codice da zero (sapendo cosa scrivere).

I colleghi in questione tendevano a fidarsi troppo dei "suggerimenti" e 
soprattutto non imparavano
dagli errori del software (forse perché non li vivevano come propri?)
Non solo: in un caso ho provato a far notare al collega i problemi che avevamo 
osservato
durante la sessione di pp, ottenendo una reazione piuttosto piccata, come se 
avessi messo
in discussione la sua competenza invece di quella di Copilot.

L'esperienza fin'ora mi ha lasciato un senso di diffidenza nei confronti del 
codice committato
da chi lo usa (cui corrispondono review più lunghe, meticolose, faticose e 
nettamente più costose
per l'azienda).

Riflettendoci, potrebbe anche aver senso tenerne conto in fase di colloquio:
a parità degli altri fattori, chi non necessita di LLM per scrivere il proprio 
codice 
ha probabilmente prospettive di crescita maggiori.


Forse può essere utile se già conosci perfettamente il dominio del problema
e il contesto di sviluppo (librerie, framework, servizi) nel cui caso riduce i 
tempi di battitura,
ma onestamente non credo che siano davvero "tempi morti": l'atto di scrivere il 
codice
"lentamente" serve a rileggerlo più volte, criticamente,  individuando in 
anticipo
potenziali problemi.

Inoltre, tale sforzo è utile a ricordarlo e dunque a debuggare mentalmente un 
problema
più rapidamente.

> sono assistito nel generare unit test più rapidamente.

Sarà sfiga, ma non gli ho visto produrre in output test utili se non in casi 
esteremamente basilari
(come funzioni pure di natura algebrica)

Nella quasi totalità dei miei casi d'uso, la quantità dei mock da configurare 
rende semplicemente
inutile quei tool.


Leggermente più utile è nella scrittura di esempi di utilizzo per la 
documentazione (ma anche
in quel caso, bisogna sempre rileggere e testare manualmente che la stronzata è 
dietro l'angolo.


> Secondo me posizioni come quella di Gentoo, sono importanti per dare un
> segnale, per fare un racconto di una comunità più attenta, ma poi sotto
> sotto, se committo del codice scritto con l'aiuto di chatgpt + co-pilot,
> costantemente rivisto da me... si può dire che il mio contributo sia stato
> AI-generato?

Sì beh... stai completamente ignorando il problema etico.

Se copi il codice che ho donato al mondo sotto un copyleft forte (supponi 
AGPLv3 o 
magari Hacking License[1]) in un progetto distribuito con una licenza 
incompatibile
(proprietaria o permissiva che sia), sei uno stronzo e lo sai.

Se lo fai perché te lo suggerisce CopyALot, sei comunque uno stronzo, ma non lo 
sai.

O meglio, scegli di non saperlo, di lavartene le mani perché... "AI".


Non saprei dire, in termini di filosofia morale, se questo ti renda doppiamente 
colpevole o meno.

Penso però si tratti di una di quelle situazioni in cui il soggetto è 
pienamente consapevole che dalle
proprie azioni deriverà un danno a terzi, ma non conoscendo personalmente i 
terzi, se ne sbatte.

Che sia usare Copilot per "risparmiare tempo", vendere criptomenate per non 
restare 
col cerino in mano o persino costruire proiettili, la questione mi sembra 
moralmente analoga.


> Non mi sono limitato a premere tab, ma ho fatto un lavoro di selezione,
> riflessione, e guida di quello che mi è stato suggerito. Mi sento comunque
> autore e responsabile dei pezzi di codice scritti, anche se c'era un
> "autocomplete" un bel po' più sofisticato del solito.

Per questo dovresti analizzare con più attenzione le implicazioni etiche.

Anche se produci sempre codice "open", quel codice deriva dal codice donato da 
altri perché 
sia sì riutilizzato, ma a certe condizioni, prima fra tutte un'attribuzione 
corretta [2]

Tu stai inevitabilmente violando quelle condizioni.


Se te ne senti davvero responsabile, come concili la consapevolezza di 
sfruttare il lavoro 
di migliaia di altri sviluppatori di software libero senza neppure citarli e la 
tua idea di te?

La scarsa probabilità di essere beccati è rilevante dal punto di vista legale, 
ma da quello morale no.


Per il software libero questi LLM costituiscono un danno secco: hai notato che 
Microsoft 
si è guardata bene dall'usare i propri sorgenti per programnare statisticamente 
GitHub Copilot?

Perché?

Poteva farlo senza incorrere in ovvie violazioni del

[nexa] Gentoo Council Implements Ban on AI-Assisted Contributions

2024-04-23 Thread Giacomo Tesio
Gentoo Council forbids AI-generated content from being made in contributions 
due to copyright and quality concerns.

Over the past year, artificial intelligence has become an increasingly integral 
part of the tech ecosystem. This advancement is on its way to revolutionizing 
how businesses operate, offering enhanced efficiency and automating mundane 
tasks.

At the same time, however, as AI technologies become deeply ingrained in the 
tech industry, they also usher in various concerns ranging from ethical 
dilemmas to potential quality compromises.

In light of this, the Gentoo Council, a pivotal entity in the open-source 
community, recently made headlines by setting a significant precedent 
concerning AI-generated content.

A couple of days ago, they enacted a policy explicitly prohibiting the 
contribution of any content created with the assistance of Natural Language 
Processing AI tools to Gentoo’s official projects.

The Gentoo Decision: Motivations and Implications

Several critical concerns underpin the Gentoo Council’s decision. Foremost 
among them are copyright issues. With copyright laws still catching up to the 
fast-paced evolution of AI, using AI-generated content could lead to legal 
entanglements and undermine the rigorous copyright standards that open-source 
projects like Gentoo strive to maintain.

Additionally, there are apprehensions about the quality of AI-generated 
content. While AI can produce work that appears convincingly accurate, it often 
lacks the nuanced understanding necessary for high-stakes or technically 
demanding projects.

For Gentoo, this risk is unacceptable, as it could dilute the quality of their 
projects and impose an undue burden on developers and users who would need to 
verify the accuracy of such contributions.

Ethical considerations also play a crucial role in their policy. The AI 
industry’s rapid growth has not been without controversy, including accusations 
of copyright infringement in training models and concerns over the substantial 
environmental impact due to AI data centers’ immense energy and water usage.

Moreover, the commercial deployment of AI has been linked to job disruptions, 
declining service quality, and the facilitation of scams and spam.

All of these factors led Gentoo[1] to decide to openly ban the use of AI in any 
development related to it, making it the first distribution to make such a 
decision. For more information, visit the official announcement [2]




[1] https://www.gentoo.org/

[2] https://wiki.gentoo.org/wiki/Project:Council/AI_policy

It is expressly forbidden to contribute to Gentoo any content that has been 
created 
with the assistance of Natural Language Processing artificial intelligence 
tools. 
This motion can be revisited, should a case been made over such a tool that 
does not 
pose copyright, ethical and quality concerns.
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


[nexa] Statement of the Global Encryption Coalition’s Steering Committee on the Belgian Presidency’s compromise proposal on EU CSAM

2024-04-20 Thread Giacomo Tesio

Statement of the Global Encryption Coalition’s Steering Committee on the 
Belgian Presidency’s compromise proposal on EU CSAM
The Global Encryption Coalition’s Steering Committee (GEC-SC)1 is alarmed by 
the latest proposal for a compromise presented by the Belgian Presidency of the 
Council of the European Union to advance the negotiations on the ‘Regulation 
laying down rules to prevent and combat child sexual abuse’ (EU CSAM). 

We are particularly concerned about:

1. The restrictive language used in the new proposal implies that service 
providers offering encrypted services could still be compelled to undermine or 
circumvent end-to-end encryption using methods like client-side scanning (CSS).

2. The new wording introduced in Recital 26 narrows the definition and 
understanding of end-to-end encryption “as data in transit protected by means 
of encryption”, which subjects stored data to little protection and subsequent 
CSS.

The GEC-SC takes note of the Presidency’s efforts to unblock the negotiations 
by introducing new provisions aimed at protecting cyber security and encrypted 
data. However, the latest text maintains end-to-end encrypted services within 
the scope of detection orders and introduces restrictive interpretations of 
general concepts that are troublesome. We also take note of news released on 16 
April indicating that under the Presidency’s new proposal, messaging services 
encrypted end-to-end would be deemed “high risk” and thus subject to detection 
orders that would require providers to scan all messages on their encrypted 
service.

The latest proposal also modifies the language previously agreed under the 
Spanish presidency2 in Article 1(5) setting out the scope of the Regulation. 
Article 1(5) now states that “This Regulation shall not create any obligation 
that would require a provider of hosting services or a provider of 
interpersonal communications services to decrypt or create access to end-to-end 
encrypted data, or that would prevent the provision of end-to-end encrypted 
services.”

The Belgian Presidency attempts to address the concerns regarding the necessity 
of protecting encryption by explicitly stating that the Regulation does not 
oblige providers to break encryption or create backdoors. However, the 
restrictive language it uses implies that providers could still be compelled by 
the regulation to undermine or circumvent end-to-end encrypted mechanisms using 
alternative methods, such as deploying client-side scanning (CSS). Client-side 
scanning is fundamentally inconsistent with the promise and purpose of 
end-to-end encryption, which is that only the user and the intended recipients 
can access the contents of a communication encrypted end-to-end.

This concern is heightened by the proposed new wording inserted in Recital 26 
that narrowly defines end-to-end encryption technology, “as data in transit 
protected by the means of encryption”. This appears to be an attempt to remove 
stored data from the scope of E2EE services to leave it unprotected from the 
prohibition against breaking encryption so it can be subjected to client-side 
scanning. However, as acknowledged by the European Data Protection Supervisor 
and the European Data Protection Board in their Joint Opinion 4/2022, CSS 
inherently undermines cybersecurity and mitigation measures for which Recital 
26 calls cannot effectively address the risk posed by access to data for 
purposes such as scanning. 

The GEC-SC reiterates its long-standing position on CSS and recalls the latest 
landmark case of the European Court of Human Rights on Podchasov vs Russia. The 
ECtHR categorically confirmed that solutions that weaken encryption or create 
backdoors to facilitate access by law enforcement authorities to encrypted 
communication data violate the right to private life under Article 8 European 
Convention on Human Rights (ECHR) of all users.

The Court took a strong stance in favour of encryption by recognizing not only 
measures that break encryption, but also any measures that weaken the 
effectiveness and intended purpose of encryption. The Court took into 
consideration a number of sources from international bodies such as the Office 
of the United Nations High Commissioner for Human Rights and the Council of 
Europe inter alia, that state that techniques that weaken or circumvent 
security measures or exploit their existing weaknesses should be strictly 
prohibited just as much as mandated encryption backdoors. 

We call on the Member States to reject the Belgian Presidency’s proposal and to 
hew to the language adopted by the European Parliament which would exclude from 
the scope of this regulation any data to which end-to-end encryption is, has 
been or will be applied.
___
nexa mail

Re: [9fans] VCS on Plan9

2024-04-20 Thread Giacomo Tesio
Hi 9fans

Il 18 Aprile 2024 22:41:50 CEST, Dan Cross  ha scritto:
> 
> Git and Jujitsu are, frankly, superior

out of curiosity, to your knowedge, did anyone ever tried to port fossil scm
to Plan9 or 9front (even through ape)?



Also (tangential) did anybody tried to port Tiny-CC?


Giacomo

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tab2715b0e6f3e0a5-M85b3f817edeaf49c1634b730
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


[nexa] Make your own backdoor: CFLAGS code injection, Makefile injection, config(was: [CDT:L-1] (supply chain attack) Anatomia di una "backdoor injection" (parte 2))

2024-04-17 Thread Giacomo Tesio
Ciao 380,

grazie per aver speso il tempo di scrivere questa ottima disanima: sei un 
ottimo divulgatore!

Aggiungo solo qualche considerazione:




Il 13 Aprile 2024 17:45:54 CEST, "380°" ha scritto:
> Perché build-to-host.m4 è uno dei diversi file autogenerati da autotools
> e autoconf e quei file non sono umanamente leggibili, [...]
> 
> La soluzione a questo /primo/ problema è facilissima, quindi: i
> "downstream consumer" devono semplicemente smetterla di essere _pigri_

Ovvero smettere di usare la procedura
```
./configure ...
make
make install
```
Giusto per chiarire la complessità della "soluzione facilissima" a chiunque 
abbia mai scaricato
e compilato un tar.gz

Direi che questo è un caso da manuale di soluzione semplice tutt'altro che 
facile. :-)


> Usando direttamente il codice preso dal VCS upstream si azzererebbero le
> possibilità di riuscire a nascondere un trojan (tipo build-to-host.m4)
> in grado di sovvertire il processo di build e fargli installare la
> backdoor a sua volta nascosta in file binari camuffati da file necessari
> per i test.

Purtroppo non basta lontanamente.

Leggi questo bell'esperimento mentale di Vegard Nossum 


Cito solo la conclusione a seguito di 6 possibili mitigazioni (tutt'altro che 
facili) dell'attacco 
che Nossum ha ideato:

```
Even if we did all of this, it would of course still not be enough. 

The underlying problem is having things that are unreadable or unreviewable -- 
binary files, inscrutable code (whether shell scripts, makefiles, m4 code, or, 
in some cases, Perl code). 
```

Conclusione comunque parziale: più in generale se un qualunque software 
(kernel, libreria, 
script di build...) non può essere compreso interamente (in un tempo 
ragionevole)
qualunque sistema cibernetico che ne dipenda è vulnerabile e probabilmente già 
compromesso.

Il problema è la complessità.

Aggiungere complessità non lo risolverà, potrà solo nasconderlo.


Giacomo
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] [CDT:L-1] (supply chain attack) Backdoor su Xz: il problema è molto più grande... (parte 1)

2024-04-12 Thread Giacomo Tesio
Salve 380,

come Antonio, ho seguito la questione nel suo svilupparsi, con un misto di 
tristezza 
e divertimento, tanto da aver preceduto Schneier   [1].

Si tratta però di ovvietà: centinaia di simili backdoor sono correntemente in 
produzione.
Forse migliaia.

Solo i professionisti del InfoSec possono fingere di credere il contrario (da 
cui il dramma
inscenato online).


Tuttavia, tutte le analisi che ho letto sull'attacco subito da OpenSSH tramite 
SystemD 
tramite XZ sono basate sulle stesse assunzioni che hanno reso possibile 
l'attacco.

Alla base di questo castello di assunzioni c'è l'accettazione della enorme 
complessità
degli stack applicativi mainstream, in cui nascondere una backdoor è facilissimo
anche se (de)i sorgenti sono disponibili.


Le libertà promesse dal software libero (e ancor più da quello opensource) sono
sistematicamente vanificate dalla complessità che lo caratterizzano.

Se una persona adulta non può leggere e comprendere interamente un software
in (al massimo) un mese, quel software è irrimediabilmente vulnerabile e
probabilmente compromesso.


Il resto sono favolette consolatorie.


Non è un problema dell'FLOSS.
Non è un problema di autoconf.
Non è nemmeno un problema di riproducibilità delle build.

C'è un problema di sfruttamento degli sviluppatori volontari, ma risolverlo
non risolverà il problema.


Il problema è cibernetico e culturale, non tecnico o economico.

Dovremmo ristudiare Wirth: https://www.projectoberon.net/


Giacomo

[1] https://qoto.org/@Shamar/112195245691551523
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] "‘Lavender’: The AI machine directing Israel’s bombing spree in Gaza"

2024-04-07 Thread Giacomo Tesio
Il 6 Aprile 2024 16:10:51 CEST, Guido Vetere ha scritto:
> 
> | migliaia di palestinesi [...] sono stati spazzati via dai bombardamenti
> israeliani, [...] *a causa delle decisioni dell’intelligenza artificiale*
> 
> [...]  mi sembra che questa formulazione alimenti un
> 'fumus' molto denso nelle discussioni su etica e AI che ascoltiamo in
> questi tempi
> [...]
>
> A me sembra che in questo caso l'AI sia stata arruolata in una operazione
> di propaganda

L'idea di "intelligenza artificiale" stessa è un'operazione di propaganda e 
distrazione di massa. Da sempre.

Se parlassimo più propriamente di software programmato statisticamente, tutte
le responsabilità umane sarebbero chiaramente riconducibili:

- a chi finanzia la programmazione
- a chi la effettua
- a chi esegue il software
- a chi fornisce l'input
- a chi interpreta l'output

Questo vale per le manipolazioni cognitive subite da chi usa GMail o Instagram, 
quanto per quelle
subite da chi usa GitHub CopyALot o GPT4, fino al giornalista che si interroga 
sull'etica della 
AI invece di sottolineare il genocidio in corso ad opera di Israele.


In questo caso, tutti i responsabili andrebbero processate per crimini di 
guerra e genocidio.

Esattamente come i dirigenti e gli sviluppatori di Uber sarebbero dovuti essere 
condanati
per l'omicidio di Elaine Herzberg, quelli di Boing per le vittime del 747 Max e 
quelli di Tesla per gli incidenti causati dal autopilot.


Si tratta di software.
Niente di più e niente di meno.
E come tutto il software, esegue ciò per cui è programmato, statisticamente o 
meno.

Anche uccidere.


Parlare della "AI" serve solo a buttare fumo negli occhi per proteggere 
criminali.


Giacomo
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] L'AI e il cambio di paradigma

2024-03-16 Thread Giacomo Tesio
Ciao Antonio,



Il 16 Marzo 2024 12:53:15 CET, Antonio ha scritto:
> Immaginate che il prossimo primo d'aprile, le BigTech facciano al mondo un 
> bel pesce d'aprile.
> Si mettano d'accordo e spengano i loro server. Una disconnessione, non di un 
> paio d'ore come 
> è successo il 5 marzo con Facebook e consorelle [1], ma per sempre, o comunque
> per un periodo molto lungo.

Sognamo ad occhi aperti? :-D

> A parte lo shock iniziale,

In effetti... una sbornia epica... :-)

> la comunità di sviluppatori open source sarebbe in grado, nel giro di poco 
> tempo, di mettere
> su delle alternative valide

Pochi giorni, considerata l'enorme domanda non più servita da un mercato drogato
dalle sovvenzioni militari USA.

> Già, la quasi ... Ma con l'intelligenza artificiale come la mettiamo?

Perché, quella naturale è già esaurita?


Giacomo
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1

2024-03-15 Thread Giacomo Tesio
Caro Marco Anselmo Luca,

pur essendo felice di rassicurarti, ti suggerirei di non tediare oltre
l'intera lista con le tue (pur divertentissime :-D) esigenze personali.


On Fri, Mar 15, 2024 at 01:14:04PM +0100, Marco Anselmo Luca Calamari wrote:
> Ho invece letto il tuo utilizzo di sed per le operazioni di correzione del mio
> nome.
> 
> Ti confesso che sono un po' preoccupato, perché non mi è chiaro come tu lo 
> possa
> usare con le copie offline e di backup, tenuto conto che alcuni di questi 
> mezzi
> sono a sola scrittura.

[...]

> vorrei che tu mi confortassi che farai altrettanto su tutti i tuoi
> supporti offline o di sola lettura.
> Mi rendo conto che questo implicherà un poco ecologico consumo quotidiano di
> cdrom ma, come mi insegni, meglio sacrificare i cdrom che le persone.

Figurati, sono felicissimo di confortarti E di alleggerirti la coscienza.

Non mantengo copie di backup di mailing list che dispongono di archivi
pubblici affidabili: nessun cdrom verrà sacrificato al tuo vezzo.

sed è più che sufficiente.


> Confido che il tuo dominio dell'informatica ti consentira di automatizzare
> facilmente l'operazione.

Meglio ancora: grazie al mio dominio dell'informatica non ho alcun bisogno di 
automatizzare la modifica di backup che sarebbero superflui.

Come vedi, la tua fede è ben riposta! ;-)


> Ti devo infine rivolgere un'ultima richiesta, che mi è venuta in mente mentre
> davo ripetizioni di fisica 2 a mia nipote.
> 
> Con il tuo uso di connessioni wireless e bluetooth il mio nome errato è stato
> trasformato in onde hertziane, che come onde sferiche si stanno diffondendo
> nello spazio.
> Sono molto preoccupato che tra 4 anni gli abitanti di Proxima Centauri
> certamente in grado di craccare il WPA, vengano a conoscenza del mio nome
> errato.
> 
> Ti pregherei quindi di creare adatti campi hertziani di correzione
> superluminali, in modo che i poveri alieni ricevano onde hertziane corrette, e
> non si facciano un'opinione errata di me.

Anche su questo, posso rassicurarti: le onde elettromagnetiche che
giungeranno su alpha centauri fra 4 anni saranno indistinguibili dalla
radiazione cosmica di fondo.


Sia chiaro: non è merito mio! Fortunatamente il Signore è previdente 
e aveva già pensato alle tue esigenze ben prima che tu fossi concepito.

Chiedi pure al prossimo evangelista che ti compare in sogno: confermerà!


A presto!


Giacomo

PS: sei sicuro che tua nipote non trarrebbe giovamento da un docente di
fisica più aggiornato? la CMBR fu scoperta nel 1964... :-D

PPS: so che questa era "l'ultima richiesta" ma... se dovessi scoprire di
avere ulteriori venerabili esigenze, ti prego di scrivermele in privato.
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1

2024-03-15 Thread Giacomo Tesio
Ma certo, Marco Anselmo Luca, ma certo...

On Fri, Mar 15, 2024 at 09:13:45AM +0100, Marco Anselmo Luca Calamari wrote:
> On ven, 2024-03-15 at 00:41 +0100, Giacomo Tesio wrote:
> > Preferisco adattare gli script alle persone, che le persone agli script.
> 
> Benissimo, tu sarai i l primo a comportarti in questo modo
> [...]
> Sei quindi pregato di modificare immediatamente in questo senso tutti i miei
> messaggi che hai ricevuto od a cui hai risposto, in tutti i tuoi archivi
> permanenti, locali e/o temporanei.
> [...]
> Ovviamente senza censurarmi cancellandoli.

$ sed -e "s/Marco A. /Marco Anselmo Luca/g" -i INBOX.INBOX-Nexa.mbox

Contento? :-D

Se vuoi ti mando privatamente uno screenshot di Mutt che mostra le tue 
mail aggiornate...


> Tanto mi devi. 

Ma certo: come diceva sempre la mia mamma quando ero bambino 
"devi assecondare i capricci degli anziani..." ;-)


Giacomo

che sa quanto apprezzerai la mia notoria "politically correctness"... :-p
___
nexa mailing list
nexa@server-nexa.polito.it
https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa


Re: [nexa] The Software Heritage Archive wants to deadname me forever: part 1

2024-03-14 Thread Giacomo Tesio
Cara Wanda, don't panic!

Nessuna build riproducibile è stata maltrattata durante il rebase. :-D


Ma andiamo con ordine...

Il giorno Thu, 14 Mar 2024 15:54:34 Wanda Osiris ha scritto:

> SWH si occupa _precisamente_ di archiviazione _sia_ nel pubblico
> interesse che in quello della ricerca scientifica e *storica*

Ragione per cui ha senso correggere l'attribuzione nei propri archivi,
non credi? In questo modo, quei repository riporteranno ad imperitura
memoria i dati corretti dell'autrice.


> conservazione dei "vecchi" dati personali è lecita quindi, o no?!?

Se quegli specifici dati avessero un valore storico, sì.

In questo caso, non solo non hanno valore storico, ma potrebbero
causare errori nella ricostruzione della storia del software che la
Software Heritage si impegna a proteggere.

> Pretendere di "riscrivere la storia" [...] e spacciare quella pretesa
> come un diritto fa *estremamente* male alla salute culturale di
> un'intera civiltà.

Mi sembra una ricostruzione un po' apocalittica (oltre che non
attinente ai fatti: nessuno vuole riscrivere la storia, in questo caso)

> per altro *pubblicata* direttamente dalla persona interessata, manco
> dal suo datore di lavoro

Mi sfugge completamente cosa intendevi con questo passaggio: cosa
cambierebbe se il software in questione fosse stato realizzato su
commissione?


> [... lezioncina su GIT ad un programmatore che lo usa dal 2009 ...]
>
> Ma ancora più grave è che "riscrivere la storia" di un repository
> significa inevitabilmente buttare nel cestino anche tutte le firme
> crittografiche GPG effettuate su ciascun commit [3], che è uno
> strumento _fondamentale_ per verificare l'integrità del repository.

Eseguendo `git log --show-signature` sul repository in questione non
emerge alcuna firma crittografica [1].

Le commit di cui stai parlando non sono state mai firmate, quindi
nessuna firma crittografica è stata maltrattata durante quel rebase.


Inoltre, le firme crittografiche dei manutentori dei pacchetti nelle
varie distribuzioni rimangono valide, perché non firmano le commit
dell'autrice, ma le proprie, nei propri repository.

Infine, tutti i riferimenti ai vecchi hash su GitHub rimangono
disponibili. Ad esempio questa è la prima commit, originale, sul repo
https://github.com/rspeer/python-ftfy/tree/9a5ad6f64378219eafcddb348ac91fa1c3521f38

Quindi davvero, non c'è alcun bisogno di farsi prendere dal panico!!!
:-D


Se poi le build in questione sono effettivamente riproducibili, la loro
riproduzione sarà già stata automatizzata (non foss'altro che per
verificarne la riproducibilità) e quindi sono comunque a pochi comandi
di distanza dal checkout del repository modificato.


> Inoltre, pensa se per una /sfortuna/ micidiale il "deadname" di quella
> persona comparisse nei "credits" che molti software mostrano nelle
> schermate "About": gli sviluppatori del software dovrebbero *ritirare*
> le copie circolanti?!?

Non mi pare sia ciò che l'autrice ha chiesto a SWH.

Poi certamente, potrebbe ragionevolmente chiedere ai software che la
menzionano nei credits di aggiornare la menzione nelle versioni
successive. 


> gitmailmap [...] senza sabotare il lavoro degli altri [...]

Guarda che l'autrice non deve niente a nessuno!

Questo senso di "entitlement" è uno degli effetti più tristi
dell'opensource: nessuno di coloro che ha usato in qualsiasi modo il
software dell'autrice ha il diritto di definire "sabotaggio" qualsiasi
modifica che questa abbia voluto apportare alla propria opera.

Lei ha donato una propria opera.

Chi vi basa il proprio lavoro, non può far altro che ringraziarla.


Chiunque sia infastidito  dal suo rebase, può liberamente smettere di
usare, studiare, modificare, distribuire il software che ha scritto.


> Se vuoi spacciare come diritto un capriccio
[...]
> > Beh, non stiamo parlando della storia ma di uno specifico repository
> > GIT.  
> 
> Questo ti pare poco solo perché non ti importa del lavoro degli altri
> (sfortunati) basato su quello specifico repository.

No Wanda, la differenza mi è molto chiara.

E' diritto dell'autrice vedere la propria opera attribuita
correttamente al proprio nome.

E' capriccio di chi esige di appropriarsi del suo lavoro
pretendere che lei rinunci a tale diritto per non disturbare
il proprio workflow, evidentemente troppo fragile.


> «Rebase Considered Harmful»
> https://fossil-scm.org/home/doc/trunk/www/rebaseharm.md

Tecnicamente un'ottima lettura, che consiglio spesso.

Ma mi sorprende molto che quel passaggio del ragionamento di Hipp ti
piaccia: riduce il programmatore ad uno strumento produttivo.

La programmazione è anzitutto una forma di espressione: pretendere che
sia "egoless", che prescinda dalla persona che si esprime, significa
letteralmente pretendere l'alienazione di quella persona.


Così come è alienante esigere che una programmatrice rinunci ad un
proprio diritto per non disturbare troppo gli script di chi ne
distrubuisce il software.

Credi davvero che il comportamento di OpenAI si

  1   2   3   4   5   6   7   8   9   10   >