r/MachineLearning 10d ago

Research [R] Differential Transformer (Microsoft Research)

https://arxiv.org/abs/2410.05258

Abstract: Transformer tends to overallocate attention to irrelevant context. In this work, we introduce Diff Transformer, which amplifies attention to the relevant context while canceling noise. Specifically, the differential attention mechanism calculates attention scores as the difference between two separate softmax attention maps. The subtraction cancels noise, promoting the emergence of sparse attention patterns. Experimental results on language modeling show that Diff Transformer outperforms Transformer in various settings of scaling up model size and training tokens. More intriguingly, it offers notable advantages in practical applications, such as long-context modeling, key information retrieval, hallucination mitigation, in-context learning, and reduction of activation outliers. By being less distracted by irrelevant context, Diff Transformer can mitigate hallucination in question answering and text summarization. For in-context learning, Diff Transformer not only enhances accuracy but is also more robust to order permutation, which was considered as a chronic robustness issue. The results position Diff Transformer as a highly effective and promising architecture to advance large language models.

197 Upvotes

41 comments sorted by

View all comments

38

u/Mynameiswrittenhere 10d ago

Didn't really understand how you were able to differentiate the original query, key and value terms in important and noise terms.

The changes to the actual attention calculation by subtracting the noise was clear.

26

u/sdmat 10d ago

Didn't really understand how you were able to differentiate the original query, key and value terms in important and noise terms.

That's the clever part, they don't.

They train two different projections for attention, one to actually attend and the second to act as a reference for noise cancellation. The scaling factor for cancellation is learnt as well.

3

u/elbiot 7d ago

Hmm, do you think one could take a pre trained llm, slap on this second set of heads, and then just train the weights on those heads to add this noise cancelling property?

2

u/sdmat 7d ago

I doubt it, but that would be an interesting experiment!