La arquitectura HyenaDNA (Long-Range Genomic Sequence Modeling at Single Nucleotide Resolution) es un modelo fundacional de inteligencia artificial diseñado para analizar secuencias de ADN extremadamente extensas mediante convoluciones implícitas de largo alcance, sin depender de los mecanismos tradicionales de autoatención de los Transformers.
Su principal innovación consiste en combinar la arquitectura Hyena con un sistema de representación del ADN a resolución de un solo nucleótido. Esto permite procesar grandes regiones genómicas sin agrupar necesariamente varias bases en un único token.
HyenaDNA fue presentada el 27 de junio de 2023 por Eric Nguyen, Michael Poli y un equipo internacional de investigadores en el artículo científico HyenaDNA: Long-Range Genomic Sequence Modeling at Single Nucleotide Resolution, publicado posteriormente en NeurIPS 2023.
El modelo fue desarrollado dentro de una línea de investigación sobre arquitecturas eficientes para secuencias largas, con contribuciones de investigadores vinculados a Stanford University y otras instituciones.
Su característica más destacada es la capacidad demostrada de procesar ventanas de contexto de hasta un millón de nucleótidos, manteniendo una representación individual de cada base del ADN.
Este enfoque representa una diferencia importante respecto a numerosos modelos genómicos anteriores basados en Transformers, que utilizaban ventanas de contexto mucho más cortas o tokenizadores que agrupaban varias bases en unidades conocidas como k-mers.
Al utilizar convoluciones largas, HyenaDNA puede incorporar información procedente de regiones genómicas separadas por grandes distancias sin construir matrices cuadráticas de autoatención.
La arquitectura está basada en el operador Hyena, que combina filtros convolucionales parametrizados implícitamente y compuertas dependientes de la entrada.
Durante el preentrenamiento, HyenaDNA aprende patrones estadísticos presentes en secuencias genómicas mediante una tarea de predicción del siguiente nucleótido.
Posteriormente, las representaciones aprendidas pueden adaptarse a tareas especializadas, como clasificación de regiones reguladoras, identificación de promotores y análisis de variantes genéticas.
En los experimentos originales, los investigadores obtuvieron resultados competitivos en diferentes benchmarks genómicos y demostraron ventajas importantes de eficiencia frente a determinadas configuraciones Transformer.
En esta guía exploraremos qué es HyenaDNA, cómo funciona su arquitectura, qué significa resolución de un nucleótido, por qué es importante el contexto de largo alcance en genómica, cuáles son sus diferencias respecto a DNABERT y Nucleotide Transformer, y cómo experimentar con secuencias de ADN mediante Python.
¿Qué es la arquitectura HyenaDNA?
HyenaDNA es un modelo fundacional especializado en secuencias genómicas.
Un modelo fundacional es una red neuronal preentrenada sobre grandes cantidades de datos que puede adaptarse posteriormente a diferentes tareas.
En el caso de HyenaDNA, los datos de preentrenamiento proceden de secuencias de ADN, principalmente del genoma humano de referencia utilizado en el estudio.
El objetivo inicial consiste en aprender regularidades estadísticas de las secuencias genómicas sin necesidad de disponer de etiquetas específicas para cada posición.
Después del preentrenamiento, el modelo puede utilizarse como punto de partida para desarrollar clasificadores o sistemas de análisis genómico.
Su arquitectura se basa en Hyena, una familia de operadores neuronales que utilizan convoluciones de largo alcance y compuertas en lugar de autoatención convencional.
HyenaDNA adapta este mecanismo a una característica fundamental del ADN: la información está representada mediante secuencias muy extensas de símbolos.
Los cuatro nucleótidos principales son:
- A: adenina.
- C: citosina.
- G: guanina.
- T: timina.
También puede utilizarse el símbolo N para representar posiciones con bases desconocidas o no determinadas.
HyenaDNA procesa estas secuencias utilizando un token por nucleótido.
Esta característica permite mantener la resolución necesaria para estudiar variaciones que afectan a una sola base.
Origen y desarrollo de HyenaDNA
El desarrollo de HyenaDNA está relacionado con dos líneas de investigación.
La primera es la aparición de modelos fundacionales para datos biológicos.
La segunda es la búsqueda de arquitecturas capaces de procesar secuencias extremadamente largas.
En procesamiento del lenguaje natural, modelos como BERT y GPT demostraron que el preentrenamiento sobre grandes corpus podía producir representaciones reutilizables.
Los investigadores comenzaron a aplicar ideas similares a secuencias genómicas.
Aparecieron modelos como DNABERT y Nucleotide Transformer.
Estos sistemas utilizaron arquitecturas basadas en Transformers para aprender patrones presentes en el ADN.
Sin embargo, los Transformers convencionales tienen una limitación importante: el coste cuadrático de la autoatención.
Esto dificulta trabajar directamente con ventanas de cientos de miles o millones de nucleótidos.
En febrero de 2023, los investigadores presentaron Hyena, una arquitectura que sustituye la autoatención por convoluciones implícitas de largo alcance.
HyenaDNA surgió como una aplicación especializada de esta arquitectura a datos genómicos.
Su artículo original apareció en junio de 2023 y fue publicado en NeurIPS 2023.
Los investigadores demostraron que los operadores Hyena podían utilizarse para preentrenar modelos genómicos con ventanas de hasta un millón de posiciones.
Además, evaluaron el rendimiento del modelo en tareas de clasificación y adaptación a diferentes conjuntos de datos.
¿Por qué es importante analizar secuencias de ADN largas?
El ADN contiene información biológica distribuida a lo largo de enormes secuencias.
El genoma humano haploide contiene aproximadamente 3.100 millones de pares de bases.
No toda esta información corresponde directamente a regiones codificantes de proteínas.
Existen también regiones reguladoras, secuencias repetitivas, regiones intergénicas y otras estructuras funcionales.
Algunas relaciones biológicas importantes involucran posiciones separadas por miles o incluso más nucleótidos.
Por ejemplo, determinadas regiones reguladoras pueden influir sobre la actividad de genes situados a distancias considerables.
Para comprender estas relaciones, puede resultar útil analizar ventanas genómicas más extensas.
El problema de las ventanas cortas
Un modelo con una ventana de 512 nucleótidos puede estudiar patrones locales.
Sin embargo, no puede observar directamente, dentro de una sola entrada, información situada mucho más allá de esa ventana.
Un modelo con 4.096 posiciones puede incorporar un contexto mayor.
Pero determinadas relaciones biológicas pueden extenderse mucho más.
HyenaDNA fue diseñada para investigar qué ocurre cuando aumentamos significativamente la cantidad de contexto disponible.
Su configuración más extensa permite procesar hasta aproximadamente un millón de nucleótidos dentro de una misma ventana.
Es importante precisar que esto representa capacidad de procesamiento de secuencia, no una garantía de identificar correctamente todas las interacciones biológicas contenidas en ella.
El problema de la autoatención en modelos genómicos
En un Transformer convencional, cada token puede calcular relaciones de atención con todos los demás tokens de la entrada.
Si la secuencia contiene (L) posiciones, la matriz conceptual de atención tiene dimensiones:
[
L\times L
]
Por tanto, el número de pares de atención crece como:
[
O(L^2)
]
Consideremos algunos ejemplos.
| Longitud de secuencia | Pares de atención completa |
|---|---|
| 1.024 nucleótidos | 1.048.576 |
| 4.096 nucleótidos | 16.777.216 |
| 32.768 nucleótidos | 1.073.741.824 |
| 160.000 nucleótidos | 25.600.000.000 |
| 450.000 nucleótidos | 202.500.000.000 |
| 1.000.000 nucleótidos | 1.000.000.000.000 |
Una matriz completa de un millón por un millón contiene un billón de elementos, utilizando la escala larga del español.
Almacenar esa matriz en precisión float32 requeriría aproximadamente cuatro terabytes para una sola matriz de atención.
Esta cifra es ilustrativa: los algoritmos modernos de atención pueden evitar materializarla completamente, pero el coste aritmético de la atención densa continúa siendo relevante.
HyenaDNA propone un mecanismo diferente para procesar estas secuencias.
En lugar de construir relaciones de atención entre todos los pares de nucleótidos, utiliza convoluciones largas calculadas de manera eficiente.
La arquitectura Hyena aplicada al ADN
HyenaDNA utiliza el operador Hyena como componente principal de procesamiento secuencial.
Este operador combina tres mecanismos.
1. Convoluciones largas
Permiten integrar información procedente de posiciones distantes dentro de una secuencia.
2. Filtros implícitos
Los coeficientes convolucionales se generan mediante pequeñas redes neuronales a partir de representaciones posicionales.
3. Compuertas dependientes de la entrada
Permiten modificar las representaciones según el contenido de la secuencia.
La combinación proporciona un mecanismo capaz de modelar patrones locales y de largo alcance.
En HyenaDNA, la entrada es una secuencia de nucleótidos en lugar de una secuencia de palabras.
Cada posición se transforma en una representación vectorial y posteriormente atraviesa bloques Hyena.
El modelo puede aprender dependencias estadísticas entre posiciones genómicas utilizando estas transformaciones.
¿Qué significa Single Nucleotide Resolution?
Single Nucleotide Resolution significa resolución de un solo nucleótido.
Es una de las características más importantes de HyenaDNA.
En determinados modelos genómicos, las secuencias se convierten en tokens mediante agrupaciones de varias bases.
Por ejemplo, podemos utilizar grupos de tres nucleótidos:
ATG | CGA | TTC | GGA
Cada grupo constituye un token compuesto.
Este procedimiento puede reducir la cantidad de tokens necesarios para representar una secuencia.
Sin embargo, también modifica la granularidad de las entradas.
HyenaDNA utiliza representaciones individuales:
A | T | G | C | G | A | T | T | C | G | G | A
De esta manera, cada posición corresponde a una base.
¿Por qué es importante?
Porque una modificación de un solo nucleótido puede tener relevancia biológica.
Por ejemplo, una variante genética puede sustituir una A por una G.
Este cambio puede modificar una región codificante o reguladora.
Mantener resolución individual permite representar esa variación directamente.
Sin embargo, la capacidad de representar una mutación no garantiza que el modelo prediga correctamente su efecto biológico.
Para ello se necesitan entrenamiento especializado, datos adecuados y validación experimental.
HyenaDNA frente a los tokenizadores k-mer
Un k-mer es una secuencia de (k) nucleótidos consecutivos.
Por ejemplo, si:
[
k=3
]
podemos obtener fragmentos como:
ATGTGCGCACAT
Los tokenizadores basados en k-mers pueden utilizar agrupaciones solapadas o no solapadas.
Estos métodos permiten representar patrones locales.
Sin embargo, también introducen decisiones relacionadas con el tamaño de agrupación y el vocabulario.
HyenaDNA utiliza un token por nucleótido.
| Característica | Tokenización k-mer | HyenaDNA |
|---|---|---|
| Unidad básica | Grupo de bases | Nucleótido individual |
| Resolución de entrada | Depende de k y del solapamiento | Una base |
| Tamaño de vocabulario | Depende de la estrategia | Muy pequeño |
| Representación de SNP | Depende del tokenizador | Directa por posición |
| Longitud en tokens | Depende de agrupación | Aproximadamente igual a bases |
| Modelo de dependencias | Depende de arquitectura | Convoluciones Hyena |
Es importante aclarar que utilizar k-mers no elimina necesariamente la información sobre mutaciones individuales.
Su efecto depende de cómo se construyan los tokens.
La principal diferencia es la representación directa y uniforme de las posiciones que utiliza HyenaDNA.
¿Cómo funciona HyenaDNA paso a paso?
El procesamiento puede dividirse en varias etapas.
Paso 1. Obtener la secuencia de ADN
El modelo recibe una secuencia formada por símbolos nucleotídicos.
Por ejemplo:
ATGCGTACCGTTAGCTAGCTAGGCTA
Paso 2. Tokenización
Cada carácter se transforma en un identificador numérico.
Paso 3. Creación de embeddings
Los identificadores se convierten en representaciones vectoriales.
Paso 4. Aplicación de operadores Hyena
Las representaciones atraviesan bloques que combinan convoluciones largas y compuertas.
Paso 5. Integración del contexto
Los filtros permiten mezclar información procedente de diferentes posiciones anteriores.
Paso 6. Generación de representaciones contextualizadas
El modelo produce vectores que contienen información aprendida sobre la secuencia.
Paso 7. Predicción o adaptación
Durante preentrenamiento, se utiliza una tarea autorregresiva.
Durante fine-tuning, pueden añadirse cabezas especializadas de clasificación u otras funciones.
Preentrenamiento autorregresivo de HyenaDNA
HyenaDNA utiliza preentrenamiento mediante predicción del siguiente nucleótido.
Dada una secuencia:
[
x_1,x_2,\ldots,x_L
]
el modelo aprende a estimar:
[
P(x_t\mid x_1,\ldots,x_{t-1})
]
El objetivo consiste en maximizar la probabilidad de los nucleótidos observados dentro de las secuencias utilizadas durante entrenamiento.
De manera equivalente, puede minimizarse la pérdida de entropía cruzada:
-\sum_{t=1}^{L}
\log P(x_t\mid x_{<t})
]
La predicción autorregresiva permite aprender regularidades estadísticas del ADN.
Entre ellas pueden encontrarse motivos frecuentes, patrones locales y relaciones entre regiones.
Sin embargo, aprender a predecir bases no equivale a comprender todos los mecanismos biológicos.
La utilidad de las representaciones debe comprobarse mediante evaluaciones posteriores.
¿Qué datos utiliza HyenaDNA?
El preentrenamiento original de HyenaDNA se basó en el genoma humano de referencia.
El modelo aprende a partir de segmentos extraídos de secuencias genómicas.
Esto permite realizar aprendizaje autosupervisado sin necesitar una etiqueta funcional para cada nucleótido.
Posteriormente, el modelo puede adaptarse a tareas donde sí existen etiquetas.
Por ejemplo, determinar si una región corresponde a un promotor o si pertenece a una categoría reguladora.
La calidad de las representaciones depende de los datos originales.
Es importante recordar que un genoma de referencia no representa toda la diversidad genética humana.
Por tanto, los modelos preentrenados sobre referencias concretas pueden presentar limitaciones cuando se utilizan para analizar variantes o poblaciones diferentes.
También deben considerarse problemas de distribución de datos y diferencias entre especies.
Long Convolution: cómo analiza HyenaDNA regiones distantes
El mecanismo de convolución larga permite que una posición incorpore contribuciones de posiciones anteriores.
En una convolución causal:
[
y_t=
\sum_{\tau=0}^{t}
h_{\tau}x_{t-\tau}
]
Donde:
- (x_t) representa la entrada.
- (h_{\tau}) representa un coeficiente del filtro.
- (y_t) representa la salida.
Si el filtro cubre una distancia extensa, la salida puede incorporar información procedente de posiciones muy alejadas.
HyenaDNA utiliza filtros generados implícitamente.
Esto significa que una red neuronal produce los coeficientes del filtro utilizando representaciones posicionales.
El mecanismo evita necesitar un parámetro independiente por cada posición del filtro.
La combinación de convoluciones y compuertas permite aprender transformaciones dependientes de la secuencia.
Esta estrategia es especialmente relevante cuando trabajamos con regiones genómicas de cientos de miles de nucleótidos.
Complejidad computacional de HyenaDNA
HyenaDNA hereda las propiedades de eficiencia del operador Hyena.
Las convoluciones largas pueden calcularse utilizando la transformada rápida de Fourier.
Para un orden fijo del operador, la complejidad principal se aproxima a:
[
O(L\log L)
]
En comparación, la atención completa presenta:
[
O(L^2)
]
La diferencia es importante cuando (L) es muy grande.
Sin embargo, esta expresión corresponde al mecanismo principal y no al coste total de todas las operaciones del modelo.
El tiempo real depende de factores como:
- Longitud de la secuencia.
- Dimensión de las representaciones.
- Número de capas.
- Tamaño del lote.
- Precisión numérica.
- Hardware utilizado.
- Implementación de los kernels.
Por tanto, el aumento de contexto no implica que cualquier equipo pueda procesar un millón de nucleótidos con facilidad.
¿Cuántos nucleótidos puede procesar HyenaDNA?
Los investigadores publicaron diferentes configuraciones preentrenadas.
| Checkpoint oficial | Longitud de contexto |
|---|---|
hyenadna-tiny-1k-seqlen | 1.024 |
hyenadna-small-32k-seqlen | 32.768 |
hyenadna-medium-160k-seqlen | 160.000 |
hyenadna-medium-450k-seqlen | 450.000 |
hyenadna-large-1m-seqlen | 1.000.000 |
Estas configuraciones muestran que HyenaDNA fue desarrollada para trabajar con diferentes escalas de contexto.
La longitud máxima depende del checkpoint seleccionado.
Un modelo entrenado para 1.024 posiciones no debe considerarse automáticamente equivalente a otro entrenado para un millón.
Además, las diferencias de profundidad, dimensión y entrenamiento pueden afectar a la calidad de las representaciones.
HyenaDNA y los modelos genómicos fundacionales
Los modelos fundacionales para genómica utilizan aprendizaje autosupervisado sobre grandes conjuntos de secuencias biológicas.
Su objetivo consiste en aprender representaciones que puedan adaptarse posteriormente a distintas tareas.
Este enfoque presenta similitudes con los modelos fundacionales del lenguaje natural.
En lugar de aprender relaciones entre palabras, los modelos genómicos aprenden patrones de secuencias de nucleótidos.
Entre las tareas posibles se encuentran la identificación de regiones funcionales, clasificación de secuencias y análisis de variantes.
HyenaDNA destaca por combinar contexto largo y resolución individual.
Estos dos elementos resultan importantes porque muchas funciones biológicas dependen tanto de patrones locales como del entorno genómico.
Sin embargo, la información secuencial no captura por sí sola todos los mecanismos de regulación.
La estructura tridimensional de la cromatina, el tipo celular y las condiciones experimentales también pueden resultar relevantes.
HyenaDNA frente a DNABERT
DNABERT fue uno de los modelos pioneros en la aplicación de arquitecturas BERT a secuencias de ADN.
Su diseño original utiliza representaciones basadas en k-mers y mecanismos de autoatención Transformer.
HyenaDNA utiliza una arquitectura diferente.
| Característica | DNABERT original | HyenaDNA |
|---|---|---|
| Arquitectura principal | BERT Transformer | Hyena |
| Mecanismo de secuencia | Autoatención | Convoluciones largas |
| Representación | K-mers | Nucleótidos individuales |
| Preentrenamiento original | Lenguaje enmascarado | Predicción autorregresiva |
| Contexto característico | Relativamente corto | Hasta un millón de bases |
| Resolución | Depende de k-mer | Una base |
| Ventaja principal | Representaciones basadas en BERT | Contexto largo y eficiencia |
Esta comparación corresponde principalmente a DNABERT original.
Existen versiones posteriores, como DNABERT-2, que modifican la tokenización y otras características.
Por ello, no debe interpretarse que toda la familia DNABERT utiliza exactamente la misma configuración.
HyenaDNA frente a Nucleotide Transformer
Nucleotide Transformer es una familia de modelos fundacionales para datos genómicos basada en arquitecturas Transformer.
Sus modelos fueron desarrollados para aprender representaciones a partir de grandes corpus de secuencias de ADN.
HyenaDNA utiliza un mecanismo convolucional diferente.
| Característica | Nucleotide Transformer | HyenaDNA |
|---|---|---|
| Familia | Transformer | Hyena |
| Atención convencional | Según arquitectura | No como mecanismo principal |
| Representación del ADN | Depende del modelo y tokenizador | Una base por token |
| Preentrenamiento | Principalmente basado en enmascaramiento | Autorregresivo |
| Contexto original | Generalmente más limitado | Hasta 1.000.000 |
| Procesamiento de largo alcance | Limitado por configuración | Convoluciones largas |
| Aplicaciones | Representación y clasificación genómica | Representación y clasificación genómica |
La elección entre ambas familias no debe basarse exclusivamente en la longitud máxima.
También deben evaluarse la calidad de las representaciones, los datos de entrenamiento y los resultados en la tarea concreta.
Un modelo con contexto más corto puede superar a otro con contexto más largo en determinados benchmarks.
Resultados experimentales de HyenaDNA
El artículo publicado en NeurIPS 2023 evaluó HyenaDNA en tareas de modelado genómico, clasificación y aprendizaje en contexto.
Los investigadores destacaron varias contribuciones.
Contexto de hasta un millón de nucleótidos
HyenaDNA demostró la viabilidad de preentrenar modelos genómicos con ventanas extremadamente largas.
El trabajo describió un aumento de hasta 500 veces respecto a determinadas configuraciones anteriores de atención densa utilizadas como referencia.
Eficiencia de entrenamiento
Los experimentos comunicaron aceleraciones de hasta 160 veces respecto a determinadas configuraciones Transformer cuando se utilizaban secuencias de un millón de posiciones.
Esta cifra corresponde a un benchmark experimental específico.
No debe generalizarse a todos los modelos y dispositivos.
GenomicBenchmarks
Los investigadores evaluaron HyenaDNA en ocho conjuntos de clasificación genómica.
Entre ellos se encontraban tareas relacionadas con regiones promotoras, enhancers y regiones reguladoras.
En la evaluación presentada, HyenaDNA obtuvo resultados superiores a las referencias consideradas en siete de ocho conjuntos de datos, con mejoras medias relevantes.
Benchmarks de Nucleotide Transformer
El estudio también comparó HyenaDNA con modelos genómicos fundacionales utilizados como referencia.
El artículo comunicó resultados destacados en doce de dieciocho tareas según una de las evaluaciones documentadas.
Las cifras concretas dependen de la versión del artículo y del protocolo experimental.
In-Context Learning genómico
Los investigadores exploraron una forma de adaptación en contexto utilizando información proporcionada dentro de la entrada, sin modificar necesariamente los pesos del modelo durante esa adaptación.
Esta investigación es importante porque muestra cómo un modelo de secuencias genómicas puede aprovechar contexto adicional.
Sin embargo, no debe confundirse automáticamente con las capacidades conversacionales de los grandes modelos de lenguaje.
¿Qué es In-Context Learning en genómica?
In-Context Learning es un enfoque donde un modelo utiliza información disponible en su entrada para adaptarse a una tarea sin requerir necesariamente una actualización de parámetros.
En lenguaje natural, un ejemplo habitual consiste en proporcionar varios ejemplos de una tarea y solicitar una nueva predicción.
En genómica, el concepto puede estudiarse mediante secuencias que contienen información estructurada útil para resolver un problema.
El trabajo de HyenaDNA investigó esta posibilidad en escenarios específicos.
La idea es que el modelo utilice patrones presentes dentro del contexto para modificar sus predicciones.
Sin embargo, esta capacidad debe evaluarse cuidadosamente.
No significa que el modelo comprenda instrucciones escritas en lenguaje natural ni que pueda resolver cualquier tarea biológica proporcionando unos pocos ejemplos.
Aplicaciones prácticas de HyenaDNA
1. Clasificación de regiones reguladoras
HyenaDNA puede adaptarse para clasificar secuencias relacionadas con funciones de regulación genética.
2. Identificación de promotores
Un modelo ajustado puede utilizarse para distinguir regiones asociadas al inicio de transcripción.
3. Análisis de enhancers
La arquitectura puede servir como base para identificar secuencias relacionadas con la regulación de expresión génica.
4. Evaluación de variantes genéticas
Las representaciones a nivel de nucleótido permiten investigar cambios de una sola base.
Sin embargo, la predicción de efectos funcionales requiere entrenamiento específico y validación adecuada.
5. Análisis de secuencias genómicas largas
La arquitectura permite estudiar regiones extensas sin dividir necesariamente todo el contexto en ventanas cortas.
6. Bioinformática computacional
Puede integrarse en flujos de investigación que combinan procesamiento genómico, clasificación y análisis estadístico.
7. Investigación sobre modelos fundacionales
HyenaDNA constituye una referencia importante para comparar modelos basados en convoluciones con modelos Transformer de genómica.
8. Transfer Learning genómico
Las representaciones preentrenadas pueden utilizarse para adaptar el modelo a tareas posteriores mediante fine-tuning.
Ejemplo práctico: analizar una secuencia de ADN con Python
Antes de utilizar un modelo fundacional, conviene comprender cómo representar y validar secuencias de ADN.
El siguiente programa utiliza Python estándar.
def validate_dna(sequence): allowed = {"A", "C", "G", "T", "N"} sequence = sequence.upper().strip() invalid = set(sequence) - allowed if invalid: raise ValueError( f"Invalid DNA characters: {invalid}" ) return sequencedna = "ATGCGTACCGTTAGCTAGCTAGGCTA"dna = validate_dna(dna)print("DNA:", dna)print("Length:", len(dna))
El programa comprueba que la secuencia contenga únicamente los símbolos permitidos.
El carácter N representa una base desconocida.
Este tipo de validación resulta útil antes de enviar datos a un modelo de procesamiento genómico.
En aplicaciones reales también pueden existir símbolos adicionales de ambigüedad definidos por IUPAC.
La estrategia de normalización debe adaptarse al tokenizador utilizado.
Ejemplo: tokenización por nucleótido
Podemos construir un tokenizador educativo con un token por base.
vocabulary = { "A": 0, "C": 1, "G": 2, "T": 3, "N": 4}def tokenize_dna(sequence): sequence = sequence.upper() return [ vocabulary[base] for base in sequence ]dna = "ATGCGTACGT"tokens = tokenize_dna(dna)print("DNA:", dna)print("Token IDs:", tokens)print("Number of tokens:", len(tokens))
El programa conserva una representación individual para cada nucleótido.
Esto reproduce el principio de resolución utilizado por HyenaDNA.
Sin embargo, los identificadores son definidos únicamente para este ejemplo.
No deben utilizarse directamente para cargar un checkpoint HyenaDNA real, porque el vocabulario, el orden de identificadores y los tokens especiales deben coincidir exactamente con los del modelo preentrenado.
Ejemplo: comparar ADN original con una variante SNP
Uno de los beneficios de trabajar a resolución de nucleótido consiste en poder representar cambios de una sola base.
El siguiente programa compara dos secuencias.
reference = "ATGCGTACGTAGCT"variant = "ATGCGTACATAGCT"def compare_sequences(reference, variant): if len(reference) != len(variant): raise ValueError( "Sequences must have equal length" ) differences = [] for position, (a, b) in enumerate( zip(reference, variant), start=1 ): if a != b: differences.append({ "position": position, "reference": a, "variant": b }) return differenceschanges = compare_sequences( reference, variant)for change in changes: print(change)
El programa identifica las posiciones donde cambia un nucleótido.
Este tipo de comparación puede utilizarse como preparación para experimentos donde un modelo evalúa representaciones de una secuencia de referencia y una variante.
Sin embargo, observar una diferencia de embeddings no permite concluir automáticamente que una variante sea patogénica.
Las predicciones clínicas requieren modelos validados, anotaciones fiables y evaluación especializada.
Ejemplo: calcular el contenido GC con Python
El contenido GC representa la proporción de nucleótidos G y C dentro de una secuencia.
Es una característica descriptiva frecuente en bioinformática.
Podemos calcularlo mediante:
[
GC%=
\frac{G+C}{A+C+G+T}\times100
]
Las posiciones N se excluyen del denominador en este ejemplo.
def gc_content(sequence): sequence = sequence.upper() gc = ( sequence.count("G") + sequence.count("C") ) known_bases = sum( sequence.count(base) for base in "ACGT" ) if known_bases == 0: return 0.0 return 100.0 * gc / known_basesdna = "ATGCGCGTTAACCG"print( f"GC content: {gc_content(dna):.2f}%")
Este procedimiento representa un análisis bioinformático clásico.
HyenaDNA utiliza representaciones aprendidas mucho más complejas que el contenido GC, pero las características tradicionales siguen siendo útiles como referencias de evaluación.
Ejemplo práctico: utilizar HyenaDNA con Python y PyTorch
La implementación oficial de HyenaDNA está disponible en:
Los investigadores publicaron checkpoints preentrenados y una integración específica con Hugging Face.
El repositorio incluye un notebook de Colab para cargar modelos, obtener embeddings y realizar fine-tuning.
Una de las configuraciones publicadas es:
hyenadna-small-32k-seqlen
Esta configuración admite una ventana de aproximadamente 32.768 nucleótidos.
El siguiente ejemplo ilustra el procedimiento utilizado por el repositorio oficial.
Para ejecutarlo, es necesario disponer de las clases HyenaDNAPreTrainedModel y CharacterTokenizer definidas en la implementación oficial, además de sus dependencias.
import torch# Clases proporcionadas por el código oficial# de HyenaDNA:## HyenaDNAPreTrainedModel# CharacterTokenizermodel_name = "hyenadna-small-32k-seqlen"max_length = 32768device = ( "cuda" if torch.cuda.is_available() else "cpu")model = HyenaDNAPreTrainedModel.from_pretrained( "./checkpoints", model_name, download=True, device=device, use_head=False)tokenizer = CharacterTokenizer( characters=["A", "C", "G", "T", "N"], model_max_length=max_length + 2, add_special_tokens=False, padding_side="left")dna = "ATGCGTAC" * 128tokens = tokenizer(dna)["input_ids"]input_ids = torch.tensor( [tokens], dtype=torch.long, device=device)model.eval()with torch.inference_mode(): embeddings = model(input_ids)print("Embeddings shape:", embeddings.shape)
El programa sigue el procedimiento documentado por los autores.
Primero, carga un checkpoint HyenaDNA.
Después, crea el tokenizador utilizado para secuencias genómicas.
Posteriormente, transforma la secuencia en identificadores numéricos y ejecuta el modelo.
El resultado contiene representaciones aprendidas.
Es importante destacar que este código requiere el entorno oficial y no puede ejecutarse copiándolo en una instalación genérica de Transformers sin incorporar las clases necesarias.
Para una primera prueba, el notebook oficial de HyenaDNA constituye el punto de partida recomendado.
Ejemplo práctico: utilizar un checkpoint de un millón de nucleótidos
El repositorio oficial también proporciona una configuración denominada:
hyenadna-large-1m-seqlen
Su longitud máxima documentada es de un millón de posiciones.
Sin embargo, procesar una secuencia de este tamaño requiere recursos considerables.
Los investigadores documentaron que el notebook podía realizar inferencia sobre aproximadamente 450.000 nucleótidos utilizando una GPU T4 de 16 GB en determinadas condiciones.
Para procesar un millón de nucleótidos, recomendaron utilizar una GPU A100.
El entrenamiento del modelo de un millón de posiciones requiere todavía más recursos.
Por tanto, resulta recomendable comenzar con checkpoints pequeños y secuencias cortas.
La capacidad máxima de contexto no debe confundirse con los requisitos mínimos de hardware ni con la cantidad de información que el modelo puede recuperar de forma fiable.
Fine-tuning de HyenaDNA
El fine-tuning consiste en adaptar un modelo preentrenado a una tarea específica.
Por ejemplo, imaginemos que queremos clasificar regiones genómicas en dos categorías:
- Región promotora.
- Región no promotora.
Podemos utilizar un conjunto de secuencias etiquetadas.
Primero, cada secuencia se convierte en tokens.
Después, las representaciones producidas por HyenaDNA se procesan mediante una cabeza de clasificación.
Finalmente, el modelo se entrena para minimizar el error de predicción.
Una función de pérdida habitual para clasificación binaria es:
-\left[
y\log p+
(1-y)\log(1-p)
\right]
]
Donde:
- (y) representa la etiqueta real.
- (p) representa la probabilidad predicha.
Durante fine-tuning puede entrenarse todo el modelo o solamente determinados componentes.
La estrategia depende de la cantidad de datos y de los recursos disponibles.
También es importante diseñar correctamente los conjuntos de entrenamiento, validación y prueba.
En genómica, utilizar particiones aleatorias sin considerar similitud de secuencias o cromosomas puede provocar fugas de información y sobreestimar el rendimiento.
¿Qué son GenomicBenchmarks?
GenomicBenchmarks es un conjunto de tareas de clasificación de secuencias genómicas utilizado para evaluar modelos de aprendizaje profundo.
Incluye diferentes problemas relacionados con regiones funcionales del ADN.
Entre ellos se encuentran tareas sobre promotores, enhancers y otras categorías de secuencias.
HyenaDNA fue evaluada utilizando este benchmark.
Los experimentos originales mostraron un rendimiento competitivo frente a modelos de referencia.
Sin embargo, los resultados de un benchmark deben interpretarse cuidadosamente.
La precisión depende del conjunto de datos, de las particiones y del procedimiento de entrenamiento.
Una mejora en una tarea concreta no garantiza una mejora equivalente en aplicaciones clínicas o biológicas diferentes.
HyenaDNA y la predicción de variantes genéticas
Una aplicación potencial consiste en estudiar cómo cambia la representación aprendida cuando se modifica un nucleótido.
Por ejemplo:
Secuencia original:
ACGTACGTTACG
Secuencia modificada:
ACGTACATTACG
Las dos secuencias difieren en una posición.
Un modelo puede producir representaciones diferentes para ambas entradas.
Estas diferencias pueden utilizarse como características para sistemas posteriores.
Sin embargo, es importante distinguir entre representar una variante y predecir su efecto funcional.
Para determinar si una variante modifica la actividad reguladora o una función biológica, se necesita un modelo entrenado para esa tarea.
Para evaluar patogenicidad, además, hacen falta evidencias clínicas y biológicas adicionales.
HyenaDNA no debe utilizarse por sí sola para establecer diagnósticos médicos ni para determinar la patogenicidad clínica de variantes.
HyenaDNA y las interacciones de largo alcance
Una de las motivaciones principales de HyenaDNA consiste en estudiar dependencias genómicas extensas.
Sin embargo, debemos diferenciar entre relaciones dentro de una secuencia lineal y relaciones físicas entre regiones del ADN.
El genoma posee una estructura tridimensional dentro del núcleo celular.
Dos regiones que se encuentran muy alejadas en la secuencia lineal pueden estar próximas físicamente.
Esta organización puede influir en la regulación génica.
HyenaDNA recibe principalmente información de secuencia.
Por tanto, puede aprender patrones relacionados con dependencias de largo alcance, pero no recibe automáticamente todas las mediciones experimentales de la estructura tridimensional de la cromatina.
Para estudiar determinadas interacciones reguladoras, puede ser útil combinar modelos de secuencia con datos de cromatina, expresión génica y otras modalidades.
Ventajas de HyenaDNA
1. Contexto extremadamente largo
La arquitectura permite trabajar con ventanas de hasta un millón de nucleótidos en determinadas configuraciones.
2. Resolución de un nucleótido
Cada base puede representarse directamente como un token.
3. Complejidad subcuadrática
Las convoluciones Hyena evitan construir matrices completas de atención.
4. Preentrenamiento autosupervisado
El modelo aprende patrones a partir de secuencias genómicas sin requerir etiquetas funcionales para cada posición.
5. Transfer Learning
Las representaciones preentrenadas pueden adaptarse a diferentes tareas de clasificación.
6. Aplicaciones de largo alcance
El contexto extenso facilita investigar relaciones distribuidas en regiones genómicas grandes.
7. Código y checkpoints públicos
Los investigadores publicaron implementaciones y modelos que pueden utilizarse para reproducir experimentos.
Limitaciones de HyenaDNA
HyenaDNA presenta varias limitaciones importantes.
La primera es que procesar un millón de nucleótidos requiere recursos computacionales considerables.
La segunda es que una ventana de contexto larga no garantiza que el modelo pueda identificar correctamente cualquier relación biológica.
Además, el preentrenamiento original utiliza datos genómicos concretos.
Esto puede limitar la generalización a especies, poblaciones o distribuciones diferentes.
Otra limitación es que la secuencia de ADN por sí sola no contiene toda la información necesaria para comprender la regulación génica.
Factores como el tipo celular, la epigenética y las condiciones ambientales pueden resultar importantes.
También existen desafíos relacionados con interpretación.
Las representaciones producidas por redes neuronales no siempre permiten identificar directamente qué patrones biológicos fundamentan una predicción.
Finalmente, los resultados de clasificación deben validarse cuidadosamente antes de utilizarse en investigaciones de alto impacto o aplicaciones clínicas.
HyenaDNA frente a los modelos de lenguaje tradicionales
Aunque HyenaDNA pertenece a la categoría de modelos fundacionales, su objetivo es diferente del de un chatbot.
Un modelo de lenguaje conversacional se entrena para procesar texto y generar respuestas.
HyenaDNA se preentrena para modelar secuencias genómicas.
La similitud está en la utilización de aprendizaje autosupervisado sobre secuencias.
La diferencia está en la naturaleza de los datos y las aplicaciones.
HyenaDNA no está diseñado para mantener conversaciones, interpretar preguntas generales o ejecutar herramientas.
Su principal utilidad consiste en producir representaciones y predicciones sobre secuencias de ADN.
Por ello, debe evaluarse con benchmarks bioinformáticos y no mediante criterios habituales de asistentes conversacionales.
HyenaDNA y la inteligencia artificial aplicada a biología
HyenaDNA forma parte de una tendencia más amplia de aplicación de modelos fundacionales a la biología computacional.
La inteligencia artificial puede utilizarse para estudiar ADN, ARN, proteínas y otros datos biomoleculares.
Cada modalidad presenta desafíos particulares.
En secuencias genómicas, uno de los problemas más importantes es la longitud.
En proteínas, también resulta fundamental comprender interacciones estructurales y funcionales.
En expresión génica, las mediciones pueden depender del tipo celular y del estado biológico.
HyenaDNA demuestra cómo una arquitectura diseñada inicialmente para modelado de secuencias puede adaptarse a problemas genómicos.
Su relevancia no consiste solamente en procesar entradas más largas.
También muestra que las decisiones arquitectónicas pueden abrir nuevas posibilidades de investigación en dominios científicos donde la estructura de los datos difiere del lenguaje natural.
Importancia de HyenaDNA en la evolución de los modelos fundacionales
La principal contribución de HyenaDNA consiste en combinar dos propiedades que resultaban difíciles de obtener simultáneamente en numerosos modelos genómicos anteriores.
La primera es una ventana de contexto extremadamente larga.
La segunda es una representación a resolución de un nucleótido.
Las convoluciones Hyena permiten procesar secuencias largas de manera eficiente.
La tokenización por carácter conserva la granularidad necesaria para representar cambios individuales.
El preentrenamiento autorregresivo permite aprender representaciones a partir de secuencias de ADN sin etiquetas específicas para cada posición.
Los resultados originales mostraron que este enfoque podía alcanzar un rendimiento competitivo en diferentes tareas de clasificación.
Además, la arquitectura abrió nuevas posibilidades para estudiar contexto largo e in-context learning en genómica.
Para los investigadores, HyenaDNA constituye una referencia importante en la transición desde modelos genómicos Transformer de contexto limitado hacia modelos capaces de procesar regiones mucho más extensas.
Preguntas frecuentes sobre HyenaDNA
¿Qué es HyenaDNA?
HyenaDNA es un modelo fundacional de inteligencia artificial diseñado para analizar secuencias genómicas largas mediante convoluciones implícitas y representaciones a nivel de nucleótido.
¿Quién desarrolló HyenaDNA?
Fue desarrollado por Eric Nguyen, Michael Poli y un equipo de investigadores que incluye a Stefano Massaroli, Yoshua Bengio, Stefano Ermon, Stephen Baccus y Christopher Ré, entre otros.
¿Cuándo apareció HyenaDNA?
El artículo original apareció el 27 de junio de 2023 y fue publicado posteriormente en NeurIPS 2023.
¿Qué significa Single Nucleotide Resolution?
Significa que cada nucleótido individual se representa como una unidad de entrada del modelo.
¿HyenaDNA utiliza Transformers?
Utiliza una arquitectura basada en Hyena, que sustituye la autoatención convencional por convoluciones largas y compuertas.
¿Cuántos nucleótidos puede procesar HyenaDNA?
La configuración más extensa publicada admite una ventana de aproximadamente un millón de nucleótidos.
¿HyenaDNA utiliza atención softmax?
No como mecanismo principal. Utiliza convoluciones implícitas de largo alcance.
¿Qué es un modelo fundacional genómico?
Es un modelo preentrenado sobre grandes cantidades de secuencias biológicas que puede adaptarse posteriormente a tareas especializadas.
¿Cómo se entrena HyenaDNA?
El modelo original utiliza aprendizaje autorregresivo mediante predicción del siguiente nucleótido.
¿Qué es un k-mer?
Es una secuencia formada por k nucleótidos consecutivos.
¿Cuál es la diferencia entre HyenaDNA y DNABERT?
DNABERT original utiliza una arquitectura BERT y tokenización basada en k-mers. HyenaDNA utiliza convoluciones Hyena y una representación por nucleótido.
¿Qué diferencia existe entre HyenaDNA y Nucleotide Transformer?
Nucleotide Transformer utiliza arquitecturas basadas en Transformers. HyenaDNA utiliza convoluciones largas y fue diseñada para trabajar con ventanas de contexto mucho mayores.
¿Qué es HyenaDNA-1M?
Es una configuración de HyenaDNA preparada para procesar secuencias de hasta aproximadamente un millón de nucleótidos.
¿HyenaDNA necesita una GPU?
Los modelos pequeños pueden explorarse en diferentes entornos, pero las configuraciones de contexto largo requieren recursos considerables. La ejecución de un millón de nucleótidos se ha documentado utilizando GPU de alta capacidad.
¿HyenaDNA puede predecir enfermedades genéticas?
No de forma general ni clínicamente validada por sí sola. Las aplicaciones de predicción de efectos de variantes requieren modelos especializados y validación independiente.
¿HyenaDNA puede identificar promotores?
Puede adaptarse mediante fine-tuning a tareas de clasificación de regiones promotoras.
¿HyenaDNA puede utilizarse con Python?
Sí. Los investigadores publicaron código basado en PyTorch, checkpoints y notebooks de ejemplo.
¿HyenaDNA está disponible en Hugging Face?
Sí. Existen checkpoints publicados por los investigadores y representaciones compatibles mantenidas por otros proyectos.
¿Por qué es importante estudiar HyenaDNA?
Porque demuestra cómo los modelos fundacionales pueden utilizar convoluciones eficientes para procesar secuencias biológicas extremadamente largas sin perder la resolución individual de sus unidades básicas.
Conclusión
La arquitectura HyenaDNA representa una contribución importante a la investigación sobre inteligencia artificial aplicada a genómica.
Su principal innovación consiste en utilizar convoluciones implícitas de largo alcance para procesar secuencias de ADN de hasta un millón de nucleótidos, conservando una representación individual de cada base.
Esta combinación aborda dos limitaciones relevantes de determinados modelos genómicos anteriores: el coste de la autoatención para contextos extensos y la pérdida de granularidad asociada con algunas estrategias de tokenización.
HyenaDNA utiliza preentrenamiento autosupervisado para aprender patrones estadísticos presentes en el ADN.
Posteriormente, sus representaciones pueden adaptarse a tareas de clasificación y análisis genómico.
Los resultados publicados en NeurIPS 2023 demostraron que las convoluciones largas podían proporcionar ventajas importantes de eficiencia y resultados competitivos en diferentes benchmarks.
Sin embargo, la capacidad de procesar secuencias extensas no garantiza comprender todas sus relaciones biológicas.
La utilidad de HyenaDNA depende de su entrenamiento, de los datos utilizados y de la validación posterior.
Para estudiantes, investigadores y desarrolladores de inteligencia artificial, HyenaDNA ofrece una lección fundamental:
Los modelos fundacionales no tienen por qué limitarse al lenguaje natural: una arquitectura eficiente de procesamiento de secuencias puede aprender representaciones útiles de información biológica y ampliar considerablemente el contexto disponible para la investigación genómica.
Comprender HyenaDNA permite profundizar en los fundamentos de modelos genómicos, aprendizaje autosupervisado, convoluciones largas, tokenización de nucleótidos y aplicaciones de inteligencia artificial en bioinformática.
Referencias y fuentes oficiales
- Nguyen, E. et al. (2023). HyenaDNA: Long-Range Genomic Sequence Modeling at Single Nucleotide Resolution. Advances in Neural Information Processing Systems 36 (NeurIPS 2023). https://proceedings.nips.cc/paper_files/paper/2023/hash/86ab6927ee4ae9bde4247793c46797c7-Abstract-Conference.html
- Nguyen, E. et al. (2023). HyenaDNA: Long-Range Genomic Sequence Modeling at Single Nucleotide Resolution. arXiv. https://arxiv.org/abs/2306.15794
- Hazy Research. HyenaDNA — Repositorio oficial. https://github.com/HazyResearch/hyena-dna
- Hazy Research. HyenaDNA — Implementación con Hugging Face. https://github.com/HazyResearch/hyena-dna/blob/main/huggingface.py
- Hazy Research. HyenaDNA — Publicación técnica. https://hazyresearch.stanford.edu/blog/2023-06-29-hyena-dna
- LongSafari. HyenaDNA Tiny — Checkpoint preentrenado. https://huggingface.co/LongSafari/hyenadna-tiny-1k-seqlen
- LongSafari. HyenaDNA Small — Checkpoint de 32K. https://huggingface.co/LongSafari/hyenadna-small-32k-seqlen
- LongSafari. HyenaDNA Large — Checkpoint de 1 millón. https://huggingface.co/LongSafari/hyenadna-large-1m-seqlen
- Poli, M. et al. (2023). Hyena Hierarchy: Towards Larger Convolutional Language Models. https://arxiv.org/abs/2302.10866
- Ji, Y. et al. (2021). DNABERT: Pre-trained Bidirectional Encoder Representations from Transformers Model for DNA-Language in Genome. https://academic.oup.com/bioinformatics/article/37/15/2112/6128680
- Dalla-Torre, H. et al. (2023). The Nucleotide Transformer: Building and Evaluating Robust Foundation Models for Human Genomics. https://www.biorxiv.org/content/10.1101/2023.01.11.523679v1
