Assessing the time efficiency of a novel implementation of Short-time Fourier transform using graphics processing units
Laakso, Henri (2020)
Laakso, Henri
2020
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-12-15
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202011117901
https://urn.fi/URN:NBN:fi:tuni-202011117901
Tiivistelmä
In the ever growing field of machine learning more and more efficient information retrieval methods are in demand as more data needs to be processed. In the audio related machine learning short-time Fourier transform is one of the most common basic information retrieval methods. Established computing libraries provide a multitude of short-time Fourier transform implementations but they all rely on central processing units. As short-time Fourier transform parallelizes effectively it ought to be possible to use graphics processing units to execute this task more efficiently.
The purpose of this study was to evaluate the effectiveness of graphics processing units in calculating short-time Fourier transforms in order to provide a more efficient way of information retrieval for audio machine learning systems. The first order of business was to develop a novel implementation of short-time Fourier transform for graphics processing units using PyTorch. Once our implementation was proven correct by testing it's accuracy against other established implementations, it's time efficiency was evaluated against other established methods.
In time efficiency tests even the slowest graphics processing unit times were faster than the fastest central processing unit times. Overall the results demonstrated magnitudes faster run times on graphics processing units with novel implementation compared to established central processing unit implementations whilst maintaining significantly above threshold accuracies. Jatkuvasti kasvavalla koneoppimisen alalla tarvitaan katkuvasti tehokkaammpia tiedonkeräysjärjestelmiä prosessoitavan datan määrän kasvaessa. Koneoppimisen kohdistuessa ääneen lyhytaikaninen Fourier-muunnos on yksi yleisimmistä tiedon keräys työkaluista. Vakiintuneet ohjelmointkirjastot tarjoavat monia lyhytaikaisia Fourier-muunnos toteutuksia, mutta suurin osa näistä laskee algoritmin keskusprosessointiyksiköllä. Lyhytaikainen Fourier-muunnos rinnakkaistuu hyvin, joten algoritmin laskeminen näytönohjaimilla pitäisi olla huomattavasti tehokkaampaa.
Tämän tutkimuksen tarkoituksena on evaluoida lyhytaikaisen Fourier-muunnoksen tehokkuutta näytönohjaimilla, tarjotakseen ääneen liittyville koneoppimisjärjestelmille tehokkaamman tavan tiedonhakuun. Tutkimuksen suunnitelmana oli ensin luoda uudenlainen lyhytaikainen Fourier-muunnos toteutus käyttäen näytönohjaimia ja PyTorchia. Tämän jälkeen toteutuksen tehokkuutta vertailtaisiin muihin vakiintuneisiin metodeihin.
Tehokkuustesteissä jopa hitaimmat näytönohjaimen tulokset olivat nopeampia, kuin keskusprosessointiyksikön nopeimmat tulokset. Yleisesti tulokset näyttivät kokoluokkia nopeampia tuloksia uudella näytönohjain-toteutuksella verrattuna vakiintuneisiin keskusprosessointiyksikkö-toteutuksiin ylittäen sille asetetut tarkkuus vaatimukset.
The purpose of this study was to evaluate the effectiveness of graphics processing units in calculating short-time Fourier transforms in order to provide a more efficient way of information retrieval for audio machine learning systems. The first order of business was to develop a novel implementation of short-time Fourier transform for graphics processing units using PyTorch. Once our implementation was proven correct by testing it's accuracy against other established implementations, it's time efficiency was evaluated against other established methods.
In time efficiency tests even the slowest graphics processing unit times were faster than the fastest central processing unit times. Overall the results demonstrated magnitudes faster run times on graphics processing units with novel implementation compared to established central processing unit implementations whilst maintaining significantly above threshold accuracies.
Tämän tutkimuksen tarkoituksena on evaluoida lyhytaikaisen Fourier-muunnoksen tehokkuutta näytönohjaimilla, tarjotakseen ääneen liittyville koneoppimisjärjestelmille tehokkaamman tavan tiedonhakuun. Tutkimuksen suunnitelmana oli ensin luoda uudenlainen lyhytaikainen Fourier-muunnos toteutus käyttäen näytönohjaimia ja PyTorchia. Tämän jälkeen toteutuksen tehokkuutta vertailtaisiin muihin vakiintuneisiin metodeihin.
Tehokkuustesteissä jopa hitaimmat näytönohjaimen tulokset olivat nopeampia, kuin keskusprosessointiyksikön nopeimmat tulokset. Yleisesti tulokset näyttivät kokoluokkia nopeampia tuloksia uudella näytönohjain-toteutuksella verrattuna vakiintuneisiin keskusprosessointiyksikkö-toteutuksiin ylittäen sille asetetut tarkkuus vaatimukset.
Kokoelmat
- Kandidaatintutkielmat [9897]