
Prefix Tuningによって望みの機能をもったタンパク質を生成する! 「PrefixProt」の紹介
Prefix Tuningという仕組みを使い、望みの機能を持たせたタンパク質を生成する「PrefixProt」を見つけました。
営利利用ができないESM3とは異なりオープンソースで、自由度が高くなっています。
今回は、そんなPrefixProtについてご紹介したいと思います。
PrefixProtとは

PrefixProtとは、タンパク質言語モデル「ProtGPT2」に「Prefix Tuning」という仕組みを取り入れ、狙い通りの機能を持ったタンパク質が生成できるように改良するメソッド(工夫)です。(Prefix Tuningについては後ほど説明します)
PrefixProt自体は既存のモデルがさらに上手く動くようにするための「工夫(メソッド)」であり、生成はProtGPT2が行います。
ベースとなっているProtGPT2とは

ProtGPT2は、自然界のものに近いタンパク質配列を、新規に生成することができるタンパク質言語モデルです。
ChatGPTが自然な文章を生成することができるように、ProtGPT2ではタンパク質配列を新しく生成することができます。

ただ、ChatGPTは与えられた指示(プロンプト)に基づき出力結果を変えられる(ChatGPTに「小説を書いてください」というと小説が出力される)のに対し、ProtGPT2はプロンプトによる指示ができず、ランダムにしか出力することができません。
Prefix Tuningで望みのタンパク質を生成する

そこで、PrefixProtではPrefix Tuningという方法を使い、この問題を解決しています。
Prefix Tuningでは、既存のモデルとは別の新しいネットワーク(Prefix tokenと呼ばれる)を用意し、それを特定の結果が出力されるように学習させます。
生成を行う際、学習させたネットワークを組み込むことで、望みの結果を出力することができるのです。
PrefixProtはこれを使い、望みの機能を持ったタンパク質をネットワークに学習させ、ProtGPT2に組み込み出力させることで、その機能を持ったタンパク質を生成させることを可能にしました。

また、ネットワーク同士を組み合わせて、新たな機能を持ったタンパク質を生成することができます。
例えば、αヘリックスという構造を持つタンパク質と、抗菌作用を持つタンパク質を生成させるネットワークをそれぞれ学習させ、組み合わせることで、αヘリックスの構造を持ちながら、抗菌作用も持ったタンパク質を生成させることができます。
なお、学習には学習させたい機能を持ったタンパク質のデータを使います。
タンパク質の機能が具体的になっていくほど、データの数は少なくなっていきますが、PrefixProtでは少ない数でのデータ(100データ〜)でもネットワークを学習させることができるそうです。