Amazon Mechanical Turk: un turco meccanico
Amazon non è solo potenza. È anche potenziale umano
Ho provato Amazon Mechanical Turk, un servizio di cloud computazionale che, al contrario di altri suoi simili, non si limita alla potenza pura. Il Turco di Amazon mette infatti a disposizione la capacità umana per risolvere i problemi nel Cloud.
Per capire meglio di che si tratta, e’ utile dare qualche definizione spero in modo semplice (mi piace pensare che mia mamma legga quel che scrivo!). Sommariamente la computazione si può immaginare come l’esecuzione, più o meno contemporanea, di operazioni semplici sui dati. Ad esempio “preparare le lasagne”, richiede gli ingredienti (i dati), e una procedura (l’algoritmo o la ricetta). La computazione prevede quindi tempo e spazio (in una cucina da campo le lasagne non le farò mai).
Il “tempo” è un parametro importante per l’esecuzione di un algoritmo. Per paragonare tra loro gli algoritmi, in informatica, si usa spesso riferirsi alle performance tramite paragoni. Si dice che un algoritmo è “asintotico a”, oppure “o di” qualcosa (questo ricorda la notazione di Landau, per capirci). Ad esempio, una lista può essere scorsa dall’inizio alla fine per trovare un valore. Questo compito si dice a “tempo lineare” oppure “o di enne”. Ovviamente i programmi a tempo lineare sono, di solito, poco interessanti. Quelli di interesse maggiore hanno di solito un asintotico piuttosto complesso. Se chiedessimo che durante la scorsa della lista, il computer facesse qualcos’altro, allora il tempo non sarebbe più lineare, bensì, generalmente una funzione non lineare.
Esistono compiti non esprimibili come pure sequenze di azioni semplici. Dare qualunque resto al supermercato minimizzando il numero di monete è un compito in generale difficile (la mia formulazione lascia a desiderare, ma chi si vuole divertire trova qui informazioni su che intendo). Esistono quindi dei problemi che il modello di computazione “polinomiale” proprio non saprebbe affrontare.
Un essere umano però, magari particolarmente abile, spesso è capace di dare proprio quel resto ottimo in modo molto semplice e veloce (con qualunque cambio, valuta, ecc).
Immaginiamo di avere problemi, come l’identificazione di un volto in un’immagine oppure la ricerca della risposta alla domanda “Luca ha scritto su Twitter se gli è veramente piaciuto il concerto di Madonna?”, e abbiamo il problema tipo che possiamo risolvere tramite il Turco Meccanico di Amazon. Nella realtà, dietro al Turco ci sono tanti utenti che, contro il tentativo di risposta alla domanda, chiedono qualche centesimo per il proprio lavoro e sono sparsi per tutto il globo.
Ecco come il Cloud riesce a unire tre risorse particolari quali i dati (i problemi più o meno grandi), la loro messa a disposizione, e una folla (il crowd appunto) che è volenterosa di computare su di essi per un piccolo guadagno.
I servizi di crowdsourcing permettono risposte molto rapide a tanti problemi che impiegherebbero anni per essere computati classicamente, anche sui più avanzati sistemi ad Alte Prestazioni o addirittura sarebbero irrisolvibili.
Analisi di trend emozionali sui social media in cui si richiede di poter cogliere l’ironia nei messaggi Twitter, i pro o contro di un certo candidato politico, ecc. erano tecnicamente intrattabili. Questo era vero prima dell’avvento del Cloud e del crowdsourcing.
Suggested Tweets
Altri articoli che potrebbero interessarti
La nuvola che rischiara il traffico
Posted in Case History by: Lucio il 11.02.2013


Commenti
Lascia un commento