Toward a Theory of Causation for Interpreting Neural Code Models

要約

コードのニューラル言語モデル、つまりニューラル コード モデル (NCM) は、研究プロトタイプから商用開発ツールへと急速に進歩しています。
したがって、そのようなモデルの機能と制限を理解することが重要になってきます。
ただし、これらのモデルの能力は通常、自動化されたメトリクスを使用して測定され、多くの場合、実際のパフォーマンスの一部しか明らかにされません。
一般に、NCM のパフォーマンスは有望であるように見えますが、現時点では、そのようなモデルがどのように決定に至るかについてはほとんど不明です。
この目的を達成するために、この論文では、モデル予測を説明できる NCM に固有の事後解釈可能メソッドである $do_{code}$ を紹介します。
$do_{code}$ は因果推論に基づいており、プログラミング言語指向の説明を可能にします。
$do_{code}$ の理論的基礎は、さまざまなモデル プロパティを探索するために拡張可能ですが、プログラミング言語のプロパティにおけるモデルの動作の説明を根拠にすることで、偽の相関関係の影響を軽減することを目的とした具体的なインスタンス化を提供します。
$do_{code}$ の実際的な利点を実証するために、2 つの人気のあるディープ ラーニング アーキテクチャと 10 個の NCM についてケース スタディを実行することで、フレームワークが提供できる洞察を示します。
このケーススタディの結果は、調査対象の NCM がコード構文の変更に敏感であることを示しています。
BERT のようなモデルを除くすべての NCM は、他のプログラミング言語構造と比較して交絡的なバイアスが少なく、コード ブロック (括弧、括弧、セミコロンなど) に関連するトークンを予測する方法を統計的に学習します。
これらの洞察は、NCM の交絡バイアスを検出し、排除を促進するための有用な方法として $do_{code}$ が可能性があることを示しています。

要約(オリジナル)

Neural Language Models of Code, or Neural Code Models (NCMs), are rapidly progressing from research prototypes to commercial developer tools. As such, understanding the capabilities and limitations of such models is becoming critical. However, the abilities of these models are typically measured using automated metrics that often only reveal a portion of their real-world performance. While, in general, the performance of NCMs appears promising, currently much is unknown about how such models arrive at decisions. To this end, this paper introduces $do_{code}$, a post hoc interpretability method specific to NCMs that is capable of explaining model predictions. $do_{code}$ is based upon causal inference to enable programming language-oriented explanations. While the theoretical underpinnings of $do_{code}$ are extensible to exploring different model properties, we provide a concrete instantiation that aims to mitigate the impact of spurious correlations by grounding explanations of model behavior in properties of programming languages. To demonstrate the practical benefit of $do_{code}$, we illustrate the insights that our framework can provide by performing a case study on two popular deep learning architectures and ten NCMs. The results of this case study illustrate that our studied NCMs are sensitive to changes in code syntax. All our NCMs, except for the BERT-like model, statistically learn to predict tokens related to blocks of code (\eg brackets, parenthesis, semicolon) with less confounding bias as compared to other programming language constructs. These insights demonstrate the potential of $do_{code}$ as a useful method to detect and facilitate the elimination of confounding bias in NCMs.

arxiv情報

著者 David N. Palacio,Alejandro Velasco,Nathan Cooper,Alvaro Rodriguez,Kevin Moran,Denys Poshyvanyk
発行日 2024-03-26 15:41:28+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.LG, cs.SE, stat.ME パーマリンク