Stochastic algoritmer är effektiva metoder för att lösa maskininlärning och optimeringsproblem. I detta dokument föreslår vi en allmän ram kallad Splash för parallellisering av stokastiska algoritmer på multi-node distribuerade system. Splash består av ett programmeringsgränssnitt och en exekveringsmotor. Med hjälp av programmeringsgränssnittet utvecklar användaren sekventiella stokastiska algoritmer utan att det påverkar några detaljer om distribuerade datorer. Algoritmen parallelliseras sedan automatiskt med en kommunikationseffektiv exekveringsmotor. Vi ger teoretiska motiveringar om den optimala konvergenshastigheten för parallellisering av stokastisk lutnings nedstigning. De verkliga data experimenten med stokastisk lutning nedstigning, kollapsade Gibbs provtagning, stokastisk variational inference och stokastisk samarbetsfiltrering verifiera att Splash ger ordning-av-magnitude speedup över enkeltrådiga stokastiska algoritmer och över parallelliserade batch algoritmer. Förutom sin effektivitet ger Splash en rik samling av gränssnitt för algoritmimplementering. Det är byggt på Apache Spark och är nära integrerat med Spark ekosystemet.
REF föreslår en allmän abstraktion för parallellisering av stokastiska optimeringsalgoritmer tillsammans med en Spark implementation.
Splash: User-friendly Programming Interface for Parallelizing Stochastic Algorithms
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}