Most active commenters
  • diggan(3)

166 points galeos | 34 comments | | HN request time: 1.875s | source | bottom
1. zamadatix ◴[] No.41879524[source]
For anyone that hasn't read the previous papers before the "1.58-bit" part comes from using 3 values (-1, 0, 1) and log2[3]=1.58...
2. newfocogi ◴[] No.41879780[source]
I'm enthusiastic about BitNet and the potential of low-bit LLMs - the papers show impressive perplexity scores matching full-precision models while drastically reducing compute and memory requirements. What's puzzling is we're not seeing any major providers announce plans to leverage this for their flagship models, despite the clear efficiency gains that could theoretically enable much larger architectures. I suspect there might be some hidden engineering challenges around specialized hardware requirements or training stability that aren't fully captured in the academic results, but would love insights from anyone closer to production deployment of these techniques.
replies(6): >>41879903 #>>41880200 #>>41880375 #>>41881054 #>>41881230 #>>41882202 #
3. strangescript ◴[] No.41879903[source]
I find it a little confusing as well. I wonder if its because so many of these companies have went all in on the "traditional" approach that deviating now seems like a big shift?
4. lostmsu ◴[] No.41879915[source]
No GPU inference support?
replies(1): >>41879986 #
5. diggan ◴[] No.41879986[source]
> that support fast and lossless inference of 1.58-bit models on CPU (with NPU and GPU support coming next).
6. wwwtyro ◴[] No.41880073[source]
Can anyone help me understand how this works without special bitnet precision-specific hardware? Is special hardware unnecessary? Maybe it just doesn't reach the full bitnet potential without it? Or maybe it does, with some fancy tricks? Thanks!
replies(3): >>41880204 #>>41880283 #>>41881707 #
7. swfsql ◴[] No.41880200[source]
I think that since training must happen on a non-bitnet architecture, tuning towards bitnet is always a downgrade on it's capabilities, so they're not really interested in it. But maybe they could be if they'd offer cheaper plans, since it's efficiency is relatively good.

I think the real market for this is for local inference.

8. hansvm ◴[] No.41880204[source]
I haven't checked this one out yet, but a common trick is using combinations of instructions and data invariants allowing you to work in "lanes".

The easiest example is xor, which can trivially be interpreted as either xoring one large integer or xoring a vector of smaller integers.

Take a look at the SWAR example here [0] as a pretty common/easy example of that technique being good for something in the real world.

Dedicated hardware is almost always better, but you can still get major improvements with a little elbow grease.

[0] https://nimrod.blog/posts/algorithms-behind-popcount/

replies(1): >>41880274 #
9. 15155 ◴[] No.41880274{3}[source]
This is extremely easy to implement in-FPGA.
10. eightysixfour ◴[] No.41880283[source]
While fancy hardware would make it faster, what you are comparing it to is a bunch of floating point and large number multiplication. I believe in this case they just use a look up table:

If one value is 0, it is 0.

If the signs are different, it is -1.

If the signs are the same, it is 1.

I’m sure those can be done with relatively few instructions using far less power hungry hardware.

11. faragon ◴[] No.41880304[source]
I'm glad Microsoft uses Bash in the example, instead of their own Windows shells. As a user I would like having something like "Git Bash" for Windows built in the system, as default shell.
replies(3): >>41880730 #>>41883028 #>>41886203 #
12. waynenilsen ◴[] No.41880375[source]
I suppose hardware support would be very helpful, new instructions for bitpacked operations?
13. alkh ◴[] No.41880605[source]
Sorry for a stupid question but to clarify, even though it is a 1-bit model, it is supposed to be working with any types of embeddings, even taken from larger LLMs(in their example, they use HF1BitLLM/Llama3-8B-1.58-100B-tokens). I.e. it doesn't have an embedding layer built-in and relies on embedding provided separately?
replies(1): >>41881253 #
14. not_a_bot_4sho ◴[] No.41880730[source]
WSL is where it's at today. It's not quite what you're asking for, as it is a separate virtual OS, but the integration is so tight that it feels like you're using your favorite shell natively in Windows.
replies(1): >>41880840 #
15. diggan ◴[] No.41880840{3}[source]
> integration is so tight that it feels like you're using your favorite shell natively in Windows

WSL1 certainly felt that way, WSL2 just feels like any other virtualization manager and basically works the same. Not sure why people sings the praise of WSL2, I gave it a serious try for months but there is a seemingly endless list of compatibility issues which I never had with VMWare or VirtualBox, so I just went back to those instead and the experience is the same more or less.

replies(1): >>41880994 #
16. Scene_Cast2 ◴[] No.41880929[source]
Neat. Would anyone know where the SDPA kernel equivalent is? I poked around the repo, but only saw some form of quantization code with vectorized intrinsics.
17. throwaway314155 ◴[] No.41880994{4}[source]
Probably because it has relatively painless GPU sharing with pass through. As far as I know that sort of feature requires a hypervisor-level VM, which is not something you get with VirtualBox.
replies(1): >>41881111 #
18. diggan ◴[] No.41881111{5}[source]
Someone correct me if I'm wrong, but I think you can use a KVM or QEMU backend for VirtualBox and that way get GPU pass-through. Probably not out of the box though.
replies(2): >>41883686 #>>41884904 #
19. danielmarkbruce ◴[] No.41881230[source]
People are almost certainly working on it. The people who are actually serious and think about things like this are less likely to just spout out "WE ARE BUILDING A CHIP OPTIMIZED FOR 1-BIT" or "WE ARE TRAINING A MODEL USING 1-BIT" etc, before actually being quite sure they can make it work at the required scale. It's still pretty researchy.
20. danielmarkbruce ◴[] No.41881253[source]
No. You can't put any type of embedding in.
21. summerlight ◴[] No.41881707[source]
The major benefit would be its significant decrease in memory consumption, rather than the compute itself. The major bottleneck of the current LLM infra is typically memory bandwidth and that's the reason why those chip industries are going crazy on HBM. Surely compute optimization helps but this is useful even without any hardware changes.
replies(1): >>41882331 #
22. ◴[] No.41882202[source]
23. az226 ◴[] No.41882331{3}[source]
Inference speeds go brrrr as well.
24. layer8 ◴[] No.41883028[source]
Just install Cygwin.

Not sure what you mean by “default shell”. The default shell on Windows is this: https://en.wikipedia.org/wiki/Windows_shell. I don’t suppose you mean booting into Bash. Windows doesn’t have any other notion of a default shell.

replies(1): >>41883960 #
25. delegate ◴[] No.41883348[source]
I assume it is not as powerful at some tasks than full sized model, so what would one use this model for ?
26. trebligdivad ◴[] No.41883477[source]
Has some one made an FPGA or ASIC implementation yet? It feels like it should be easy (and people would snap up for inference).
27. Datagenerator ◴[] No.41883686{6}[source]
Close Windows, many doors open
28. faragon ◴[] No.41883960{3}[source]
I used Cygwin for more than a decade. I prefer Git Bash (msys-based).
replies(1): >>41884494 #
29. hhejrkrn ◴[] No.41884494{4}[source]
I thought msysgit was also cygein based
30. EgoIncarnate ◴[] No.41884904{6}[source]
The WSL2 GPU passthrough is more like a virtual GPU than KVM style device passthrough. I believe it's effectively a device specific linux userland driver to device specific windows kernel driver with a linux kernel shim bridging the too. If I recall correctly, the linux userland drivers are actually provided by the windows driver.
31. ein0p ◴[] No.41884930[source]
1.58bpw is not “1 bit”.
32. aithrowawaycomm ◴[] No.41886203[source]
They are using Windows shells, just not on Macs. This is what the caption for the video says:

> A demo of bitnet.cpp running a BitNet b1.58 3B model on Apple M2:

And this is in their Windows build instructions:

> Important! If you are using Windows, please remember to always use a Developer Command Prompt / PowerShell for VS2022 for the following commands

33. sheerun ◴[] No.41903851[source]
When will AIs learn to no bla bla bla by default