Optellen is alles wat je nodig hebt voor energiezuinige taalmodellen.
Addition is All You Need for Energy-efficient Language Models
October 1, 2024
Auteurs: Hongyin Luo, Wei Sun
cs.AI
Samenvatting
Grote neurale netwerken besteden het grootste deel van hun berekeningen aan het vermenigvuldigen van zwevende-kommagetensoren. In dit werk vinden we dat een zwevendekommagetalmultiplier kan worden benaderd door één geheelgetalopteller met hoge precisie. We stellen het lineair-complexe vermenigvuldigings L-Mul algoritme voor dat zwevendekommagetallenvermenigvuldiging benadert met gehele opteloperaties. Het nieuwe algoritme vereist aanzienlijk minder rekenbronnen dan 8-bits zwevendekommagetallenvermenigvuldiging, maar behaalt een hogere precisie. Vergeleken met 8-bits zwevendekommagetallenvermenigvuldiging behaalt de voorgestelde methode een hogere precisie, maar verbruikt aanzienlijk minder bitniveau-berekeningen. Omdat het vermenigvuldigen van zwevendekommagetallen aanzienlijk meer energie vereist dan gehele opteloperaties, kan het toepassen van de L-Mul-operatie in tensorverwerkingshardware potentieel 95% energiekosten besparen bij elementgewijze zwevendekommagetensormultiplicaties en 80% energiekosten van dotproducten. We hebben de theoretische foutverwachting van L-Mul berekend en het algoritme geëvalueerd op een breed scala van tekstuele, visuele en symbolische taken, waaronder natuurlijke taalbegrip, structureel redeneren, wiskunde en gezond verstandsvragen beantwoorden. Onze numerieke analyse-experimenten komen overeen met de theoretische foutinschatting, wat aangeeft dat L-Mul met een 4-bits mantisse vergelijkbare precisie behaalt als float8_e4m3-vermenigvuldigingen, en L-Mul met een 3-bits mantisse presteert beter dan float8_e5m2. Evaluatieresultaten op populaire benchmarks tonen aan dat het rechtstreeks toepassen van L-Mul op het aandachtsmechanisme vrijwel verliesloos is. We tonen verder aan dat het vervangen van alle zwevendekommagetallenvermenigvuldigingen door L-Mul met een 3-bits mantisse in een transformermodel een equivalent precisie behaalt als het gebruik van float8_e4m3 als precisie bij accumulatie, zowel bij fine-tuning als inferentie.
English
Large neural networks spend most computation on floating point tensor
multiplications. In this work, we find that a floating point multiplier can be
approximated by one integer adder with high precision. We propose the
linear-complexity multiplication L-Mul algorithm that approximates floating
point number multiplication with integer addition operations. The new algorithm
costs significantly less computation resource than 8-bit floating point
multiplication but achieves higher precision. Compared to 8-bit floating point
multiplications, the proposed method achieves higher precision but consumes
significantly less bit-level computation. Since multiplying floating point
numbers requires substantially higher energy compared to integer addition
operations, applying the L-Mul operation in tensor processing hardware can
potentially reduce 95% energy cost by element-wise floating point tensor
multiplications and 80% energy cost of dot products. We calculated the
theoretical error expectation of L-Mul, and evaluated the algorithm on a wide
range of textual, visual, and symbolic tasks, including natural language
understanding, structural reasoning, mathematics, and commonsense question
answering. Our numerical analysis experiments agree with the theoretical error
estimation, which indicates that L-Mul with 4-bit mantissa achieves comparable
precision as float8_e4m3 multiplications, and L-Mul with 3-bit mantissa
outperforms float8_e5m2. Evaluation results on popular benchmarks show that
directly applying L-Mul to the attention mechanism is almost lossless. We
further show that replacing all floating point multiplications with 3-bit
mantissa L-Mul in a transformer model achieves equivalent precision as using
float8_e4m3 as accumulation precision in both fine-tuning and inference.Summary
AI-Generated Summary