AI – Piattaforme

Lo sviluppo dell’Intelligenza Artificiale non solo è inarrestabile am ha consolidato delle piattaforme abilitanti che sono ormai considerate dei veri e propri punti di riferimento. Questo documento sarà in continuo aggiornamento.

Google > Google Cloud AI  (USA)

Google AI Platform permette la creazione di applicazioni che possono funzionare sia in Google Cloud Platform sia in locale. Per un quadro d’insieme della visione di Google sull’AI si rimanda a questa pagina. L’utilizzo è indirizzato a machine learning developers, data scientists e data engineers per favorire un percorso più semplice dall’ideazione alla fase di produzione. La soluzione è particolarmente flessibile ed integra la possibilità di utilizzare anche altre piattaforme come Google Kubeflow.
Per quanto riguarda 
Google Kubeflow, si tratta di una piattaforma gratuita e open-source di Machine Learning (ML) per la gestione di flussi di lavoro complessi che vengono eseguiti su Kubernetes (vedi sotto). Si possono utilizzare TensorFlow (vedi sotto) o PyTorch (vedi sotto) per addestrare un modello e distribuirlo TensorFlow Serving o Seldon.
Google Kubeflow è basato su un prodotto interno di Google di deployer chiamato TensorFlow Extended.

Kubernetes (K8s) è un sistema open-source di orchestrazione e gestione di container sviluppato da Google ma ora mantenuto da Cloud Native Computing Foundation. Funziona molto bene anche con Docker (vedi sotto).

Docker è un progetto open source per automatizzare il processo di deployment (ovvero di distribuzione) di applicazioni all’interno di “contenitori software” con un livello di astrazione superiore che utilizza la virtualizzazione del sistema operativo Linux. Docker è sviluppato in linguaggio Go supportato da Google. Di particolare interesse è l’utilizzo di Go su Google Cloud.

PyTorch è un framework di apprendimento automatico open source basato sulla libreria Torch.

Google Brain Team > Tensorflow

TensorFlow è una piattaforma di machine Learning (ML) sviluppata da Google poi rilasciata in open source che permette di gestire le varie fasi dal modello, con l’utilizzo di API di alto livello, fino al deployment su browser o device.
Sono presenti diverse librerie con la gestione della distribuzione e di particolare interesse sono quelle più leggere per il mobile e l’IoT.
Viene utilizzato per il riconoscimento vocale (voice recognition), la sentiment analysis, il riconoscimento della lingua,  language detection, il riepilogo di testi (text summarisation), il riconoscimento di immagini, il rilevamento dei video, le serie temporali, ecc.
TensorFlow utilizza la libreria Keras (vedi sotto).

Tensor – Può essere descritto informalmente come una “matrice a più dimensioni” contenente valori arbitrari.

ReLU – Spesso nella codifica delle reti neurali si trova la funzione ReLU (rettificatore) che è di attivazione ed è definita come la componente positiva dell’argomento. Viene chiamata anche funzione rampa e rappresenta un raddrizzatore in elettronica.

Dove x l’input a un neurone.
L’unità lineare rettificata (REctified Linear Unit da cui ReLU) fa prendere il nome a tutta l’unità che l’utilizza.

Softmax è un layer di attivazione. Maggiori informazioni qui.

Keras è una libreria open source per l’apprendimento automatico e le reti neurali, scritta in Python. È progettata come un’interfaccia a un livello di astrazione superiore di altre librerie simili di più basso livello, e supporta come back-end le librerie TensorFlow, Microsoft Cognitive Toolkit e Theano.

Keras richiede un’attenzione importante per la validità della soluzione ed il grande numero di applicazioni sviluppate.

L’area dedicata agli esempi è suddivisa in aree di interesse e applicazione:

  • Computer Vision
  • Natural Language Processing
  • Structured Data
  • Timeseries
  • Audio Data
  • Generative Deep Learning
  • Reinforcement Learning
  • Graph Data
  • Quick Keras Recipes

Questo esempio di Keras denominato image_classification_from_scratch permette la classificazione binaria di due animali (cane e gatto) assegnando:

cane = 0
gatto = 1

Al termine dell’addestramento questo sarà il codice del risultato:

 

 

 

Esempi applicativi interattivi

Amazon > Amazon AI services (USA)

Amazon propone delle soluzioni di Ai senza che siano necessari dei requisiti specifici o competenze di programmazione. Le applicazioni di AI di Amazon vanno dall’advanced machine learning nei campi della analisi video, del linguaggio naturale fino agli assistenti virtuali.

L’accesso alla piattaforma di Amazon AI avviene attraverso la soluzione AWS: Machine Learning in AWS

Per ulteriori informazioni vedi anche

Microsoft > Microsoft Azure AI (USA)

La piattaforma di AI di Microsoft si integra con il cloud Microsoft Azure.
Sono disponibili applicazioni per l’analisi delle immagini, la comprensione vocale, le previsioni, ecc.
L’accesso principale è su Azure AI platform.

H2O > H2O.ai  (USA)

Viene offerta una versione open source che ha tra i principali utenti esperti di data science, ricercatori ed imprese impegnate nello sviluppo di applicazioni intelligenti.

L’accesso principale per l’open source è questo.

Di particolare interesse è H2O AutoML che permette l’automazione della selezione degli algoritmi, della generazione delle funzionalità, dell’ottimizzazione degli iperparametri, della modellazione interattiva e della valutazione del modello stesso.
Risulta estremamente facile utilizzare le risorse anche a partire dal download del codice.

La soluzione è completamente ospitabile in cloud grazie alla compatibilità con:

  • EC2 Instances and S3 Storage (RedHat AMI, Amazon Linux AMI, and Ubuntu AMI)
  • Amazon AWS
  • Microsoft Azure
  • Databricks
  • IBM DSX
  • Nimbix Cloud
  • Kubernetes

IBM > IBM Watson Studio (USA)

La soluzione di IBM funziona su qualsiasi cloud permettendo la creazione e l’addestramento di modelli di intelligenza artificiale. IBM Watson Studio è uno dei componenti di IBM Cloud Pak for Data ovvero una piattaforma dati e intelligenza artificiale multicloud.
IBM Watson Studio opera con IBM Watson Machine Learning (IWML) e con IBM Watson OpenScale (IWOS).
Con la registrazione è possibile provare la soluzione dopo aver scelto la regione più vicina o dove si intendono ospitare i dati (vedi GDPR).

Oltre al Machine Learning sono disponibili tutta una serie di servizi e prodotti a catalogo.

DataRobot (USA)

Le soluzione di DataRobot sono multicloud e sono rivolte all’accelerazione dei processi di implementazione della Ai nelle imprese e nella ricerca.

La piattaforma AI Cloud offre servizi quali:

  • Augmented Intelligence
  • Data Engineering
  • Machine Learning
  • MLOps
  • Decision Intelligence
  • Trusted AI
  • Explainable AI

Le principali capacità sono:

  • AutoML
  • Data Preparation
  • Automated Time Series
  • Zepl Notebooks
  • No Code App Builder

 

Wipro Holmes (India)

Wipro Holmes è un sistema di calcolo cognitivo sviluppato dalla indiana Wipro il cui nome fa riferimento a IBM Watson ed è l’acronimo di Heuristics and Ontology-based Learning Machines and Experiential Systems (HOLMES)

La soluzione è offerta in modalità è offerta su base software-as-a-service (SaaS) e spazia in diverse soluzioni di intelligenza artificiale tra cui spiccano agenti intelligenti e supporto per robotica.

Salesforce > Salesforce Einstein (USA)

Saleforce Einstein rafforza l’offerta di Saleforce, leader nel settore del CRM e del supporto alla vendita.
Permette di creare relazioni digitali operando su ambito come l’empatia, il miglioramento della produttività e l’esperienza cliente.

Infosys > Infosys Nia (India)

Infosys Nia è una soluzione sviluppata dalla EdgeVerve (controllata dalla multinazionale indiana Infosys specializzata in soluzione AI con particolare riferimento alla gestione documentale, al riconoscimento di immagini e allo sviluppo di modelli.

Queste le principali soluzioni: