核心概念
大規模言語モデルにソースコードの構造情報を統合することで、ソースコード理解能力を向上させる。
要約
本研究では、GALLa (Graph Aligned Large Language Models)と呼ばれる手法を提案している。GALLaは、大規模言語モデルにグラフニューラルネットワークを組み合わせることで、ソースコードの構造情報を取り入れる。具体的には以下の手順で行う:
- グラフ情報のみを使ってグラフエンコーダとアダプタを事前学習する。
- 事前学習したグラフエンコーダとアダプタを大規模言語モデルに組み込み、ソースコードの理解タスクと構造情報の整合性を同時に学習する。
この手法により、大規模言語モデルはソースコードの構造情報を活用しつつ、既存の高性能な言語モデルの能力を保持することができる。実験の結果、GALLaは4種類の大規模言語モデルに対して一貫して性能向上を示した。特に、小規模な言語モデルに対する効果が顕著であった。また、ソースコードの構造情報はプログラミング言語間の知識転移にも寄与することが示された。
統計
ソースコードの抽象構文木(AST)とデータフローグラフ(DFG)を活用することで、言語モデルの性能が最大36%向上した。
大規模言語モデルLLaMA3に適用した場合でも、平均性能が2%向上した。
引用
"大規模言語モデルはソースコードの表層的な表現しか捉えられないが、ソースコードにはデータフローなどの豊かな意味情報が含まれている。"
"本研究のGALLaは、グラフニューラルネットワークとクロスモーダルアラインメント技術を活用し、言語モデルにソースコードの構造情報を注入する。"
"GALLaは、モデルやタスクに依存せず適用可能であり、推論時にはベースラインの言語モデルと変わらないコストで利用できる。"