1. Comparison of Floating-point Representations for the Efficient Implementation of Machine Learning Algorithms
- Author
-
Mishra, Saras Mani, Tiwari, Ankita, Shekhawat, Hanumant Singh, Guha, Prithwijit, Trivedi, Gaurav, Pidanič, Jan, Němec, Zdeněk, Mishra, Saras Mani, Tiwari, Ankita, Shekhawat, Hanumant Singh, Guha, Prithwijit, Trivedi, Gaurav, Pidanič, Jan, and Němec, Zdeněk
- Abstract
Smart systems are enabled by artificial intelligence (AI), which is realized using machine learning (ML) techniques. ML algorithms are implemented in the hardware using fixedpoint, integer, and floating-point representations. The performance of hardware implementation gets impacted due to very small or large values because of their limited word size. To overcome this limitation, various floating-point representations are employed, such as IEEE754, posit, bfloat16 etc. Moreover, for the efficient implementation of ML algorithms, one of the most intuitive solutions is to use a suitable number system. As we know, multiply and add (MAC), divider and square root units are the most common building blocks of various ML algorithms. Therefore, in this paper, we present a comparative study of hardware implementations of these units based on bfloat16 and posit number representations. It is observed that posit based implementations perform 1.50x better in terms of accuracy, but consume 1.51x more hardware resources as compared to bfloat16 based realizations. Thus, as per the trade-off between accuracy and resource utilization, it can be stated that the bfloat16 number representation may be preferred over other existing number representations in the hardware implementations of ML algorithms., Inteligentní systémy jsou umožněny umělou inteligencí (AI), která je realizována pomocí technik strojového učení (ML). Algoritmy ML jsou implementovány v hardwaru s využitím reprezentace s pevnou řádovou čárkou, celými čísly a plovoucí řádovou čárkou. Výkonnost hardwarové implementace je ovlivněna velmi malými nebo velkými hodnotami kvůli jejich omezené velikosti slova. K překonání tohoto omezení se používají různé reprezentace s plovoucí desetinnou čárkou, například IEEE754, posit, bfloat16 atd. Navíc pro efektivní implementaci ML algoritmů je jedním z nejintuitivnějších řešení použití vhodné číselné soustavy. Jak víme, nejběžnějšími stavebními prvky různých ML algoritmů jsou jednotky pro násobení a sčítání (MAC), dělička a odmocnina. V tomto článku proto předkládáme srovnávací studii hardwarových implementací těchto jednotek založených na reprezentaci čísel bfloat16 a posit. Bylo zjištěno, že implementace založené na posit mají 1,50x lepší výkon z hlediska přesnosti, ale spotřebují 1,51x více hardwarových prostředků ve srovnání s realizacemi založenými na bfloat16. Z hlediska kompromisu mezi přesností a využitím zdrojů lze tedy konstatovat, že v hardwarových implementacích ML algoritmů lze upřednostnit reprezentaci čísel bfloat16 před ostatními existujícími reprezentacemi čísel.
- Published
- 2023