zlacker

[parent] [thread] 18 comments
1. logicc+(OP)[view] [source] 2026-02-04 16:47:42
It can't be successful at that any more than 1+1 can equal 3. Fundamentally, if every token wants to be able to look at every previous token without loss of information, it must be O(n^2); N tokens looking at N tokens is quadratic. Any sub-quadratic attention must hence necessarily lose some information and be unable to support perfect recall on longer sequences.
replies(4): >>helloh+t7 >>oasisa+td >>naaski+ir >>orlp+3v
2. helloh+t7[view] [source] 2026-02-04 17:22:34
>>logicc+(OP)
I'm not saying if the paper is correct or not (since I can't tell), but I don't think your argument really holds. Consider applying it to multiplication:

Fundamentally, multiplication need to look at every pair of integer from the two input numbers. It must be O(n^2); N digits looking at N other digits is quadratic. Any sub-quadratic multiplication must hence necessarily lose some information.

replies(4): >>action+Fg >>logicc+971 >>nine_k+BH1 >>sifar+iJ1
3. oasisa+td[view] [source] 2026-02-04 17:48:19
>>logicc+(OP)
That argument could also be used to say that the FFT's time complexity of O(n log n) should be impossible.
◧◩
4. action+Fg[view] [source] [discussion] 2026-02-04 18:00:25
>>helloh+t7
Doesn't that have to do with how many bits you allow in the actual calculation in physical reality?
replies(1): >>helloh+2w
5. naaski+ir[view] [source] 2026-02-04 18:42:46
>>logicc+(OP)
Your argument just assumes there is no latent structure that can be exploited. That's a big assumption.
replies(1): >>logicc+K51
6. orlp+3v[view] [source] 2026-02-04 18:59:54
>>logicc+(OP)
> N tokens looking at N tokens is quadratic

Convolving two arrays can be done perfectly accurately in O(n log n), despite every element being combined with every other element.

Or consider the even more basic sum of products a[i] * b[j] for all possible i, j:

    total = 0
    for i in range(len(a)):
        for j in range(len(b)):
            total += a[i] * b[j]
This can be computed in linear time as sum(a) * sum(b).

Your logic that 'the result contains terms of all pairs, therefore the algorithm must be quadratic' simply doesn't hold.

replies(4): >>anvuon+BI >>logicc+x51 >>CrazyS+kk1 >>noosph+gs1
◧◩◪
7. helloh+2w[view] [source] [discussion] 2026-02-04 19:03:27
>>action+Fg
Well, for multiplication complexity is defined in terms of on the number of digits/bits digits directly. For attention, complexity is defined on terms of the number of input vectors which are all at fixed precision. I don't understand what happens to the method proposed in the paper at higher precision (since I don't understand the paper), but in reality in doesn't matter since there is no value in anything over float16 for machine learning.
◧◩
8. anvuon+BI[view] [source] [discussion] 2026-02-04 20:07:03
>>orlp+3v
This brings me back to DSP class, man learning about FFT was eye-opening.
◧◩
9. logicc+x51[view] [source] [discussion] 2026-02-04 21:52:43
>>orlp+3v
That's like saying sorting can be done in O(n) because radix sort exists. If you assume some structure, you lose generality, i.e. there'll be some problems it's no longer able to solve. It can no longer approximate any arbitrary function that needs perfect memory over the sequence.
◧◩
10. logicc+K51[view] [source] [discussion] 2026-02-04 21:53:45
>>naaski+ir
It's a necessary assumption for the universal approximation property; if you assume some structure then your LLM can no longer solve problems that don't fit into that structure as effectively.
replies(2): >>naaski+Rg1 >>direwo+zq1
◧◩
11. logicc+971[view] [source] [discussion] 2026-02-04 22:00:52
>>helloh+t7
Multiplication has some properties like being cumulative. If we assume the sequence has any specific properties then we no longer have a general sequence model.
replies(1): >>direwo+Mp1
◧◩◪
12. naaski+Rg1[view] [source] [discussion] 2026-02-04 22:52:28
>>logicc+K51
But language does have structure, as does logic and reasoning. Universal approximation is great when you don't know the structure and want to brute force search to find an approximate solution. That's not optimal by any stretch of the imagination though.
◧◩
13. CrazyS+kk1[view] [source] [discussion] 2026-02-04 23:11:54
>>orlp+3v
One of my favorite bits of my PhD dissertation was factoring an intractable 3-dimensional integral

\iiint f(x, y, z) dx dy dz = \int [\int g(x, y) dx]*[\int h(y, z) dz] dy

which greatly accelerated numerical integration (O(n^2) rather than O(n^3)).

My advisor was not particularly impressed and objectively I could have skipped it and let the simulations take a bit longer (quite a bit longer--this integration was done millions of times for different function parameters in an inner loop). But it was clever and all mine and I was proud of it.

◧◩◪
14. direwo+Mp1[view] [source] [discussion] 2026-02-04 23:45:32
>>logicc+971
I think you meant commutative.

Attention also has some specific properties.

And sometimes results are just unexpected. Did you know that anything a Turing machine can do in t tome steps, a different Turing machine can do in O(sqrt(t log t)) memory cells? >>44055347

◧◩◪
15. direwo+zq1[view] [source] [discussion] 2026-02-04 23:52:14
>>logicc+K51
Neural nets are structured as matrix multiplication, yet, they are universal approximators.
replies(1): >>noosph+Ls1
◧◩
16. noosph+gs1[view] [source] [discussion] 2026-02-05 00:02:18
>>orlp+3v
Convolution is a local operation.

Attention is a global operation.

◧◩◪◨
17. noosph+Ls1[view] [source] [discussion] 2026-02-05 00:05:27
>>direwo+zq1
You're missing the non-linear activations.
◧◩
18. nine_k+BH1[view] [source] [discussion] 2026-02-05 02:02:30
>>helloh+t7
Integer multiplication x * y can be trivially done in O(k): k = log₂(min(x, y)). This is because we can do addition in constant time, adding all bits in parallel.

By combining many more adding units, we can do (fixed-size) multiplication in constant time, too: https://en.wikipedia.org/wiki/Dadda_multiplier

◧◩
19. sifar+iJ1[view] [source] [discussion] 2026-02-05 02:16:15
>>helloh+t7
Multiplication can be sub-quadratic using Karatsuba's algorithm.
[go to top]