ESM-2
Modelo de linguagem de proteínas · Meta AI · 2023

ESM-2

Um transformer bidirecional treinado para reconstruir aminoácidos mascarados a partir de sequências não alinhadas. Produz representações contextuais por resíduo e logits de aminoácido. Transformar essas representações em coordenadas exige o ESMFold, que é um modelo separado.

Em linguagem simples

Um modelo treinado escondendo aminoácidos e adivinhando de volta. Fazer isso bem obriga a aprender para que serve cada posição de uma proteína, e esses números internos acabam servindo para quase qualquer tarefa com proteínas.

Uma forma de imaginar

Preencha as lacunas, dez bilhões de vezes, até não conseguir evitar entender a gramática. Ninguém ensinou química a ele. Ele aprendeu quais resíduos combinam por ser obrigado a adivinhá-los.

O engano mais comum

Ele não prevê estrutura. Ele produz vetores. O ESMFold é o modelo que transforma esses vetores em coordenadas, e é um download separado.

Como é montado

Escolha um componente para ler
Embeddings de token
Representações contextuais
Vetores por resíduo

Rodar

Obter um embedding para uma sequência
import torch
from transformers import AutoTokenizer, AutoModel

name = "facebook/esm2_t33_650M_UR50D"
tok = AutoTokenizer.from_pretrained(name)
model = AutoModel.from_pretrained(name).eval()

seq = "MALWMRLLPLLALLALWGPDPAAA"
batch = tok(seq, return_tensors="pt")
with torch.no_grad():
    out = model(**batch).last_hidden_state

# drop the start and end tokens, then average over residues
per_residue = out[0, 1:-1]
sequence_vector = per_residue.mean(0)
print(per_residue.shape, sequence_vector.shape)

Estes trechos não foram executados aqui. Versões mudam: confira o cartão do modelo antes de confiar em qualquer linha.

01 / Por que está aqui

Posição

O estudo de escala que tornou os modelos de linguagem de proteínas mascarados um componente padrão. Trabalhos posteriores inicializam outros modelos a partir dos pesos do ESM-2 e usam seus embeddings como atributos.

02 / O que o distingue

Distinções

  • Nenhum alinhamento na inferência. A informação evolutiva mora nos pesos.
  • Checkpoints de 8M a 15B de parâmetros deixam o comportamento de escala visível.
  • Os mapas de atenção se correlacionam com contatos entre resíduos, embora nenhum termo estrutural apareça na função de perda.
03 / Onde para

Limites

É um codificador. Não gera estruturas, e os logits por resíduo são um substituto ruim para aptidão quando a função depende de mais do que a verossimilhança da sequência.

Pesos e código

Conferido no registro, não de memória
RepositórioTamanhoLicençaObservação
facebook/esm2_t33_650M_UR50D650MMITThe default choice for embeddings
facebook/esm2_t12_35M_UR50D35MMITSmall enough for a laptop
facebook/esm2_t36_3B_UR50D3BMIT
facebook/esm2_t48_15B_UR50D15BMITRarely worth the memory over 3B

Fontes

Cada número acima vem de uma destas

Mesma tarefa, outras respostas

Modelo de linguagem de proteínas