Creare app basate sull’intelligenza artificiale può essere faticoso, sottolinea Google, ma ne vale la pena, per ottenere i benefici derivanti dall’utilizzo di questa tecnologia; inoltre, fortunatamente, negli ultimi cinque anni lo sviluppo con il machine learning è diventato molto più semplice, grazie a strumenti di facile utilizzo.
Al giorno d’oggi si può arrivare a dedicare relativamente poco tempo alla creazione e alla messa a punto di modelli di machine learning e molto più tempo allo sviluppo di app tradizionali.
Big G ha condiviso una “beginners guide” che presenta alcuni degli strumenti di Google Cloud, e non solo, che possono aiutare aziende e sviluppatori a creare rapidamente app basate sull’intelligenza artificiale. Una guida introduttiva per aiutare a fare i primi passi nello sviluppo di machine learning.
Una delle parti più laboriose e meno piacevoli dei progetti di machine learning, spiega Dale Markowitz, Applied AI Engineer di Google, è la raccolta di dati di training etichettati, esempi etichettati (“labeled”) da cui un algoritmo di apprendimento automatico può “imparare”.
Tuttavia, per molti casi d’uso comuni non è più necessario farlo. Invece di costruire il proprio modello da zero, è possibile sfruttare i modelli pre-addestrati che sono stati costruiti, messi a punto e gestiti da qualcun altro. Le API AI di Google Cloud sono un esempio.
Le API Cloud AI di Google Cloud consentono di utilizzare il machine learning per cose quali: la trascrizione di file audio e video; leggere il testo dai documenti; il parsing di documenti strutturati, come moduli e fatture; il rilevamento di volti, emozioni e oggetti nelle immagini, oppure di contenuti espliciti in immagini o video; e molto altro ancora.
I modelli di machine learning che alimentano queste API sono simili a quelli utilizzati in molte app di Google (come ad esempio Foto) e sono addestrati su dataset giganteschi.
Benché sia possibile trovare un modello pre-addestrato per molti casi d’uso, a volte è necessario qualcosa di veramente personalizzato e, per questo, bisogna creare un proprio modello custom.
AutoML è uno strumento di intelligenza artificiale di Google Cloud che rende questo processo il più indolore possibile: esso consente di addestrare un modello personalizzato sui propri dati senza dover scrivere codice (a meno che non siamo noi a volerlo).
Anche se l’interfaccia AutoML è semplice, i modelli che produce sono spesso di altissima qualità. Inoltre, utilizzare i modelli AutoML nella propria app è facile: è possibile consentire a Google di ospitare il modello nel cloud e accedervi tramite un’API REST standard o una libreria client (Python, Go, Node, Java ecc.), oppure esportare il modello su TensorFlow in modo da poterlo utilizzare offline.
Ma da dove prendiamo un corposo set di dati di training per il modello?
Il primo suggerimento di Dale Markowitz è: quasi ogni tipo di dataset che si possa immaginare esiste su Kaggle, un sito di hosting di set di dati e competizioni. Google Dataset Search è anch’esso uno strumento utile per trovare set di dati, che interroga sia Kaggle che altre fonti.
A volte però, ovviamente, dobbiamo etichettare noi i nostri dati. Per questa operazione lunga e laboriosa, si può considerare l’utilizzo del servizio Data Labeling Service di Google.
Per utilizzare questo strumento, basta descrivere come desideriamo che i nostri dati vengano etichettati e poi Google li invia ai team di etichettatori umani. Il set di dati etichettato risultante può essere poi collegato direttamente ad AutoML o ad altri modelli della AI Platform per il training.
Successivamente, c’è la fase che conduce dal modello all’app effettivamente utilizzabile. Anche questa fase nasconde insidie e anche per questa Dale Markowitz offre consigli, suggerimenti, esempi e link agli strumenti utili, nel suo post sul blog di Google Cloud.