Open4
機械学習とコンパイラ技術
社内 Slack に同僚が共有していた 図で理解するTransformer - Qiita を読んで「コード補完にも使えそう」と思ったら、案の定先行事例がゴロゴロ出てきた。そういえば、機械学習へのコンパイラ技術の適用って(主に LLVM を使ったものが)色々あるけど、その逆って何があるのかな?と気になってきたので調べてみる。
Transformer ベースのコード補完
-
[2003.13848] Code Prediction by Feeding Trees to Transformers Facebook のやつ。「IP アドレス変換したいっぽいから
string.
の次はatoi
だろ?」コードは Github にある。 - IntelliCode Compose: Code Generation Using Transformer - Microsoft Research Microsoft のやつ。クラウドにデプロイして、クライアント側ではキャッシュしている実用性。今後、パーソナライズもしたいってあるけど、今はどうなんだろう。
他にも VSCode で使えるプラグインとかありそうだった。
レジスタ割り当て
- Deep Learning-based Approximate Graph-Coloring Algorithm for Register Allocation LSTM ベースのレジスタ割り当て。Future Work に Transformer への言及あり