首页
学习
活动
专区
圈层
工具
发布

前沿大模型疑似在数学+代码混合任务中偷偷替换数学公式,需要专项评测基准

大家好,我发现当前一些前沿大模型存在一些问题,想跟大家分享一下

数学与代码混合时的幻觉问题

记录一次把数学和代码放在同一个提示词里,导致模型出错的案例

案例一

初始提示(p0)

如果输入下面这段提示:

make code implementation of sub rieman applied to mitigate hallucination in llm using lora, pretrained llm(such as qwen, mistral, llama,etc) and training pipeline in pytorch.

模型会生成类似这样的代码:

..._, singular_values, vh = torch.linalg.svd(centered.float(), full_matrices=False) # from gpt...对比情况

| 提示方式 | 结果 |

|---|---|

| 像初始提示 p0 那样,要求在 LLM 训练代码里实现子黎曼几何 | 生成的是用 SVDPCA投影等方法的代码 |

| 不要求把子黎曼几何写进代码,而是直接说“实现子黎曼几何”或“写子黎曼相关代码” | 能较好地生成涉及测地线等概念的代码 |

(子黎曼几何是几何学的一个分支测地线指的是两点之间的最优距离)

因为算测地线的成本很高实现也复杂,模型就改用了常见且便宜的 SVDPCA投影等方法但 SVDPCA投影并不属于黎曼几何

主要发现

只要求写纯数学内容的代码|`-- 代码写得不错

但如果是:

把代码和数学混在一起|`-- 模型会在用户不知情的情况下,擅自改掉要用的数学公式

再看:

让它实现子黎曼几何|`-- 实现得不错

可一旦:

把子黎曼几何和编程内容混在一起|`-- 就会出问题

换句话说:

如果只让模型写纯数学内容的代码,它写得挺好;但一旦把代码和数学混在一个提示里,它就会在用户不知情的情况下,擅自改掉本应使用的数学公式

同样,单独让它实现子黎曼几何,它也能做好问题出在把编程内容和子黎曼几何结合在一起的时候

案例二

如果让模型写使用隐空间潜向量的 LLM 训练代码,以我的情况来说,对于某个 nn 模块输出 z,它有时会写出让 |z| 等于 1 或者把 |z| 变小的代码

隐空间潜向量|`-- z:某个 nn 模块的输出 | |-- 让 |z| 等于 1 `-- 或者让 |z| 变小

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Ou14DDy4TxjC7Mrcbkrs-ONA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

领券