Word2Vec är en populär algoritm som används för att generera täta vektor representationer av ord i stora corpora med oövervakad inlärning. De resulterande vektorerna har visat sig fånga semantiska relationer mellan motsvarande ord och används i stor utsträckning för många nedströms naturlig språkbearbetning (NLP) uppgifter som känsloanalys, namngivna enhet igenkänning och maskinöversättning. De flesta öppen källkod implementationer av algoritmen har parallelliserats för multi-core CPU arkitekturer inklusive den ursprungliga C genomförande av Mikolov et al. [1] och FastText [2] av Facebook. Några andra implementeringar har försökt att utnyttja GPU parallellisering men på bekostnad av noggrannhet och skalbarhet. I detta arbete presenterar vi BlazingText, en mycket optimerad implementering av word2vec i CUDA, som kan utnyttja flera GPUs för utbildning. BlazingText kan uppnå en träningshastighet på upp till 43M ord/sek på 8 GPUs, vilket är en 9x speedup över 8-trådade CPU implementationer, med minimal effekt på kvaliteten på inbäddningar.
På samma sätt, med hjälp av 8 GPUs, ungefär 9x speedup över en 8-trådad CPU uppnås i REF.
BlazingText: Scaling and Accelerating Word2Vec using Multiple GPUs
{'venue': "MLHPC'17", 'journal': None, 'mag_field_of_study': ['Computer Science']}