AI-hardware en softwarestack
Waarom zijn opzoekingen in grote embeddingtabellen, zoals die in aanbevelingssystemen worden gebruikt, lastig te verwerken met AI-hardware?
- AOmdat voor een opzoeking zeer veel vermenigvuldigingen nodig zijn
- BOmdat embeddingtabellen klein zijn en altijd op de chip passen
- COmdat er vrijwel niet wordt gerekend en op verspreide plaatsen in een enorme tabel wordt gelezen, zodat de matrixrekeneenheden niet worden benut en de snelheid wordt bepaald door geheugencapaciteit, bandbreedte en latency
Antwoord en toelichting tonen
Antwoord: C. Omdat er vrijwel niet wordt gerekend en op verspreide plaatsen in een enorme tabel wordt gelezen, zodat de matrixrekeneenheden niet worden benut en de snelheid wordt bepaald door geheugencapaciteit, bandbreedte en latency
In aanbevelingssystemen kunnen tabellen met een vector per ID, bijvoorbeeld van gebruikers en producten, honderden GB groot zijn, en voor elke ingang worden verspreide rijen van de tabel gelezen en opgeteld. Er wordt vrijwel niet gerekend en de leesacties zijn onregelmatig, zodat coalesced access en caches weinig effect hebben; dit wijkt sterk af van de vorm die versnellers die sterk zijn in matrixproducten goed liggen. De tabel moet over het geheugen van veel GPU's of CPU's worden verdeeld om geheugencapaciteit en bandbreedte te waarborgen.