Tu sei qui

Large Scale Machine Learning

Nell’ambito dell’ampio ventaglio di soluzioni che oggi vanno sotto il nome di Big Data e Analytics, Cineca si cimenta in particolare con la complessità e le problematiche che emergono lavorando sugli algoritmi predittivi su datasets di grandi dimensioni, con centinaia di migliaia o milioni di osservazioni e centinaia di variabili utilizzate. 

Questi datasets utilizzati per addestrare e testare gli algoritmi di machine learning pongono alcuni problemi nella loro elaborazione. Per l’elevata dimensionalità comportano lunghi tempi di esecuzione. In molti casi per aumentare l’accuratezza del risultato predittivo si utilizzano algoritmi con modelli non lineari (SVM, NN) e/o ensemble di modelli (es. Random Forest) che richiedono sistemi di calcolo scalabili. Gli algoritmi vengono elaborati più volte modificando gli hyper-parametri di input e testati con diverse tecniche (es. Cross Validation), che richiedono molteplici esecuzioni in tempi brevi.

Per risolvere e ottimizzare queste problematiche, Cineca lavora alla realizzazione della piattaforma più adatta per trovare un accettabile compromesso tra l’accuratezza predittiva e la velocità di esecuzione, perseguendo queste linee guida:

  • Parallelismo & scale-out: sistemi di calcolo distribuito, con sistemi multicore e/o sistemi Cluster o MPP. Gestione dello scale-out (es. Cloudify, Hortonworks Cloudbreak) sia per le risorse di calcolo, che per gli ambienti Hadoop e Spark.
  • Paradigmi di programmazione: paradigmi di programmazione distribuita (MPI VS MapReduce) e frameworks che li supportano sono indispensabili per il “large-scale data manipulation” e il “large scale machine learning”.
  • Algoritmi Machine Learning: più complessità nei dati può richiedere algoritmi più complessi, ma non è detto che algoritmi complessi forniscano a risultati migliori con semplici dataset. Da qui la necessità provare più algoritmi e che supportino il calcolo distribuito.

 tabella