Volver a la lista

HyenaDNA · Enformer: Superando el segundo cuello de botella de la atención para procesar secuencias de 100 000 pares de bases.

Compara HyenaDNA, que supera la limitación de la complejidad cuadrática del mecanismo de atención para procesar secuencias de más de 100 000 pares de bases, con Enformer, que predice las regiones reguladoras mediante una arquitectura CNN-Transformer.

Avanzado
|
25min
|
Verificado (2026-07-29)
HyenaDNAEnformerenhancer predictionlong-range regulation
Progreso0/120 (0%)

F16~F17: El desafío pendiente — La barrera de la longitud

Tanto DNABERT de F16 como Nucleotide Transformer de F17 utilizan autoatención basada en transformadores. Sin embargo, la autoatención tiene una limitación fundamental: su costo computacional y de memoria es O(n2)O(n^2) con respecto a la longitud de la secuencia nn. Las interacciones entre potenciadores y promotores en el genoma humano suelen ocurrir entre regiones separadas por decenas de miles o cientos de miles de pares de bases, lo cual resulta difícil de manejar para los transformadores convencionales. En F18, examinaremos juntos dos modelos que superan esta barrera de la longitud mediante enfoques diferentes: HyenaDNA y Enformer.

Principio — Dos soluciones distintas: convolución larga e híbrido CNN-Transformer

¿Por qué la atención falla con secuencias largas?

Verifiquemos manualmente el costo computacional de la autoatención. Al calcular las puntuaciones de atención para todos los pares de tokens en una secuencia de nn tokens,

Cantidad de operacionesn2\text{Cantidad de operaciones} \propto n^2

Si n=1,000n=1{,}000, se realizan 10610^6 operaciones por par; pero si n=100,000n=100{,}000 (100 mil pb), la cantidad de operaciones aumenta en un factor de

(100,0001,000)2=1002=10,000 veces\left(\frac{100{,}000}{1{,}000}\right)^2 = 100^2 = 10{,}000\text{ veces}

Esta es la razón por la que los modelos tratados en F16 y F17 suelen limitarse a contextos del orden de miles de pb debido a este cuello de botella cuadrático.

HyenaDNA — Buscando una complejidad subcuadrática mediante convolución larga

HyenaDNA (2023, Stanford) utiliza una estructura que calcula convoluciones largas implícitamente parametrizadas con una complejidad temporal subcuadrática, en lugar de autoatención. Hyena es un operador de convolución larga, no un SSM en sí mismo. Aunque ambas familias buscan reducir el costo cuadrático de la atención, no se deben intercambiar sus nombres estructurales.

Attention:O(n2)HyenaDNA:Convolucioˊn larga orientada a operaciones subcuadraˊticas\text{Attention}: O(n^2) \quad \longrightarrow \quad \text{HyenaDNA}: \text{Convolución larga orientada a operaciones subcuadráticas}

Gracias a esta estructura, se ha informado que HyenaDNA fue preentrenado con un contexto de hasta 1 millón de tokens a resolución de nucleótido individual. El tiempo real de procesamiento y el uso de memoria dependen de la implementación, el hardware y el tamaño del modelo, por lo que no se debe interpretar esta longitud como algo "ejecutable directamente en una GPU gratuita".

Enformer — Capturando relaciones a larga distancia con un Transformer tras comprimir con una torre CNN

Enformer (2021, DeepMind) se desarrolló antes que HyenaDNA y utiliza un enfoque diferente. El núcleo de este modelo no es la convolución expandida, sino una estructura híbrida que comprime la secuencia de entrada en representaciones más cortas mediante una estructura convolucional (stem) y una torre convolucional, para luego aplicar bloques Transformer a dichas representaciones.

196,608 pb de entrada÷128 pb/celda=1,536 posiciones comprimidas (caˊlculo conceptual)196{,}608\text{ pb de entrada} \div 128\text{ pb/celda} = 1{,}536\text{ posiciones comprimidas (cálculo conceptual)}

Enformer toma una entrada de 196.608 pb y predice las características genómicas funcionales en humanos y ratones. Como se muestra en el cálculo anterior, convierte la entrada a resolución de pares de bases en una representación de posiciones más gruesa antes de aplicar la atención; esto permite integrar el contexto de largo alcance evitando el costo de calcular la atención directamente entre todos los pares de bases.

Ejemplo de cálculo manual: número de posiciones restantes para la atención tras la compresión

Si reducimos la entrada de 196.608 pb a una representación en unidades de 128 pb, el número de posiciones que el Transformer debe procesar es

196,608/128=1,536196{,}608 / 128 = 1{,}536

Si se hubiera aplicado la atención a todos los pares de bases originales, las comparaciones serían

196,60823.87×1010196{,}608^2 \approx 3.87 \times 10^{10}

mientras que la atención sobre las 1.536 posiciones comprimidas corresponde a

1,5362=2,359,2961{,}536^2 = 2{,}359{,}296

pares. Aunque los cálculos internos reales de Enformer son más complejos que este cálculo simplificado, esta comparación ilustra la ventaja del diseño de "comprimir primero y luego observar las relaciones de largo alcance".

Práctica: verificar las señales de las regiones reguladoras mediante las incrustaciones preentrenadas de Enformer

python
# Ejecutar la entrada completa de 200kbp en Colab T4 puede ser difícil por memoria.
# Aquí solo verificamos el concepto con un segmento corto. Para escalas reales, consulte las especificaciones recomendadas de GPU del repositorio oficial.
import torch
def make_dna_onehot(seq: str) -> torch.Tensor:
\"\"\"Convierte la secuencia de ADN a codificación one-hot de 4 canales A/C/G/T (formato de entrada tipo Enformer).\"\"\"
mapping = {"A": 0, "C": 1, "G": 2, "T": 3}
onehot = torch.zeros(len(seq), 4)
for i, base in enumerate(seq.upper()):
if base in mapping:
onehot[i, mapping[base]] = 1.0
return onehot
sample_seq = "ACGTACGTGGCCTTAAACGTACGTGGCC"
x = make_dna_onehot(sample_seq)
print(f\"Forma del tensor de entrada: {x.shape}\") # (longitud de secuencia, 4)
# La inferencia real de Enformer debe seguir estrictamente el procedimiento de preprocesamiento y carga del modelo del repositorio oficial (TensorFlow Hub o port de HuggingFace).
# Aquí solo se ha reproducido el formato de entrada.

Mapeo de CS

  • Cuello de botella O(n2)O(n^2) y compresión: La idea de sortear la complejidad cuadrática del autoatención mediante convoluciones largas o representaciones latentes previamente comprimidas es un patrón de optimización típico en el diseño de algoritmos, que consiste en transformar un problema de fuerza bruta O(n2)O(n^2) en uno más pequeño.
  • Intercambio entre resolución de representación y campo receptivo: La torre convolucional de Enformer transmite un amplio contexto de entrada al Transformer a cambio de reducir la resolución espacial. Este intercambio es análogo al uso de pirámides de características en visión artificial.
  • Arquitectura híbrida: Al igual que Enformer combina convoluciones y atención, el diseño que no depende de un único tipo de operación, sino que combina las ventajas de diferentes operaciones, sigue la misma lógica del diseño de sistemas híbridos en la arquitectura de software.

Defectos frecuentes

  • Confundir un contexto largo con predicciones siempre mejores: Ampliar la ventana de contexto no implica que toda la información irrelevante se vuelva útil. Es necesario validar biológicamente si las señales reguladoras reales están presentes a esa distancia.
  • Confundir HyenaDNA y Enformer para la misma tarea: HyenaDNA está especializado en el modelado general del lenguaje de secuencias, mientras que Enformer está especializado en una tarea de regresión específica: la predicción de la expresión génica en tejidos concretos. Se debe elegir el modelo adecuado según el propósito.

Para profundizar más

El texto ha sido reconstruido directamente por el equipo de investigación de BPD. Profundice consultando los artículos originales y los materiales oficiales.

  • Artículo original de HyenaDNA: Nguyen et al. (2023), HyenaDNA: Long-Range Genomic Sequence Modeling at Single Nucleotide Resolution, NeurIPS.
  • Artículo original de Enformer: Avsec et al. (2021), Effective gene expression prediction from sequence by integrating long-range interactions, Nature Methods 18.
  • Artículo de referencia sobre el operador Hyena: Poli et al. (2023), Hyena Hierarchy: Towards Larger Convolutional Language Models, ICML.

Tras abordar el problema de la longitud, en el siguiente capítulo (F19) examinaremos cómo Evo 1 y Evo 2, que llevan el concepto de contexto largo a sus extremos, manejan un contexto de 1 millón de pares de bases.

💬 Preguntas y comentarios

0 comentarios

Puedes publicar sin iniciar sesión. Los comentarios de invitados no pueden editarse ni eliminarse después.

0/2000

Cargando...