mcdok at SemEval-2026 Task 13: Finetuning LLMs for Detection of Machine-Generated Code
本文介绍了 mcdok 团队在 SemEval-2026 任务 13 中通过调整现有的 mdok 方法并探索更适合代码理解的基础模型,成功构建了针对机器生成代码检测、来源归因及混合/对抗性代码识别的竞赛系统,结果显示其具有竞争力但仍有提升空间。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
这篇论文讲述了一个名为 mcdok 的“代码侦探”团队,如何参加了一场名为 SemEval-2026 Task 13 的国际比赛,挑战一项非常棘手的任务:分辨一段代码是人类写的,还是人工智能(AI)写的。
想象一下,现在的 AI 写代码写得越来越像人,甚至能模仿人类的各种风格。这就好比有人造出了完美的“高仿假钞”,我们需要一种超级验钞机来把它们挑出来。
以下是用通俗易懂的比喻和日常语言对这篇论文的解读:
1. 比赛背景:一场“捉迷藏”大赛
这次比赛不仅仅是简单的“真假二分法”,它分成了三个难度递增的关卡(子任务):
- 关卡 A(真假大搜查): 只要判断这段代码是“人写的”还是"AI 写的”就行。就像在人群中一眼认出谁是伪装者。
- 关卡 B(查户口/认亲): 如果代码是 AI 写的,它到底是哪个“家族”的 AI 写的?(比如是 Google 的、OpenAI 的,还是阿里的?)。这就像不仅要认出是假钞,还要知道是哪家印钞厂伪造的。
- 关卡 C(复杂混合体): 这是最难的。代码可能是:
- 纯人类写的;
- 纯 AI 写的;
- 人机混合(人类写了一半,AI 补了一半);
- 对抗样本(AI 故意伪装成人类,甚至故意写错来骗过检测器)。
这就像要在一个满是变装舞会的房间里,分辨出谁是真的,谁是假扮的,谁是人机结合的“半机械人”,还有谁在故意装傻充愣。
2. 侦探的工具箱:mcdok 系统
团队之前有一个叫 mdok 的“文字侦探”,专门抓写文章造假的人。这次,他们把 mdok 升级成了 mcdok(专门抓代码造假)。
- 核心策略: 他们发现,通用的 AI 模型虽然聪明,但不懂代码的“语法和逻辑”。就像让一个不懂乐理的人去听爵士乐,很难发现其中的破绽。
- 换装备: 他们给侦探换上了更专业的“眼镜”(基座模型)。
- 对于关卡 A,他们选了一个叫 Gemma-3 的通用大模型,因为它视野开阔,能发现宏观的异常。
- 对于关卡 B(认亲),他们选了 CodeGemma,因为它专门学过代码,能记住不同“家族”的笔迹习惯。
- 对于关卡 C(混合体),他们选了 Qwen2.5-Coder,因为它对代码的细微差别最敏感。
3. 训练过程:如何教侦探?
他们并没有从零开始教,而是用了 QLoRA 技术。
- 比喻: 想象侦探原本已经是个资深警探(预训练模型),现在不需要重新教他识字,只需要给他看几本“伪造代码案例集”(微调数据),让他学会识别新的造假手法。
- 数据清洗: 比赛规则很严,只能用官方给的数据。团队像淘金一样,把数据里的“杂质”去掉,平衡好人类代码和 AI 代码的比例,防止侦探产生偏见(比如只认识 Python 代码,不认识 Java 代码)。
4. 比赛成绩:表现如何?
- 关卡 A(真假): 表现不错!虽然离第一名还有差距,但比随机猜(像抛硬币)和旧模型(CodeBERT)强太多了。特别是在识别 C 和 C# 这种训练时没见过的语言时,表现令人惊讶。
- 关卡 B(认亲): 有点吃力。要把 11 个不同的 AI 家族区分开,就像要在 11 个长得极像的克隆人里找出谁是谁。虽然比随机猜强,但准确率不算高,主要是因为有些家族样本太少,侦探“没见过世面”。
- 关卡 C(混合体): 表现最好!在 32 个参赛队伍里排第 5 名。这说明他们的侦探在分辨“人机混合”和“故意伪装”方面很有天赋。
一个有趣的发现:
在关卡 A 中,他们发现如果把判断标准定得极其严格(比如只有 100% 确定是 AI 才说是 AI),效果反而更好。这就像侦探说:“除非我亲眼看见他造假,否则我绝不指认”,这样虽然会漏掉一些,但指认出来的几乎全是真的,大大减少了误判。
5. 总结与启示
这篇论文告诉我们:
- 通用模型也能干专业活: 有时候,一个通用的大模型(Gemma)在特定任务上,比专门训练过的模型表现更好,只要微调得当。
- 没有万能钥匙: 不同的任务需要不同的“侦探眼镜”。没有一种模型能通吃所有关卡。
- 未来可期: 虽然现在的系统已经能打败很多旧方法,但面对越来越狡猾的 AI(比如故意模仿人类的对抗样本),我们还需要更聪明的训练方法和更平衡的数据。
一句话总结:
这就好比一群侦探升级了装备,换上了更专业的“代码透视镜”,成功地在复杂的代码世界里抓出了一批"AI 伪装者”,虽然还没到完美无缺的地步,但已经证明了这套方法在保护代码真实性方面非常有潜力。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。