Bonsai 27B: A 27B-Class Model that runs on a phone

(prismml.com)

122 points | by xenova 2 hours ago ago

30 comments

  • simonw an hour ago

    The models themselves are showing up on Hugging Face here: https://huggingface.co/prism-ml/models

    I've tried a couple in LM Studio - the GGUF one and the MLX one - but neither worked there. Anyone else get them to work? Might be that LM Studio needs to upgrade their llama.cpp or MLX engines first.

  • sigbottle an hour ago

    What's the hiring space and business strategy around all of these smaller AI labs? Its really cool that people like these guys get paid to optimize models and give them out for free (open source). Do a lot of these labs have forward deployed engineers doing integrations with customers who want local models? Is there a general shift towards the local model crowd?

    • trollbridge 22 minutes ago

      If you read to the bottom of the page, it says they're funded by a few people, and one of them is Samsung. I'm betting Samsung wants to be able to ship a capable AI system on a future model of their phone so they can compete with Apple.

  • liuliu 2 hours ago

    The problem, of course, is if you run the UD_Q2 variant (Unsloth) which does only post-training, the number is pretty close to 1-bit model here and the 5% drop in tool-call is significant than it suggests in real-life use cases.

    • liuliu 2 hours ago

      You also need to pay close attention to BFCLv3 multi-turn result, that helps you to get a sense how frequently these quants will be in a doom loop.

  • kristianp 41 minutes ago

    Apparently Apple is "in talks" with the PrismML: https://www.cnbc.com/2026/07/14/apple-prismml-ai-compression...

  • luckystarr 39 minutes ago

    Tried it on Android and got "!!!!!!!!!!!!!" for answers.

    • gunalx 3 minutes ago

      The qwen models really seem to have this as a failure mode, its so annoying having a proper trace ending up in !!!!!! Garbage.

    • verdverm 2 minutes ago

      That's what happens when you quant too hard. I'm working on quant strats and evals for the same underlying qwen 27b models.

      When I saw 27b on a phone, I thought not fitting, big phone, or aggressive quant. NVFP4 still takes 27G before KV cache.

  • alvatech 2 hours ago

    TIL that 1 bit models are actually 1.58 bit with three values +1, 0 and -1

    • NitpickLawyer an hour ago

      There's two variants of this (or, as the joke goes, for very big values of bit):

      Ternary Bonsai 27B uses ternary {−1, 0, +1} weights with FP16 group-wise scaling, giving a true 1.71 effective bits per weight.

      1-bit Bonsai 27B uses binary {−1, +1} weights with the same group-wise scaling, giving 1.125 effective bits per weight.

      • PcChip 24 minutes ago

        this is a really dumb question, but how is -1 represented?

        is it a float? if so, how many bits is the float?

        I've never heard of a bit ever having more than two possible values

        • zawaideh 9 minutes ago

          It’s still a bit with only two possible values. But they add a scaling factor to a group of them (128 for example) which when you factor in, results in a fractional number of bits per parameter.

        • petu 6 minutes ago

          packing multiple trits together

          e.g. 5 trits into 8 bits gives 1.6 bits per trit: https://compilade.net/blog/ternary-packing

    • bensyverson 2 hours ago

      Yeah, it's an unfortunate convention from the very first "1 bit" model. But to be clear, Bonsai comes in both ternary and actual 1-bit variants.

  • syntaxing an hour ago

    For those curious about their demo, I’m pretty sure it’s using Locally AI (iOS only) that lmstudio acquired/aquihired a couple months ago.

  • erwan577 34 minutes ago

    The KV-cache memory usage also seems remarkably frugal, even at the full context length. That could make this model particularly useful in multi-agent coding workflows.

    I wish KV-cache memory usage and related optimizations were discussed more clearly in new model announcements and demos.

  • syntaxing an hour ago

    I don’t know if the llama cpp implementation is wonky (and only supports the binary version) but it’s a lot slower than 35B-A3B @ Q4_KM + MTP with CPU offloading.

    • pulse7 41 minutes ago

      Most probably not optimized yet for this model...

  • thomasjb an hour ago

    I've been watching and waiting for this, interested to see how smart it is, as it fits with my interest of getting the smartest possible model running in 10GB of VRAM (RTX3060 that has to drive 2 monitors and run an llm)

  • erelong an hour ago

    I was trying Ornith 9B locally (it's up on Ollama) which claims:

    > Ornith-1.0-9B, which can be easily deployed on edge devices, matches or exceeds the performance of much larger models such as Gemma 4-31B and Qwen 3.6 35B.

    https://deep-reinforce.com/ornith_1_0.html

    Only tried it so much so far; it did a little better than Qwen 9B

    • liuliu an hour ago

      Note that 3.5 9B cannot do thinking (while 3.6 27B can, pretty effectively, quite verbosely).

    • janalsncm an hour ago

      Is that a 1-bit LLM? I don’t understand the connection with this article.

      • erelong 28 minutes ago

        Oh, I don't actually know the difference if you want to explain it

        The title says it's 27B grade running on a phone and what I was comparing it to in my mind was a model that runs at 35B grade that could presumably run on a phone "better"?

        edit: I asked AI for the difference and understand a little better, thanks for the heads up to learn the difference between models... I think the thing was, although ornith was created for a specific agentic purpose, it was still outperforming a previous generalist model I had running locally (so in my mind I thought it was still a better local model) - I'd like to try bonsai out if I can figure out how to run it lol

  • xyzsparetimexyz an hour ago

    That's awesome. What's the largest model that could fit onto a single 16gb gpu at 1.125 effects bits per weight?

    • Catloafdev an hour ago

      Doing some naive math, the F16 filesize is ~53.8gb, the 1-bit version is ~3.8gb, about 7% of the original size. The F16 size is roughly 2x param count, so that gives a rough ballpark of ~110B.

  • Havoc 2 hours ago

    This must be some sort of unpublished app?

    I can just see their image tool on the app store