Spotify Open-Sources Klio, un framework AI per algoritmi audio di nuova generazione
Di recente, Spotify ha reso open source un framework AI alla conferenza della International Society for Music Information Retrieval del 2020, nota come Klio . Klio è un ecosistema che consente agli sviluppatori di elaborare file audio o qualsiasi altro file binario su qualsiasi scala.
Costruito da Spotify, Klio gestisce sistemi di intelligenza audio su larga scala sulla piattaforma di musica digitale e viene utilizzato da team di ingegneri e ricercatori audio per aiutare a sviluppare e implementare algoritmi audio di nuova generazione.
Dietro Klio
Klio è basato su Apache Beam e i lavori sono pipeline di dati supponenti in Python. Ottimizzato per l’elaborazione di file audio e binari, l’obiettivo di questo framework è creare pipeline di dati più intelligenti per l’audio.
Spotify ha creato Klio come framework standardizzato per l’esecuzione dell’analisi audio, consentendo ai team di condividere una base utile comune invece di duplicare il lavoro degli altri. Klio riduce il carico tecnico operativo e di backend su questi team, consentendo loro di concentrarsi sull’elaborazione, sull’apprendimento automatico e su altri lavori algoritmici.
Klio è pensato per l’elaborazione dei media e può essere utilizzato su un’infrastruttura cloud o localmente sul proprio computer. Klio concentra Beam sull’analisi, la manipolazione e la trasformazione di grandi media binari (ad esempio immagini, audio, video) in cui il contenuto nella sua forma nativa non può realmente adattarsi o essere analizzato in un database in alcun modo significativo.
L’ecosistema Klio è costituito da più pacchetti Python separati . Oltre ai pacchetti interni, ci sono alcuni pacchetti rivolti all’utente, che sono klio-cli, klio e klio-audio.
Klio Pipelines
Una pipeline Klio utilizza gli identificatori di riferimento ai file audio dagli input degli eventi. Scarica quei file su macchine worker, esegue algoritmi di elaborazione, come librosa, ffmpeg, modelli ML addestrati, qualsiasi cosa su questi file e quindi salva l’output risultante nell’archivio dati preferito.
Gli algoritmi di elaborazione possono essere basati su ML o altrimenti possono essere inseriti in Python . Secondo i suoi sviluppatori, i lavori di Klio possono aumentare per elaborare un intero corpus di media o fino a un singolo elemento per un’iterazione rapida.
Come Spotify utilizza Klio
Spotify utilizza Klio per eseguire le sue piattaforme di intelligenza audio, che alimenta le funzionalità audio, gli aspetti della piattaforma di annunci audio e il flusso di lavoro di ricerca audio. Inoltre, gli sviluppatori della piattaforma di musica digitale utilizzano Klio per attività come l’esecuzione di modelli Tensorflow su file audio, la creazione di nuovo audio dall’audio esistente in aree come il fingerprinting audio e la generazione di annunci e il salvataggio dei dati analizzati nei database.
Perché usare Klio
Questo framework aiuta le organizzazioni a costruire sistemi di elaborazione multimediale che condividono strumenti e infrastrutture tra sistemi di produzione e team di ricerca. Fornisce un’architettura che incoraggia lavori riutilizzabili e output condivisi, riducendo i costi di manutenzione e ricalcolo. Klio consente inoltre l’elaborazione continua guidata dagli eventi di cataloghi di contenuti in rapida crescita.
Il framework aiuta anche le organizzazioni consentendo diversi vantaggi, che sono:
I ricercatori traggono vantaggio dal lavorare con la stessa infrastruttura degli ingegneri responsabili dei sistemi di produzione e della potenza di elaborazione per cataloghi completi di contenuti
Gli ingegneri dispongono di un framework più semplice per produrre direttamente lavori di elaborazione multimediale di grandi dimensioni prodotti dai ricercatori quando stanno già utilizzando gli stessi framework per lo sviluppo
Le organizzazioni traggono immediatamente vantaggio da queste pipeline man mano che aggiungono nuovo contenuto, consentendo l’elaborazione immediata del nuovo contenuto al momento dell’inserimento attraverso una pipeline di streaming e la gestione dei backfill come un lavoro batch con lo stesso codice.
Prima di iniziare a lavorare con Klio, è importante comprendere le basi di Google Pub / Sub e il kit di sviluppo software Python di Apache Beam, come funzionano, come scrivere pipeline Beam, passaggi per avviare un lavoro Beam sul flusso di dati e altro.
Secondo gli sviluppatori, questo framework è attualmente in rapido sviluppo, il che significa che le API e le funzionalità si evolveranno. Si consiglia di aggiornare l’installazione di Klio non appena saranno disponibili nuove versioni.