知識蒸留(KD)とは，大規模なニューラルネットワークを圧縮する手法の一つである．言語モデル向けKDの中で最高性能の手法は，敵対的学習に中間層出力と対照学習を導入したCILDAと呼ばれる手法である．CILDAの学習は最大化ステップと最小化ステップに分かれているが，中間層出力と対照学習は最大化ステップでのみ活用されている．本研究では，最小化ステップに中間層蒸留と対照学習を導入し，性能を向上させることを目指した．しかし，既存手法に対して有意な差は確認できなかったため，原因分析のためにCILDA単体の再現実験を行ったところ，先行研究の主張とは異なり，GLUEにおける複数のタスクでCILDAがそれ以前の手法の性能を上回らないという結果を得た．

BERT[1]やRoBERTa[2]のような事前学習済み言語モデルは，様々な言語処理タスクにおいて，高い性能を発揮しているが，近年では，GPT-3[3]や，PaLM[4]に見られるように，パラメータ数が大幅に増加し，通常のデバイスでは扱えなくなっている．知識蒸留(KD)[5]は，ニューラルネットワークを圧縮する手法の一つである．パラメータ数の大きい教師モデルの出力と，パラメータ数の小さい生徒モデルの出力のKLダイバージェンスを小さくする学習をすることで，生徒モデルが教師モデルと同様の出力が出来るようにする．先行研究により，知識蒸留は，教師モデルと生徒モデルの最終的な出力間だけでなく，中間層の出力間の誤差の利用[6,7,8]，データ拡張と敵対的学習の導入[9]，対照学習の導入[10]により，性能が向上することが報告されている．Haidarら[11]は知識蒸留に中間層の利用，敵対的学習，対照学習を導入したCILDAと呼ばれる手法を提案し，GLUEタスクにおいてSOTAを達成した．しかし，Haidarらの研究[11]では，データ拡張と敵対的学習に用いられるGeneratorの学習にのみ中間層の利用と対照学習の導入を行っており，生徒モデルの学習については通常のKDから改良されていない．本研究ではCILDAの生徒モデルの学習時に中間層の利用と対照学習を導入し，さらに性能を向上させることを目指す．本研究のソースコードはGitHub1）にて公開している.