F11 Siguiente pregunta — Las limitaciones de los modelos que solo conocen la secuencia
En F11 vimos que ESM-2 aprende restricciones evolutivas observando únicamente la secuencia. Sin embargo, es evidente que conocer solo la secuencia no basta para comprender las proteínas reales. Dos proteínas pueden tener secuencias completamente distintas pero estructuras casi idénticas (evolución convergente), y pueden tener estructuras similares pero funciones totalmente diferentes. F06 con ESMFold abordó solo una dirección: "secuencia → estructura", y las puntuaciones zero-shot de F11 se movieron únicamente dentro de la probabilidad de la secuencia. ¿Cómo debe ser un modelo que pueda navegar libremente entre los tres tipos de información: secuencia, estructura y función?
ESM3 (EvolutionaryScale, 2024; Science 2025) agrupó estas tres vías en un único modelo generativo integrado. Las condiciones de uso no consisten en que "todo ESM3 tenga una sola licencia", sino que se deben verificar el código, los puntos de control públicos, la API alojada y el tamaño del modelo por separado. No se anotan las condiciones no comerciales de un momento específico como reglas permanentes para toda la familia; en su lugar, se verifica la LICENSE y los términos de servicio de cada artefacto que se vaya a utilizar.
Principio — Unificar diferentes modalidades en el mismo espacio de tokens
Unificar las tres vías mediante tokens discretos
ESM-2 manejaba un alfabeto discreto de aminoácidos (20 tipos + tokens especiales). La idea de ESM3 es convertir la estructura y la función también en alfabetos de tokens discretos, para tratarlas con el mismo formato que la secuencia.
La tokenización de la estructura se realiza aproximadamente así. Se agrupan las formas locales del backbone tridimensional (patrones de coordenados de segmentos cortos) en formas representativas mediante cuantización (quantize), y se asigna a cada posición de residuo un token entero que indica "a qué cluster pertenece la estructura local de esta posición". De manera similar, los tokens de función se codifican como un conjunto de tokens discretos a partir de sistemas de anotación funcional como Gene Ontology. De este modo, secuencia, estructura y función se expresan todas bajo el mismo tipo de dato: "secuencia de tokens", lo que permite que un único Transformer procese las tres simultáneamente como entrada y salida.
Generación condicional: qué vía produce qué resultado según la entrada
Una vez unificado el espacio de tokens, se puede aplicar la predicción enmascarada descrita en F06 también entre vías.
Por ejemplo, se puede expresar mediante un modelo que formule preguntas como «¿cuál es la secuencia de una proteína con esta estructura?» o «creemos nuevas secuencias y estructuras con esta función». Los autores reportaron casos en los que generaron condicionalmente proteínas fluorescentes, las sintetizaron y expresaron, y validaron experimentalmente su fluorescencia. Esto constituye evidencia de que la condicionamiento funcional es posible, pero no implica que se garantice una alta tasa de éxito en el laboratorio (wet-lab) para funciones arbitrarias.
Ejemplo de cálculo manual: ¿cuánta información comprime la tokenización discreta?
Almacenar una única coordenada tridimensional con tres números de punto flotante de 32 bits requiere bits. Si se convierte esto en un token entero que apunta a uno de los clústeres estructurales, el número de bits necesarios es
De bits a bits, la relación de compresión es veces. Por supuesto, esta compresión es con pérdida (lossy compression), ya que se aproximan las coordenadas continuas a la forma representativa más cercana entre un conjunto finito, lo que implica la pérdida de algunos detalles. Sin embargo, esta pérdida puede resultar útil: al representar la estructura en un formato de tokens discretos adecuado para los Transformers, es posible generar y condicionar estructuras mediante el mismo mecanismo utilizado para generar secuencias (predicción del siguiente token, predicción con máscara).
Práctica: consulta condicional de secuencias estructurales con la API de ESM3 (práctica conceptual)
# Ejemplo conceptual consciente de la posibilidad de cambios en la API y versiones del SDK.# Antes de ejecutar, verifique la fábrica de clientes actual y el ID del modelo en el README oficial de ESM3 de Biohub.
# Los comandos de instalación utilizan la revisión fija actual del README oficial de ESM3 de Biohub.from esm.sdk import clientfrom esm.sdk.api import ESMProtein, GenerationConfig
# forge.evolutionaryscale.ai se ha trasladado a biohub.ai.model = client(model="esm3-open", url="https://biohub.ai", token="YOUR_API_TOKEN")
# Dada solo la estructura, solicite la generación de una secuencia que coincida con esa estructuraprotein = ESMProtein(coordinates=my_backbone_coordinates) # Coordenadas del esqueleto preparadas previamentegenerated = model.generate( protein, GenerationConfig(track="sequence", num_steps=8))
print(generated.sequence)La firma exacta de la API y el alcance del acceso gratuito (pesos abiertos frente a API exclusiva) deben verificarse directamente en su estado más reciente en el repositorio oficial y los términos de servicio.
Mapeo CS
- Tokenización multimodal: Unificar tipos de datos distintos (coordenadas continuas, secuencias discretas, esquemas de anotación) en un único espacio de tokens discretos es conceptualmente similar a cómo los modelos de visión-lenguaje tokenizan parches de imagen mediante cuantización de vectores (VQ-VAE, etc.) para tratarlos junto con los tokens de texto.
- Cuantización de vectores: Aproximar valores de un espacio continuo a valores representativos de un codebook finito es una técnica clásica de compresión con pérdida y clustering; aquí se aplica para discretizar la información estructural.
- Modelo generativo condicional: Fijar una pista como condición y muestrear otras pistas corresponde al mismo marco de generación condicional en el que los modelos de generación de texto-imagen utilizan un prompt de texto como condición para muestrear imágenes.
Defectos frecuentes
- Juzgar toda una familia por un solo nombre de licencia: La licencia del código, la licencia de los pesos del modelo y los acuerdos de la API alojada pueden diferir. Es necesario verificar el ID exacto del modelo y las condiciones según cada método de distribución.
- Ignorar la pérdida en la tokenización estructural: La cuantización de vectores es fundamentalmente una compresión con pérdida. En aplicaciones donde las diferencias estructurales finas son críticas (por ejemplo, la forma precisa de un sitio activo), se debe tener en cuenta que este error de cuantización puede afectar los resultados.
- Ir directamente a la experimentación sin validar los resultados generados: Las secuencias y estructuras creadas por el modelo generativo son solo hipótesis. Como se tratará en F15, pasar directamente a la etapa de síntesis experimental sin una validación de autoconsistencia (como verificar el replegamiento con modelos tipo AlphaFold) es peligroso.
Para profundizar
El texto ha sido reconstruido directamente por el equipo de investigación de BPD. Profundice con el artículo original y los recursos oficiales.
- Artículo original de ESM3: Hayes et al. (2025), Simulating 500 million years of evolution with a language model, Science, DOI
10.1126/science.ads0018. - Repositorio oficial de ESM3 y licencia:
github.com/evolutionaryscale/esm— Condiciones originales más recientes para uso comercial/no comercial. - Antecedentes de la cuantización de vectores: van den Oord et al. (2017), Neural Discrete Representation Learning(VQ-VAE), NeurIPS.
En el siguiente capítulo F13, pasamos a ProtT5 y ProGen2, que generan secuencias de proteínas desde cero.