事前学習済みコードモデルのファインチューニングによるAI生成コード検出

arXiv cs.CL / 2026/5/5

📰 ニュースIdeas & Deep AnalysisModels & Research

要点

  • Archaeologyチームは、AI生成コードの検出を目的としたSemEval-2026 Task 13にシステムを提出し、人手コードとAI生成コードの判別および生成モデルの特定の両方に対応しました。
  • 共有タスクはSubtask-A(人手コードかAI生成かの2値分類)とSubtask-B(生成モデルを11クラスで帰属)で構成され、それぞれのサブタスクに合わせて手法を最適化しています。
  • TF-IDF+Logistic Regressionのベースラインから出発し、CodeBERT、GraphCodeBERT、UniXcoder、CodeT5+の4つの事前学習済みコードモデルをファインチューニングします。
  • Subtask-Aでは、言語を1つ除外するleave-one-language-outの交差検証、コード拡張、トリム平均による集約を行うチャンク分割推論、難しめのデータセットに対する閾値キャリブレーションを用います。
  • Subtask-Bでは、サンドイッチ型トークンパッキング、クラス均衡化した損失、テスト時データ拡張を併用した複数シードのアンサンブルを適用し、Subtask-AでマクロF1=0.737、Subtask-BでマクロF1=0.422という結果を得ています。

Abstract

本論文では、チーム\textbf{Archaeology}がAI生成コード検出に関するSemEval-2026 Task~13に提出したシステムについて述べる。共有タスクは3つのサブタスクから成り、我々はSubtask-A(2値分類:人が書いたコード vs. AI生成コード)とSubtask-B(生成モデルの11クラス帰属)に参加する。TF-IDFとLogistic Regressionのベースラインから出発し、4つの事前学習済みコードモデル(CodeBERT、GraphCodeBERT、UniXcoder、CodeT5+)を、各サブタスクごとに異なる戦略でファインチューニングする。Subtask-Aでは、言語を1つずつ除外するleave-one-language-outの交差検証、コード拡張、トリム平均による集約を伴うチャンク分割推論、困難なデータセットに対する閾値キャリブレーションを用いる。Subtask-Bでは、サンドイッチ型トークンパッキング、クラスバランスに基づく損失、テスト時データ拡張を伴う複数シードのアンサンブルを用いる。最良の提出結果では、Subtask-AでマクロF1が0.737(81チーム中6位)、Subtask-Bで0.422(34チーム中7位)を達成した。