今天给大家伙儿一起来分享的是北京大学于2024年2月发表在Arxiv上的一篇论文:ProLLaMA:A Protein Large Language Model for Multi-Task Protein Language Processing。包括GPTx和LLaMA 2在内的大型语言模型(LLM)在多个自然语言处理(NLP)任务中取得了卓越的性能。在蛋白质序列构成蛋白质语言的前提下,在蛋白质语料库上训练的蛋白质大型语言模型(ProLLM)在从头生成蛋白质序列方面表现出色。然而,截至目前,与NLP中的LLM不同,没有ProLLM能够在蛋白质语言处理(PLP)领域的多个任务。因此当前ProLLM的固有局限性如下:(i)缺乏自然语言能力,(ii)指令理解不足,(iii)高培训资源需求。未解决这些挑战,作者引入了一个框架,将任何普通的LLM转换为可处理多个PLP任务的ProLLM。具体来说,该框架框架利用低秩自适应(LoRA),并采用两阶段训练方法,从而解决上述挑战,其特点是通用性、低开销和可扩展性。通过在这个框架下的训练,作者提出了ProLLaMA模型,这是第一个已知的同时处理多个PLP任务的ProLLM。实验根据结果得出,ProLLaMA在无条件蛋白质序列生成任务中取得了最好的结果;在可控蛋白质序列生成任务中,ProLLaMA可以设计出具有所需功能的新型蛋白质;在蛋白质性质预测任务中,ProLLaMA在许多类别上都达到了接近100%的准确率,后两个任务是其他ProLLM无法达到的。
模型的总体架构包括三个部分:1)LLaMA2框架通过在UniRef50数据集上持续学习蛋白质语言,由此产生ProLLaMA;2)通过在指令数据集上进行指令微调,使得ProLLaMA可以有效的进行多任务处理;3)通过在自定义的数据集上再次进行指令微调,使ProLLaMA能够扩展到更多任务,如蛋白质属性预测等。作者提出了一个两阶段的训练框架来实现多任务PLP的ProLLM。在第一阶段,作者利用一个预训练的通用LLM(如LLaMA2)来不断学习蛋白质语言,同时保持模型的自然语言知识。在第二阶段中,通过指令微调在多任务PLP数据集上进一步训练模型,以使模型具有PLP的指令跟随能力和多任务能力。有必要注意一下的是,在这两个阶段中,作者采用了低秩自适应(LoRA)来降低参数量,使得模型的成本减少。其在第一阶段中防止灾难性遗忘,在第二阶段中增强可扩展性并降低训练成本。
在这里,作者使用因果语言模型(CLM)来训练LLM,给定一个接受训练的token序列x,CLM可以被概念化为基于前面的i-1个token来预测第i个token。因此使用CLM训练LLM的公式为:
微调可以看作是一个寻找参数变化的过程,原始参数W0,微调后参数为W,目标为找到ΔW=W-W0,假设ΔW是低秩的,则能被分解为两个低秩矩阵,ΔW=AB,则:微调目标从寻找ΔW变为寻找A和B矩阵。
因此,训练中涉及的参数数量从dh减少到r(d+h),可训练参数数量的减少是相当显著的。在训练过程中,模型的原始参数被冻结,只有低阶适配器可训练。训练后,新获得的知识存储在低阶适配器中,即A和B。
首先作者将ProLLaMA模型与其他主流模型比较了从头生成蛋白质方面的能力,如图所示:
可以看出作者的ProLLaMA在pLDDT、TM评分和RMSD指标上表现最佳,在SC-Perp中排名第二,表明ProLLaMA在从头蛋白质设计方面表现出色。
从头设计长且结构符合常理的蛋白质序列具有高度挑战性,因此,作者还做了对比实验,比较ProLLaMA与ESM-2模型在蛋白质序列长度变化时模型的效果。
可以看出,随着序列长度的增加,ProLLaMA生成的蛋白质的pLDDT不会降低,而是增加。相反,ESM2生成的蛋白质的pLDDT随着长度的增加而明显降低。这表明ProLLaMA能够捕获氨基酸之间的长程依赖性,而ESM2在长蛋白质序列的从头设计中面临困难。这些证明了ProLLaMA强大的序列生成能力,尤其是在生成长序列时具有更加好的效果。
另外,在可控生成领域,ProLLaMA模型可以生成具有所需功能的蛋白质。
与其他模型的不可控生成相比,作者提出的模型在TM-score和H-Prob的值表明能生成具有所需功能的蛋白质。
在蛋白质功能预测方面,ProLLaMA的准确性也非常可观,对许多超家族的预测达到了接近100%的准确率。
现有的ProLLM在蛋白质生成的单一任务中表现出色,但在多个任务中表现不佳。在这项工作中,作者引入了一个有效的训练框架,将任何一般的LLM转换为多任务ProLLM。我们还开发了ProLLaMA,一个多功能的ProLLM,用于多个任务,例如可控蛋白质生成以及蛋白质属性预测。实验表明,ProLLaMA的效果很好。