V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
sillydaddy
V2EX  ›  奇思妙想

关于公私钥技术在 AI 降智中的取证作用

  •  
  •   sillydaddy · 15 天前 · 1404 次点击
    AI 降智让人深恶痛绝!它违反商业合同的精神!让人不齿!先是高帅智勾引,然后降智杀猪!太可耻!

    从技术上考虑,有没有办法防止?密码学总是能带来惊喜,而且不需要多么高深。

    为了保证模型不变,只要让它满足一点:同样的输入 input ,应该总是返回相同的输出 output !

    我们仅需要检验这一点就可以,而且每个人都可以检验!!

    方法如下:
    1.每人一个私钥,对发给大模型的消息签名!
    2.让大模型的供应商,对每个回复的消息签名!要求包括消费者的消息签名,以及回复内容的哈希签名!
    3.每个消费者都可以记录下自己发送的消息签名、回复消息的签名。
    4.上述的 1 对签名,就是铁板证据!!因为相同的消息必须有相同的回复,违反了这点就意味着模型有所变化。

    论证如下:
    1.数字签名,代表了信息是本人发出。无法抵赖!
    2.每条消息都带有签名,意味着每个消费者可以使用任何一条过往消息,随时验证模型是否有变更。且只需随机选取极少数的消息即可。
    3.而供应商想要偷换模型而不被发现,就要缓存所有的已知消息。代价巨大。
    12 条回复    2025-07-21 10:09:50 +08:00
    villivateur
        1
    villivateur  
    PRO
       15 天前
    你的前提就错了,大模型会用到很多随机种子,不保证同样的 input 总是相同的 output
    sillydaddy
        2
    sillydaddy  
    OP
       15 天前
    @villivateur 这个我知道,但是伪随机总是可以确定的,只需要把种子作为消息的一部分即可。 /t/1137758
    jybox
        3
    jybox  
       15 天前
    不用那么麻烦,模型参数里有一个 seed ,同样的 seed 理论上会产生相同的输出。
    https://cookbook.openai.com/examples/reproducible_outputs_with_the_seed_parameter
    neteroster
        4
    neteroster  
       15 天前
    > 相同的消息必须有相同的回复,违反了这点就意味着模型有所变化。

    错误的。LLM 生成最后有采样步骤会引入随机性。即使贪婪采样,现代 LLM 推理框架在性能上的一些优化措施也会导致几乎丧失稳定的 reproducibility 。

    OpenAI 是这么说的:... If specified, our system will make a *best effort* to sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is *not guaranteed*

    Anthroic 是这么说的:...Note that even with temperature of 0.0, the results will not be fully deterministic.
    neteroster
        5
    neteroster  
       15 天前
    @neteroster #4 开源推理框架的一些信息:

    > vLLM does not guarantee the reproducibility of the results by default, for the sake of performance. You need to do the following to achieve reproducible results:

    > For V1: Turn off multiprocessing to make the scheduling deterministic by setting VLLM_ENABLE_V1_MULTIPROCESSING=0.
    kapr1k0rn
        6
    kapr1k0rn  
       15 天前
    不如搞个 benchmark 定期测试
    greygoo
        7
    greygoo  
       15 天前
    AI 降智主要是什么地方的问题呢?如果是前端 chat 方面的问题或者是 Cursor 这类 agent 问题,我觉得是正常操作。如果 api 上面降智,就不用它们家的 API 直接平替其他供应商。可能比较关键的是,我们需要有一些第三方专门随机检测以及评测大模型。
    sillydaddy
        8
    sillydaddy  
    OP
       15 天前
    @neteroster 说实话,我不知道它的 "for the sake of performance" 是怎样影响到 "determinism"。从理论上说,随机性的来源似乎只有随机数这一个,还有其他步骤会引入吗? 至于 Anthroic 说的 temperature ,它本来就不是影响确定性的啊,temperature 影响的是采样概率,伪随机数才会影响确定性的。
    neteroster
        9
    neteroster  
       15 天前   ❤️ 1
    @sillydaddy

    1. 当然有... 底层来说,硬件方面就引入的很多不确定性,CUDA 也有一些原语不是确定性的( https://news.ycombinator.com/item?id=37009167 有一些讨论,像是 pytorch 这些依赖 cuda 的也会因此受影响: https://github.com/pytorch/pytorch/issues/75240 ),这些不确定性在大规模推理(多 GPU 、多节点)的情况下会愈加明显。推理框架本身也会因为调度,batch inference 下的 padding 加入很多不确定性,这里也有很多讨论: https://news.ycombinator.com/item?id=44527256

    2. 模型到 lm_head 这里还是纯函数,而 temp=0 等价贪婪采样,按你的说法,对相同的信息给出的 logits 不会变,最后贪婪采样也是完全确定的,整个过程没有任何随机性参与。但是实际上实践上就是因为上面各种原因做不到
    Pteromyini
        10
    Pteromyini  
       15 天前
    @sillydaddy #8 即使抛开算法本身,工程部署时产生随机的情况太多了,最常见的比如 cuda 引起的,跨 gpu 引起的等等都有可能
    SilencerL
        11
    SilencerL  
       15 天前
    @jybox #3
    jy 你 blog 一年多没更新了
    7a98kZ6v0WQs5ZO1
        12
    7a98kZ6v0WQs5ZO1  
       11 天前
    @sillydaddy 你有 adsense 号出售吗
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1549 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:45 · PVG 00:45 · LAX 09:45 · JFK 12:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.