【論文筆記】| 蛋白質大模型ProLLaMA
ProLLaMA: A Protein Large Language Model for Multi-Task Protein Language Processing
Peking University
Theme: Domain Specific LLM
Main work:
當前 ProLLM 的固有局限性:(i)缺乏自然語言能力,(ii)指令理解不足
利用低秩適應(LoRA)并采用兩階段訓練方法,將任何通用 LLM 轉換為能夠同時處理多個 PLP 任務的 ProLLM,在無條件/可控蛋白質序列生成、蛋白質屬性預測任務中取得了最先進的結果
Method:
1. Continual Learning on Protein Language
當前的 ProLLM 缺乏自然語言能力,這阻礙了多任務能力,利用預訓練的 LLAMA2 對蛋白質語言執行持續學習(類比學習新語言,模型在保留原始自然語言能力的同時學習蛋白質語言)
基于 UniRef50 構建了一個數據集,并用特定的前綴和后綴對每個蛋白質序列進行預處理。
在 LLAMA2 的每個Decoder layer,我們將 LoRA 添加至 W q , W k , W v , W o , W u p , W g a t e , W d o w n W_q,W_k,W_v,W_o,W_{up},W_{gate},W_{down} Wq?,Wk?,Wv?,Wo?,Wup?,Wgate?,Wdown?以及 E m b e d Embed Embed和 G e n e r a t i o n H e a d Generation \ Head Generation?Head layers (token可能在蛋白質序列和自然語言中具有不同的含義,需要對同一token進行不同的embedding)
LoRA rank-128, AdamW optimizer, peak learning rate(cosine annealing scheduler)-0.05, training epoch-1.
2. Performing Various Tasks
對上一步中獲得的 ProLLaMA 執行指令微調,采用自回歸方式進行訓練
L ( Θ ) = E x ~ D [ ? ∑ i log ? p ( x i ∣ u , x 0 , x 1 , … , x i ? 1 ; Θ ) ] \mathcal{L}(\Theta)=\mathbb{E}_{\boldsymbol{x}\sim\mathcal{D}}\left[-\sum_i\log p(x_i|\boldsymbol{u},x_0,x_1,\ldots,x_{i-1};\Theta)\right] L(Θ)=Ex~D?[?i∑?logp(xi?∣u,x0?,x1?,…,xi?1?;Θ)]
LoRA rank-64, AdamW optimizer, peak learning rate(cosine annealing scheduler)-0.05, training epoch-2.
3. Expanding to More Tasks
基于上述模型針對特定任務再次進行指令微調
參考文獻
Lv L, Lin Z, Li H, et al. ProLLaMA: A Protein Large Language Model for Multi-Task Protein Language Processing[J]. arXiv preprint arXiv:2402.16445, 2024.