Progress on provable inference for large language models

(anthropic.com)

132 points | by ltononro 3 hours ago

18 comments

  • neuwirth 1 hour ago
    This is built on VerInf, work that I did as a MARS fellow. They ripped everything down to the choice of 400B Maverick from us with very little attribution. Cool, I guess... https://github.com/jamespetrie/verinf
    • keeda 1 hour ago
      Not sure if this is sufficient attribution, but TFA at least mentions VerInf:

      > VerInf proved Llama 4 Maverick (the same 400B-parameter MoE model we prove) at ≈0.02 tok/s.

    • c7b 1 hour ago
      Sorry to hear. Just asking, why did you choose MIT license over something like GPL? It's not that they couldn't have copied you, but you would be in a different position vis-à-vis them now.
      • neuwirth 1 hour ago
        I would've chosen GPL personally, but a prototype repository already existed under MIT by the time I joined as a contributor through the fellowship. Alas.
        • c7b 1 hour ago
          It's actually fine to use MIT code and publish it under GPL, or to switch from MIT to GPL. You can still do that today on the repo, btw. It's the other direction that is thorny. Just fyi
        • jonhohle 20 minutes ago
          Doesn’t matter. AI bros don’t care. AI wash it and release it closed. What are you going to do? Sue them?
      • keeda 1 hour ago
        No, unfortunately. In this era of AI rewriting entire projects from scratch, copyright protection for software is effectively dead.
        • c7b 1 hour ago
          The question is less about protection than enforcement, I'd say. Courts may come to very different conclusions from what tech people would expect.
          • keeda 36 minutes ago
            Protection and enforcement are kinda two sides of the same coin in most IP law. IP essentially grants you exclusivity for your works, and your protection comes from how well you can enforce that exclusivity. As an example, piracy exists largely because copyright holders simply can’t enforce their exclusive rights to distribution effectively on the vast, distributed Internet.

            It’s still early days, true, and courts may find legal reasoning to address this... But I fear this stems from a fundamental yet little-known flaw in copyright for code, based on a legislative hack, which can only be made worse by caselaw. I ranted about it a few days ago: https://news.ycombinator.com/item?id=50320875

          • spott 46 minutes ago
            A small academic lab is going to sue a trillion dollar company with any sort of success?
            • c7b 40 minutes ago
              Yeah, enforcement is the much bigger issue. If the IP got bought out by a giant lab, the situation could change quite substantially.
    • levocardia 18 minutes ago
      > MIT license

      Live by the sword, die by the sword...

    • frangonf 1 hour ago
      The claude contributeth and the claude taketh away.
    • bix6 25 minutes ago
      I’m so tired of hearing stories like this. The biggest most well funded corps in the history of mankind and all they do is steal the shit out of everything. It’s pathetic.
    • j45 1 hour ago
      I wonder if this is partially letting agents.. agent, agentically and not know where ideas come form or how they come together, only whether it works or not.
  • gopalv 3 hours ago
    > In both cases the question is the same: how can a company be sure of which weights are actually running on its servers?

    > the resulting commitment is good for about 16 million requests, after which the provider has to commit again.

    > The client downloads the commitment, ~6.5 MB in all, and then one proof per request. Checking a proof takes 17 seconds on 24 threads (and 21 seconds on a single thread), including the offline phase's check

    I know they mentioned $ETH in the technical report, but this is exactly the mechanic for a crypto currency Proof-of-Work which is expensive by design.

    When they announced it, I was hoping for a 5% overhead validation that the model that served you is really Fable and not Opus.

    The quantization bit caught me out, because we saw the boundary crossing from good-context-size to bad is so sharp it feels like longer context requests are sent to quantized models to make more room for more KV-Cache. This would expose those sorts of tricks people can play to have the same GPU do better on short context benchmarks and gracefully degrade on long context.

    At work, we did a bit of digging[1] into exactly why BaseTen, Fireworks and Together serve Inkling weights differently, we suspected the issue was a combination of how you do disaggregated prefill (+streaming) and quantization for longer context tasks.

    [1] - https://isotopes.ai/blog/everyone-is-selling-the-same-model-...

  • vessenes 3 hours ago
    I've been writing about the need for provable inference (and training) on and off for a number of years; this is welcome news and a good start, and a significant improvement on prior zk results.

    The problems of inference proof for a closed model provider are more difficult than an open model provider -- you can get a probabilistic proof much more cheaply out of four independent inference providers running the same non-batched prompt than this 90-100x compute hit.

    Anthropic and others also have a significant problem with these proofs in that they have a lot of incentive internally to have some portions of the pre-prompt secret; I haven't read this newest scheme closely enough to determine if they have a way to hide parts of the prompt with the proof. But if they don't, they are almost certainly not going to want to send these proofs out in the general case.

    Last, I'll take this moment to soapbox and say for the researchers out there -- provable inference is nice. Provable training corpus information would be spectacular. It would be very, very, very nice to provide a set of model weights and a proof that they had only been trained on a dataset. To be clear, this is a really hard problem, but it would change fundamentally what levels of trust we could have about a given set of weights.

  • nemo1618 1 hour ago
    For open-weight models, provable inference is trivial: just redo the computation! This is much faster, cheaper, and doesn't require any fancy cryptography, just deterministic inference (which, if you read carefully, the ZKP approach needs too). See https://lukechampine.com/repligraphs

    Of course, it's unlikely that we'll get open-weight models from OpenAI or Anthropic any time soon. That means we have to choose between a) fancy ZKPs, b) signed responses, or c) comparing results from multiple inference providers.

    Whatever method ends up being used, it's clear to me that some form of provable inference is inevitable. People haven't caught on to its more significant applications, but they will. (This post touches upon one of them: model-driven audits.) Think about it: we can prove that a particular mind authored a particular artifact. That's never been possible before! You can't prove that Melville wrote Moby Dick, for example; but you can prove that Claude wrote a poem, or that Gemini approved a pull request, or that GPT got a particular score on some eval. This is a more powerful primitive than a cryptographic signature.

    • IanCal 51 minutes ago
      Is it cheaper to rerun it?

      > The verifier runs on the client's CPU. It needs no GPU and only has access to a commitment to the weights. The client downloads the commitment, ~6.5 MB in all, and then one proof per request. Checking a proof takes 17 seconds on 24 threads (and 21 seconds on a single thread), including the offline phase's checks.

      As a client that sounds like it might be much cheaper to verify than reprocessing.

      • nemo1618 33 minutes ago
        Since it's CPU vs GPU, it's not apples-to-apples. But in terms of wall-clock time, one inference pass is surely faster than 17 seconds. Plus there's the proof generation step, which the post describes as ~100x slower than generating the response itself.
    • baq 6 minutes ago
      Good luck rerunning the computation done on 8xB100 unless you aren't a cloud provider yourself
    • leafingensemble 16 minutes ago
      [dead]
  • vintagedave 3 hours ago
    I've read that providers like those you find on OpenRouter can sometimes route to other models; this would catch that.

    But I've also heard, as complete rumour, sometimes some named models perform significantly worse on some hosts and the theory is they're running quantized, without that being published. Would this solve that? The post mentions proving a set of weights, but not how those are represented? What would stop a host using true weights for generating the signature, while running on quantized versions?

    > We prove an exact integer version of the published weights, and a proof asserts that each checked token is that model’s greedy choice. A reply from a floating-point implementation, or sampled decoding, could depart at some position...

    So, no...?

    • l9o 2 hours ago
      I think it would catch that, at least for open weights. From the repo docs [1] it looks like this type of attestation is even supported for open weight models: you commit with the public weights and publish the seed, so anyone can recompute the commitment from the Hugging Face files and check the provider is running the exact checkpoint and quantization they say they are. That's what they did with their Maverick demo. That said, it only works for greedy decoding and short contexts for now, and it's 70-95x the GPU time, so there may be cheaper ways to do this like TEEs.

      [1] https://github.com/anthropics/FlashProve/blob/main/docs/what...

    • jrflo 3 hours ago
      Maybe it's possible to tell by looking at the size of that error?

      > The integer version is generally expected and empirically tested to be within some small error rate of true floating-point inference generically (even taking into account non-determinism of floating-point computations), though this does not cover adversarially designed prompts.

  • ajb 3 hours ago
    Interesting, but I'm not sure the property it attests is one we care about that much. Or rather, it's one you'd expect Anthropic not to tell you it needs to prove. I mean it tells you that you're not being stiffed by Anthropic using a cheaper model and that they haven't literally been MiTMd, but that's kind of table stakes. Otherwise it's not telling you much useful. It's not telling you that your data hasn't been exfiltrated, and it's not telling you any useful property of the answer.
    • velcrovan 21 minutes ago
      > I mean it tells you that you're not being stiffed by Anthropic using a cheaper model and that they haven't literally been MiTMd, but that's kind of table stakes.

      That's literally the most common gripe I see from Anthropic users and, so far from being "table stakes" there no existing mechanism by which those users could verify it is or isn't happening. If Anthropic can figure this out then most of this "is it just me or is Opus hurr durr today" noise can evaporate.

  • xpct 2 hours ago
    > As models become capable of improving and deploying themselves ... how can a company be sure of which weights are actually running on its servers?

    I find this a bit odd and backwards. Why do we choose not to make the deployment code to be robust, but instead to observe the model inference as proven? This moves unobservability layer to the system that collects the proofs. Given the assumption that code is fluid and LLMs are rewriting it often, how can we know it isn't being abused against the observer?

    Goes without saying, it's also disappointing that this has nothing to do with making the model inference observable for consumers.

    • Loquebantur 2 hours ago
      Anthropic here is solving one of their own problems, how to make sure you don't combine other company's models with their stuff for example, and make it sound as if they did it for you.

      It makes the inference more expensive and helps controlling the users.

    • seurimas 1 hour ago
      I assume this alludes to their prior work with models running on smart TVs being able to setup inference on additional smart TVs. The idea being that you can't be sure that, having gone through the whole deployment process, your hardware has not been subverted to run a different model. Any level of "robust" code you can imagine to prevent this in the traditional ways could be subverted on the fly by a capable model.

      > This moves unobservability layer to the system that collects the proofs.

      I'd say it's adding security through a secondary system, rather than displacing security to a secondary system. Security by layers.

    • fritzo 2 hours ago
      I think some model providers are implementing "eyes glaze over" where if you ask a boring simple question they route it to a cheap model but charge you for an expensive model, so consumers may want a proof of work certificate to know they're getting what they pay for.
      • xpct 1 hour ago
        I think a consumer facing system would be fantastic, but from how they're framing it in the article, it's all about internal company monitoring, with some fearmongering around LLM observability.
  • grey-area 3 hours ago
    At first I thought this was work on the far more important problem of proving that LLM output is provable and correct given some source of truth. But it's about the trivial problem of 'proving' which model is being used.

    Who will find this useful? I can't really think of a use for it, because if you don't trust the provider of your models, it's game over really - you're already giving them all sorts of private data, you're relying on their service, you have to trust them to some extent and this doesn't really help because unless you are running the service yourself. Seems like more of an internal problem for Anthropic than something that would interest others.

    • OneDeuxTriSeiGo 2 hours ago
      The main benefits are:

      1. it proves your models are running correctly. FP ops tend to deviate in small amounts between hardware providers and tensor ops even more so due to the relatively new and unstable standardisation environment atm. So it proves your HW configuration is delivering outputs correctly. i.e. it's a good test for what is currently a very non-trivial validation environment.

      2. it proves your external provider is running the inference they said they are. i.e. it eliminates the concerns of model providers running quantized versions silently behind the scenes since quantization breaks the proof and you need to use a new, updated proof signature for the quantized version.

      3. likewise for fine tuned or tampered models. Or outright substitution for another model (ex the accusation by OAI and Anthropic that Kimi and DS and co are periodically forwarding requests to their platforms to harvest responses for knowledge distillation).

      All in all it's a nice chain of trust utility if it can evolve out of the toy stage and reach production viability (since rn it's limited to int-only weights and 1k context which is practically useless atm).

    • skybrian 1 hour ago
      For example, there are Chinese resellers that promise to provide access to Claude (which isn't officially available in China) and defraud users by substituting something else. They're obviously sketchy in all sorts of ways, but in theory, this would prevent one kind of fraud.

      It might also provide an additional guarantee for users of Open Router and Fireworks.

    • nater5000 3 hours ago
      >Who will find this useful?

      It's worth reading past the opening paragraph before asking these kinds of questions:

      >When a user sends a request to an AI model, today they have no way of knowing for certain that the model they selected is the one that generated the response. For everyday uses, in which users mostly care about the output and not necessarily which specific model produced it, this is a less pressing concern. But there are several cases where such assurance would be useful. For example, independent evaluators who test AI models before and after release need to know that the model they are evaluating is the model being served. Clients who use a model through a third-party routing service want assurance that the tokens came from the model they paid for. And if a cyberattacker modifies the token stream while pretending to be a given model, a user has no way to detect it from the output alone.

      This is from the first paragraph in the Introduction.

      • grey-area 3 hours ago
        I didn't find any of it compelling, perhaps you do. That's what I was asking really, which of these use-cases is valuable for you?

        For me if you use a routing service you have to trust it, it sees all your inputs and outputs.

        If a cyberattacker can modify the token stream (i.e. man in the middle your traffic), you should be worried about a lot more than which model you're using!

        • nater5000 2 hours ago
          >which of these use-cases is valuable for you?

          None of these are directly valuable to me. But you asked "Who will find this useful?" and I gave you the answer to that question (provided by Anthropic in this post). Not everything being worked on will be useful for you. It's just bizarre that you'd be trying to make these arguments.

          >If a cyberattacker can modify the token stream (i.e. man in the middle your traffic), you should be worried about a lot more than which model you're using!

          Sure, so it'd be great if you could know if someone is modifying your token stream. If only there was some advancement in provable inference that could allow you to verify that what you're getting from a provider is what you expect to get from them.

        • hobofan 1 hour ago
          If one were to listen to /r/claude or /r/codex where half the posts are complaining about models being "lobotomized", one could think that this is the most valuable thing there is!

          In all seriousness, this is mostly just one of those defense in depth kind of things. Data exfiltration via a compromised provider is also a very different class of vulnerabilities than prompt injection via malicious tool calls.

        • alala-lala-lon 2 hours ago
          [dead]
    • pxmpxm 2 hours ago
      Customers care about model output being correct, Anthropic cares about model output being generated by Anthropic model.

      This solves for the latter with a bunch of handwaving for the former. The end goal is gonna be FUD for cheaper model routing because that obviously is at odds with their biz model.

      • elzbardico 2 hours ago
        You developed your agent implementation and more importantly, evaluated it, against a specific model.

        You don't want all you eval work to go to waste just because the discount inference provider you're using decided AcmeModel4.23 is as good as the Anthropics GilgameshEpic7.2 that you used to validate your solution.

        We already have trouble enough with model retirement.

    • porridgeraisin 3 hours ago
      Off the top of my head, it is useful when there are content-level proxies between the client and anthropic's API server, of which there are many these days.
  • stevemk14ebr 2 hours ago
    This obviously an attempt at being able to say a response came from an anthropic model vs say some other model via a model router. As for me, I will keep using my model router, I don't care to be charged more for a name brand. I don't care about the brand at all, it's a commodity.
    • dnnehgf 2 hours ago
      until your company gets sued for using Dangerous and Shoddy Foreign models and the boss says you can only use the Trustworthy and Premium Aligned labs' models.
  • ronfriedhaber 1 hour ago
    Attestable does great work on the subject: https://attestable.com/blog/proving-llms-scale
  • fscaramuzza 2 hours ago
    My PhD is on auditability of AI systems, and we are exactly working on the engineering of ZKP in this context. I can confirm through our industry partner (AI Assurance and auditing), that black box auditing is indeed a huge problem for them, and snarks have shown their potential in this context. It's great to see Anthropic confirming our early results.
    • ngruhn 2 hours ago
      I'm blind to the problem being solved here. Can you motivate it? Why do I need more than normal HTTPS on the token API?
      • fscaramuzza 2 hours ago
        HTTPS makes sure you’re communicating on a secure channel with the API endpoint. ZKPs guarantees that the computation happened correctly behind the endpoint.

        The work from Anthropic isn't a new idea, but they made the process more efficient, as inference verification is one of the biggest bottlenecks in the AI lifecycle. Beyond that, there's a lot more that can be proven, like showing a model was trained on a specific dataset with certain properties.

        From an auditing perspective, this used to be handled either by showing the data (which is pretty rare), checking samples (which has been shown to be easily hackable), or similar workarounds. For inference, an auditor might want to interact with a model on demand and have absolute certainty that the model they're talking to is actually the one declared, and not a substitute.

    • brcmthrowaway 2 hours ago
      So, you got beaten to the punch?
      • fscaramuzza 1 hour ago
        Well luckily not really, their work is more foundational-y, the idea is not new, but they made it more efficient and practical. On our side, we work more on the integration of these protocol in production systems, but we are pretty much on the frontier and is not very common to see such big companies experimenting with this technology. Microsoft already tried something [1] but I'm not sure if it ever went further than a research prototype.

        [1] https://arxiv.org/pdf/2402.02675

  • wcoenen 1 hour ago
    > The goal of provable inference (PI) is to enable a user with limited computational resources and without any information about the weights to verify that a response came from the requested model

    Isn't this already solved by watermarking?

    This page said they would provide an API to check whether a given text has the watermark for a Claude model:

    https://www.anthropic.com/news/claude-text-watermark

    • saifelse 1 hour ago
      I think there are two gaps with the watermark:

      - it only gives a high probability that the text was outputted from the model, whereas a crytographic proof is computationally infeasible to forge

      - it cannot be traced back to the input. You could "wash" the output from one model into another and it would be watermarked by the latter. With the crytographic proof, if you have the input, output, and "commitment", you can verify your exact input was processed by the model (or so the model provider says).

    • seurimas 1 hour ago
      Not to the degree needed for actually verifying the things this verifies. You could probably quite easily produce a non-Claude model that generates text that conforms to Claude watermarking.
    • hobofan 1 hour ago
      That's two entirely different types of things that are being verified.

      Watermarking checks whether a _specific text_ came from a provider.

      PI checks that the text (that you already know came from the provider) was produced with _a specific set of weights_.

      PI is mainly useful for AI supply-chain security.

  • ygouzerh 3 hours ago
    Are they doing that because they are scared that Moonshot might route queries to Claude?
  • jmort 2 hours ago
    What are the tradeoffs of an approach like this vs confidential computing primitives and attesting everything from untampered hardware all the way up to the served request? It seems more performant. Is it simply that they would have to reveal too much?
    • FrasiertheLion 51 minutes ago
      More so that attestation requires the model to be running on secure hardware, which is hard to do across all models that a company like Anthropic serves.

      In part because many of the accelerators they use may not support attestation, and even with ones that do, such as NVIDIA Blackwell, support is restricted to a single node (8 GPUs). Vera Rubin supports rack-scale encryption, but that is not broadly deployed yet and will not be the only accelerator they use to serve inference.

  • anonymous908213 3 hours ago
    > A user querying a model today cannot check that the responses came from the specific model that a developer claims is responding

    Indeed, I wonder what kind of developer would make users worry about that...? Funny PR stunt coming from a company that was in the news for silently routing ML-related requests to an inferior model.

    https://fortune.com/2026/06/10/anthropic-accu-claude-fable-5...

    > Unlike Fable’s other restrictions, such as around cybersecurity and biology, which openly redirect users to a less powerful model with a visible notification, the system card emphasized that this is “not visible to the user.” The model still responds, but uses “interventions to limit Claude’s effectiveness” without telling the user it’s doing so.

  • dnnehgf 3 hours ago
    i guess the idea here is that if the end user cannot discriminate based on capability above some threshold, the premium that you can charge for more capable models either disappears entirely (if the end user is the principal source of truth on quality) or gets arbitraged down (if the end user is merely an agent of the principal source of truth on quality). to maintain that premium in perpetuity, you just need (a) trusted benchmarking services that can distinguish between premium and generic, and then (b) a way to prove to the end user that a given output is premium.

    so this solves for (b).

  • with 3 hours ago
    isn't model substitution a vendor accountability thing? and token tampering, is that not infra security?

    do either of these need 70-95x the GPU time in "zksnark" proofs?

  • ex-aws-dude 1 hour ago
    > Some proposals to regulate and pace AI development rely on monitoring hardware and how it is used. For example, a provider might be required to devote its hardware to inference rather than to training a powerful new model. The provider might try to cheat by serving cheaper models or using compute in an unexpected way, freeing up resources for training. How can a regulator reliably ensure that the hardware is used for inference?

    Is this even a real problem? Forcing a company to only do inference?

    Sounds like Anthropic's dream scenario