Visibilidad IA

Arquitectura DNABERT-2: BPE, ALiBi y genómica multiespecie

La arquitectura DNABERT-2 (Efficient Foundation Model and Benchmark for Multi-Species Genome) es un modelo fundacional de inteligencia artificial diseñado para analizar secuencias de ADN mediante Transformers bidireccionales, tokenización Byte Pair Encoding (BPE) y mecanismos eficientes de representación posicional.

Su principal innovación consiste en mejorar la arquitectura DNABERT original mediante una tokenización adaptativa que evita algunas de las limitaciones de los k-mers superpuestos, incorpora Attention with Linear Biases (ALiBi) y aprovecha el preentrenamiento sobre secuencias genómicas de múltiples especies.

DNABERT-2 fue presentada el 26 de junio de 2023 por Zhihan Zhou, Yanrong Ji, Weijian Li, Pratik Dutta, Ramana Davuluri y Han Liu en el artículo científico DNABERT-2: Efficient Foundation Model and Benchmark For Multi-Species Genome, publicado posteriormente en la conferencia ICLR 2024.

La arquitectura fue desarrollada para resolver dos problemas importantes de los modelos fundacionales genómicos.

El primero era la ineficiencia de la tokenización basada en k-mers superpuestos utilizada por DNABERT original.

El segundo era la necesidad de disponer de modelos capaces de aprender patrones biológicos transferibles entre distintas especies, en lugar de depender exclusivamente de secuencias procedentes del genoma humano.

DNABERT-2 utiliza un vocabulario aprendido estadísticamente y un encoder Transformer optimizado para transformar secuencias de ADN en representaciones vectoriales.

Su checkpoint oficial más conocido contiene aproximadamente 117 millones de parámetros y está disponible públicamente mediante Hugging Face.

Además, los investigadores introdujeron Genome Understanding Evaluation (GUE), un benchmark diseñado para comparar modelos fundacionales genómicos mediante tareas de clasificación de secuencias.

Los resultados originales mostraron que DNABERT-2 podía alcanzar un rendimiento competitivo frente a modelos de referencia considerablemente mayores, utilizando menos parámetros y recursos de preentrenamiento.

En esta guía explicaremos cómo funciona DNABERT-2, por qué BPE resulta útil para representar ADN, cómo ALiBi introduce información posicional, qué ventajas proporciona el entrenamiento multiespecie y cuáles son las principales diferencias respecto a DNABERT, HyenaDNA y Nucleotide Transformer.

También incluiremos implementaciones prácticas en Python, ejemplos de embeddings genómicos, estrategias de fine-tuning, preguntas frecuentes y metadatos SEO preparados para WordPress.


¿Qué es la arquitectura DNABERT-2?

DNABERT-2 es un encoder Transformer bidireccional preentrenado para aprender representaciones de secuencias genómicas.

Pertenece a la familia de los modelos fundacionales especializados en ADN.

Un modelo fundacional se entrena inicialmente sobre grandes cantidades de datos mediante una tarea general.

Posteriormente, puede adaptarse a diferentes problemas utilizando conjuntos de datos más pequeños y especializados.

En el caso de DNABERT-2, el modelo aprende regularidades estadísticas presentes en secuencias de nucleótidos.

Estas regularidades pueden resultar útiles para identificar patrones asociados con regiones promotoras, sitios de unión de factores de transcripción, elementos reguladores y otras características genómicas.

La arquitectura conserva el principio fundamental de BERT: utilizar información contextual procedente de ambos lados de cada token.

Sin embargo, introduce modificaciones importantes en la representación de las secuencias y la eficiencia del procesamiento.

Sus tres características más relevantes son:

  • Byte Pair Encoding (BPE): convierte secuencias de ADN en tokens de longitud variable aprendidos a partir de los datos.
  • Attention with Linear Biases (ALiBi): incorpora información sobre distancia entre posiciones mediante sesgos en las puntuaciones de atención.
  • Preentrenamiento multiespecie: utiliza secuencias genómicas de numerosos organismos para aprender patrones potencialmente transferibles.

Estas innovaciones permiten mejorar la eficiencia y ampliar el alcance del preentrenamiento respecto a DNABERT original.

Origen y desarrollo de DNABERT-2

DNABERT original fue publicada en 2021 como una adaptación de BERT al análisis del ADN.

Su diseño utilizaba k-mers superpuestos para convertir secuencias genómicas en tokens.

Por ejemplo, una secuencia de ADN podía dividirse en fragmentos consecutivos de seis nucleótidos.

Estos fragmentos se procesaban mediante un encoder Transformer bidireccional.

La estrategia demostró que el preentrenamiento autosupervisado podía producir representaciones útiles para tareas de genómica funcional.

Sin embargo, también presentaba limitaciones.

Los k-mers superpuestos generan un número de tokens similar al número de posiciones originales.

Además, los tokens consecutivos contienen información redundante.

Esta redundancia incrementa el coste computacional sin aportar necesariamente una cantidad equivalente de información nueva.

Los investigadores de DNABERT-2 propusieron sustituir este procedimiento por Byte Pair Encoding.

También incorporaron ALiBi para representar información posicional y optimizaciones adicionales del encoder.

El modelo fue preentrenado con datos genómicos de numerosas especies, ampliando el contexto biológico disponible durante el aprendizaje.

La investigación fue presentada en 2023 y publicada en ICLR 2024.

Su contribución incluyó tanto un modelo fundacional como un sistema de evaluación denominado Genome Understanding Evaluation.

¿Por qué es difícil representar ADN mediante tokens?

Una secuencia de ADN contiene principalmente cuatro símbolos:

  • A: adenina.
  • C: citosina.
  • G: guanina.
  • T: timina.

También pueden aparecer símbolos de ambigüedad, como N, dependiendo de los datos.

Aunque el alfabeto es pequeño, las secuencias genómicas pueden contener millones de posiciones.

Esta característica plantea un problema de representación.

Un modelo puede procesar cada nucleótido individualmente.

Sin embargo, esto produce secuencias muy largas en términos de tokens.

Otra posibilidad consiste en agrupar varios nucleótidos.

Esta estrategia reduce potencialmente la longitud de entrada, pero introduce decisiones relacionadas con el tamaño de los fragmentos.

DNABERT original utilizaba k-mers superpuestos.

DNABERT-2 utiliza una tokenización aprendida basada en la frecuencia de patrones.

El objetivo es encontrar una representación más eficiente sin limitarse a una longitud fija de fragmento.

El problema de los k-mers superpuestos

Un k-mer es una secuencia de (k) nucleótidos consecutivos.

Supongamos que tenemos:

ATGCGTACGTAG

Si utilizamos k-mers superpuestos de longitud seis:

ATGCGT TGCGTA GCGTAC CGTACG GTACGT TACGTA ACGTAG

Una secuencia de 12 nucleótidos produce siete tokens.

En general:

[
N_{\text{tokens}}=L-k+1
]

Donde:

  • (L) representa la longitud original.
  • (k) representa el tamaño del k-mer.

Para una secuencia de 1.000 nucleótidos y (k=6):

[
N_{\text{tokens}}=995
]

Esto significa que la representación apenas reduce la cantidad de posiciones que el Transformer debe procesar.

Además, dos tokens consecutivos comparten cinco de sus seis nucleótidos.

Existe una redundancia considerable.

Como el coste de la autoatención completa depende cuadráticamente del número de tokens, reducir la cantidad de posiciones puede producir mejoras importantes.

DNABERT-2 aborda esta limitación mediante BPE.

¿Qué es Byte Pair Encoding?

Byte Pair Encoding (BPE) es un algoritmo de tokenización que construye un vocabulario combinando progresivamente pares frecuentes de símbolos o unidades existentes.

Aunque se desarrolló originalmente como una técnica de compresión, se utiliza ampliamente en procesamiento del lenguaje natural.

La idea es sencilla.

En lugar de definir manualmente la longitud de cada token, el algoritmo analiza los datos y aprende qué combinaciones aparecen con frecuencia.

En el contexto del ADN, las unidades iniciales son nucleótidos.

El algoritmo identifica combinaciones frecuentes y las fusiona.

Después, vuelve a analizar las nuevas unidades y continúa realizando fusiones.

Este procedimiento genera un vocabulario de patrones de longitud variable.

Por ejemplo, una tokenización BPE podría representar una secuencia mediante:

ATGC | GT | ACGTA | CG

Este ejemplo es ilustrativo: las unidades reales dependen del vocabulario aprendido por el tokenizador.

La ventaja principal es que una secuencia puede representarse mediante menos tokens que con k-mers superpuestos.

Sin embargo, la compresión varía según los patrones presentes.

No todas las secuencias producen el mismo número de tokens por nucleótido.

¿Cómo funciona BPE paso a paso?

Consideremos una secuencia sencilla:

ATATATCGATAT

Paso 1. Separar en símbolos individuales

Inicialmente tenemos:

A T A T A T C G A T A T

Paso 2. Buscar pares frecuentes

El algoritmo identifica combinaciones que aparecen repetidamente.

Por ejemplo:

AT

Paso 3. Fusionar el par

El vocabulario incorpora el nuevo token AT.

La secuencia podría representarse como:

AT AT AT C G AT AT

Paso 4. Repetir el procedimiento

El algoritmo puede identificar combinaciones nuevas.

Por ejemplo, dos tokens AT consecutivos pueden fusionarse en:

ATAT

Paso 5. Construir el vocabulario

Después de numerosas fusiones, el tokenizador contiene patrones de diferentes longitudes.

Paso 6. Tokenizar nuevas secuencias

Una secuencia nueva se descompone utilizando las reglas aprendidas.

Este procedimiento permite utilizar patrones frecuentes como unidades compactas.

La tokenización BPE no implica que cada token corresponda a un gen, un promotor o una unidad biológica funcional.

Las fusiones se aprenden principalmente a partir de regularidades estadísticas.

Ventajas de BPE frente a k-mers

La principal ventaja de BPE es que utiliza tokens de longitud variable y no necesita generar una ventana superpuesta para cada posición.

Esto puede reducir considerablemente el número de tokens procesados.

Característicak-mers superpuestosBPE
Longitud de tokenFijaVariable
ConstrucciónVentanas deslizantesFusiones aprendidas
Redundancia entre tokensAltaGeneralmente menor
Cantidad de tokensAproximadamente lineal con bases y cercana a LDepende de la compresión
VocabularioCombinaciones definidas por kAprendido de los datos
Adaptación a patrones frecuentesLimitada por kSí
Ahorro de atenciónLimitadoPotencialmente significativo

Sin embargo, BPE también introduce compromisos.

Una mutación de un solo nucleótido puede modificar la segmentación en tokens de una región.

Esto significa que dos secuencias casi idénticas pueden producir representaciones tokenizadas diferentes.

Por ello, la reducción de tokens debe equilibrarse con la necesidad de analizar variaciones de una sola base.

La relación entre tokens y coste de atención

La atención completa utiliza una matriz de puntuaciones de tamaño:

[
N\times N
]

Donde (N) representa el número de tokens.

Por tanto, el coste de las relaciones de atención crece como:

[
O(N^2)
]

Supongamos que una secuencia de 2.000 nucleótidos produce 1.995 k-mers superpuestos.

La matriz conceptual de atención contiene:

[
1995^2=3.980.025
]

posiciones.

Si un tokenizador BPE consigue representar la misma secuencia mediante 500 tokens, la matriz contendría:

[
500^2=250.000
]

posiciones.

Esto representa aproximadamente un 93,7 % menos de puntuaciones de atención.

El ejemplo es hipotético.

No significa que DNABERT-2 siempre produzca exactamente 500 tokens a partir de 2.000 nucleótidos.

La cantidad depende de la secuencia y del vocabulario real.

Además, reducir puntuaciones de atención no equivale automáticamente a obtener el mismo porcentaje de reducción en tiempo total de ejecución.

Las proyecciones, redes feed-forward y otros componentes también consumen recursos.

¿Qué es ALiBi?

ALiBi (Attention with Linear Biases) es un mecanismo de representación posicional que incorpora información sobre la distancia entre tokens directamente en las puntuaciones de atención.

En un Transformer convencional, la información posicional puede representarse mediante embeddings aprendidos o funciones posicionales.

DNABERT-2 utiliza ALiBi como parte de sus optimizaciones.

La idea consiste en modificar las puntuaciones de atención mediante un término que depende de la distancia entre posiciones.

En una formulación bidireccional simplificada:

\frac{q_i^\top k_j}{\sqrt{d_k}}

m_h|i-j|
]

Donde:

  • (q_i) representa la consulta de la posición (i).
  • (k_j) representa la clave de la posición (j).
  • (d_k) representa la dimensión de la clave.
  • (m_h) representa la pendiente asociada con la cabeza (h).
  • (|i-j|) representa la distancia entre posiciones.

Después se aplica softmax sobre las puntuaciones modificadas.

Esta expresión muestra cómo puede introducirse una preferencia posicional mediante un sesgo lineal.

En modelos causales, ALiBi suele utilizar una formulación direccional compatible con la máscara de causalidad.

DNABERT-2 es un encoder bidireccional y su implementación debe interpretarse dentro de ese contexto.

¿Por qué ALiBi puede resultar útil para ADN?

La posición de los nucleótidos es importante para numerosas funciones biológicas.

Determinados motivos funcionan en contextos locales.

Otras relaciones pueden abarcar regiones más extensas.

ALiBi introduce información sobre distancias sin depender exclusivamente de una tabla de embeddings posicionales aprendidos para cada posición.

Esto ofrece una ventaja de diseño.

El mecanismo puede calcular sesgos para distancias que no estuvieron representadas como posiciones individuales durante el entrenamiento.

Por ello, ALiBi puede favorecer determinadas formas de extrapolación de longitud.

Sin embargo, hay una distinción importante.

ALiBi no garantiza que un modelo entrenado con secuencias cortas pueda procesar correctamente cualquier secuencia arbitrariamente larga.

La calidad de extrapolación depende del modelo, del entrenamiento, del coste computacional y de las características de los datos.

Además, ALiBi mide distancias entre posiciones de tokens BPE.

Como esos tokens pueden contener distintas cantidades de nucleótidos, la distancia en tokens no equivale necesariamente a una distancia fija en bases.

Arquitectura interna de DNABERT-2

DNABERT-2 conserva una estructura general de encoder Transformer.

Sin embargo, incorpora diversas modificaciones de eficiencia.

Tokenizador BPE

Convierte secuencias de ADN en tokens de longitud variable.

Embeddings de entrada

Transforman los identificadores de token en representaciones vectoriales.

Multi-Head Self-Attention

Permite aprender relaciones bidireccionales entre posiciones de la secuencia.

Sesgos posicionales ALiBi

Incorporan información sobre distancias entre tokens dentro de las puntuaciones de atención.

Feed-Forward Networks optimizadas

La arquitectura aprovecha componentes de un encoder Transformer optimizado, inspirado en MosaicBERT, incluyendo transformaciones con mecanismos de compuerta.

Normalización y conexiones residuales

Facilitan el entrenamiento y estabilizan las representaciones.

Cabeza de preentrenamiento

Permite predecir tokens enmascarados.

Cabezas especializadas

Durante fine-tuning, pueden incorporarse clasificadores de secuencias u otros módulos de predicción.

El checkpoint principal contiene aproximadamente 117 millones de parámetros.

Su dimensión oculta es de 768.

Es importante destacar que el modelo no utiliza convoluciones Hyena ni modelos de espacio de estados Mamba como mecanismo central.

Continúa perteneciendo a la familia Transformer.

¿Cómo funciona el preentrenamiento multiespecie?

La principal diferencia en los datos de DNABERT-2 respecto a DNABERT original es la incorporación de secuencias de múltiples especies.

El preentrenamiento original de DNABERT estaba centrado principalmente en el genoma humano.

DNABERT-2 amplió los datos utilizando secuencias genómicas procedentes de diversos organismos.

La documentación técnica describe un conjunto de preentrenamiento con genomas de 135 especies, distribuidas en varias categorías, y aproximadamente 32.490 millones de bases.

El objetivo era aprender regularidades genómicas que pudieran transferirse entre organismos.

Por ejemplo, algunas propiedades de secuencias codificantes y ciertos motivos regulatorios presentan regularidades compartidas.

Sin embargo, también existen diferencias importantes entre especies.

Un modelo multiespecie debe aprender patrones generales sin asumir que todas las secuencias poseen idénticas funciones.

¿Por qué entrenar con múltiples especies?

El preentrenamiento multiespecie puede ofrecer varias ventajas.

Mayor diversidad de secuencias

El modelo observa patrones procedentes de distintos organismos.

Posible transferencia entre especies

Determinadas representaciones aprendidas pueden resultar útiles en tareas sobre organismos poco representados.

Menor dependencia de un único genoma

El modelo no se limita exclusivamente a las regularidades del genoma humano.

Representaciones más generales

La diversidad puede ayudar a aprender características reutilizables.

Sin embargo, el aprendizaje multiespecie también presenta desafíos.

Los genomas tienen distribuciones distintas.

Algunas especies están mucho más representadas que otras.

También pueden existir diferencias relacionadas con la calidad de las secuencias y los procedimientos de ensamblaje.

Por ello, la generalización debe evaluarse con particiones apropiadas por especie y datos independientes.

¿Qué tarea utiliza DNABERT-2 durante el preentrenamiento?

DNABERT-2 utiliza Masked Language Modeling (MLM).

Este mecanismo procede de BERT.

Durante el preentrenamiento, una parte de los tokens se oculta.

El modelo intenta reconstruirlos utilizando el contexto disponible.

La tarea puede expresarse como:

-\sum_{i\in M}
\log P(x_i\mid x_{\setminus M})
]

Donde:

  • (M) contiene las posiciones seleccionadas para predicción.
  • (x_i) representa el token original.
  • (x_{\setminus M}) representa el contexto visible.

La documentación técnica describe un procedimiento de preentrenamiento con aproximadamente el 15 % de los tokens seleccionados para enmascaramiento.

El objetivo es aprender representaciones contextuales mediante autosupervisión.

Como DNABERT-2 utiliza tokens BPE, la unidad enmascarada puede contener un número variable de nucleótidos.

Esto constituye una diferencia importante frente al MLM de DNABERT original basado en k-mers superpuestos.

¿Qué es Genome Understanding Evaluation (GUE)?

Genome Understanding Evaluation (GUE) es un benchmark diseñado por los autores para evaluar modelos fundacionales genómicos.

Su objetivo consiste en proporcionar tareas y conjuntos de datos que permitan comparar modelos de manera más estandarizada.

En el repositorio oficial utilizado habitualmente para reproducir experimentos, GUE contiene 28 conjuntos de datos, organizados en siete tareas y cuatro especies.

La versión final del artículo de ICLR 2024 describe una recopilación más amplia de 36 conjuntos de datos distribuidos en nueve tareas. También presenta las comparaciones principales de DNABERT-2 con DNABERT sobre 28 conjuntos.

Por tanto, las cifras 28 y 36 aparecen en materiales oficiales, pero corresponden a descripciones o alcances diferentes del benchmark.

Esta distinción resulta importante para evitar confusiones al citar los resultados.

Las tareas incluyen problemas de clasificación genómica relacionados con elementos funcionales y secuencias procedentes de distintos organismos.

El benchmark permite evaluar tanto modelos especializados como modelos fundacionales preentrenados.

¿Qué tipos de problemas evalúa GUE?

Las tareas de evaluación incluyen diferentes categorías de clasificación genómica.

Entre ellas se encuentran:

Promotores: identificación de regiones relacionadas con el inicio de transcripción.

Sitios de unión de factores de transcripción: clasificación de secuencias asociadas con proteínas reguladoras.

Regiones reguladoras: identificación de elementos asociados con control de expresión.

Clasificación de secuencias multiespecie: evaluación sobre datos procedentes de diferentes organismos.

Otras tareas genómicas especializadas: según la versión del benchmark y sus particiones.

Los conjuntos de datos pueden presentar diferentes longitudes de entrada y distribuciones de clases.

Esto permite estudiar cómo cambia el comportamiento de un modelo según el problema.

Sin embargo, GUE no constituye una prueba clínica.

Un resultado favorable en el benchmark no significa que el modelo esté validado para diagnóstico médico.

Resultados experimentales de DNABERT-2

La publicación de ICLR 2024 comunicó varias mejoras importantes.

Eficiencia del modelo

DNABERT-2 consiguió resultados comparables a un modelo de referencia de mayor tamaño utilizando aproximadamente 21 veces menos parámetros y alrededor de 92 veces menos tiempo de GPU durante el preentrenamiento, en la comparación descrita por los autores.

Estas cifras corresponden a un experimento y una referencia específicos.

Comparación con DNABERT original

El artículo informó que DNABERT-2 superó a DNABERT en 23 de 28 conjuntos de datos, con una mejora media de aproximadamente seis puntos absolutos según el protocolo de evaluación utilizado.

Reducción de coste

Los investigadores comunicaron también mejoras de eficiencia respecto al diseño original, asociadas principalmente con la tokenización y las optimizaciones arquitectónicas.

Generalización multiespecie

El modelo fue evaluado sobre diferentes organismos y tareas, mostrando el potencial de las representaciones aprendidas durante el preentrenamiento multiespecie.

Estos resultados respaldan el valor de DNABERT-2 dentro del contexto de la investigación de 2023–2024.

No significan que sea necesariamente superior a todos los modelos genómicos publicados posteriormente.

DNABERT original frente a DNABERT-2

CaracterísticaDNABERT originalDNABERT-2
Publicación20212023 / ICLR 2024
ArquitecturaBERT bidireccionalEncoder Transformer optimizado
Tokenizaciónk-mers superpuestosBPE
Longitud de tokensFijaVariable
Información posicionalEmbeddings posicionales de BERTALiBi
PreentrenamientoMLMMLM
Datos principalesGenoma humanoGenomas multiespecie
Parámetros principalesAproximadamente 117 millonesAproximadamente 117 millones
Objetivo principalRepresentación de ADN con BERTEficiencia y generalización genómica
Benchmark destacadoTareas genómicas del artículo originalGUE

La diferencia central es que DNABERT-2 no constituye simplemente una versión más grande de DNABERT.

Introduce cambios en cómo se representan y procesan las secuencias.

La tokenización BPE resulta especialmente importante porque reduce la redundancia de los k-mers superpuestos.

ALiBi modifica la representación posicional.

El preentrenamiento multiespecie amplía la diversidad de datos utilizados.

DNABERT-2 frente a HyenaDNA

HyenaDNA, estudiada en la Entrada 118, representa una estrategia diferente.

Mientras DNABERT-2 utiliza un encoder Transformer, HyenaDNA utiliza convoluciones implícitas de largo alcance.

CaracterísticaDNABERT-2HyenaDNA
ArquitecturaTransformer encoderHyena
Atención softmaxSí, con optimizacionesNo como mecanismo central
TokenizaciónBPEUn nucleótido por token
PreentrenamientoMLMPredicción autorregresiva
Datos originalesMultiespeciePrincipalmente referencia humana
Contexto de diseñoSecuencias genómicas tokenizadasHasta un millón de nucleótidos
FortalezasClasificación y representación multiespecieContexto extremadamente largo
CompromisoCoste de atención en secuencias extensasInferencia y filtros especializados

Estas arquitecturas no compiten necesariamente en los mismos escenarios.

DNABERT-2 puede resultar adecuado para clasificación y representación de regiones genómicas.

HyenaDNA puede ser interesante cuando se necesitan ventanas de contexto extraordinariamente extensas.

La calidad final debe evaluarse en la tarea específica.

DNABERT-2 frente a Nucleotide Transformer

Nucleotide Transformer también es una familia de modelos fundacionales genómicos basada en Transformers.

Sin embargo, existen diferencias importantes.

DNABERT-2 utiliza BPE y preentrenamiento multiespecie.

Nucleotide Transformer dispone de distintas configuraciones, tamaños y corpus de entrenamiento.

CaracterísticaDNABERT-2Nucleotide Transformer
FamiliaTransformer encoderTransformer encoder
TokenizaciónBPEDepende de la versión, frecuentemente k-mers no superpuestos
Tamaño de modelosCheckpoint principal 117MVarias escalas
PreentrenamientoMLMPrincipalmente MLM
DatosMultiespecieSegún checkpoint
BenchmarkGUEDiferentes benchmarks genómicos
Ventaja de diseñoTokenización eficienteVariedad de escalas y datos

No debe afirmarse que uno de estos modelos sea universalmente superior.

Los resultados dependen de la longitud de entrada, los datos, el protocolo experimental y el objetivo biológico.

Aplicaciones prácticas de DNABERT-2

1. Clasificación de promotores

Un modelo ajustado puede utilizarse para distinguir secuencias promotoras y no promotoras.

2. Análisis de regiones reguladoras

Las representaciones pueden servir como entrada para sistemas que clasifican elementos regulatorios.

3. Predicción de sitios de unión de factores de transcripción

El modelo puede adaptarse a conjuntos de datos con ejemplos etiquetados de posibles sitios de unión.

4. Transferencia entre especies

El preentrenamiento multiespecie permite investigar la generalización hacia organismos diferentes.

5. Extracción de embeddings genómicos

DNABERT-2 puede utilizarse para producir vectores de representación de secuencias.

6. Clasificación de variantes

Las representaciones pueden incorporarse en modelos especializados que comparan secuencias de referencia y variantes.

7. Investigación sobre tokenización genómica

BPE proporciona un punto de comparación frente a tokenización por nucleótido y k-mers.

8. Desarrollo de modelos bioinformáticos

La arquitectura puede utilizarse como encoder dentro de aplicaciones de aprendizaje supervisado sobre ADN.

Ejemplo práctico: tokenizar ADN mediante DNABERT-2

La implementación oficial proporciona un checkpoint denominado:

zhihan1996/DNABERT-2-117M

Podemos utilizarlo mediante Hugging Face.

La instalación básica es:

pip install torch transformers

El siguiente ejemplo muestra cómo cargar el tokenizador y procesar una secuencia.

from transformers import AutoTokenizer
model_name = "zhihan1996/DNABERT-2-117M"
tokenizer = AutoTokenizer.from_pretrained(
model_name,
trust_remote_code=True
)
dna = "ACGTAGCATCGGATCTATCTATCGACACTTGGTTATCGATCTACGAGCATCTCGTTAGC"
encoded = tokenizer(
dna,
return_tensors="pt"
)
tokens = tokenizer.convert_ids_to_tokens(
encoded["input_ids"][0]
)
print("DNA length:", len(dna))
print("Token count:", len(tokens))
print("Tokens:", tokens)

El programa convierte una secuencia de nucleótidos en tokens BPE.

A diferencia de DNABERT original, no necesitamos separar manualmente el ADN en k-mers.

El tokenizador utiliza el vocabulario aprendido.

El número de tokens puede cambiar según la secuencia.

Nota: trust_remote_code=True permite ejecutar código suministrado por el repositorio del modelo. Debe utilizarse únicamente con repositorios revisados y confiables, preferiblemente fijando una revisión específica. La implementación original puede requerir versiones compatibles de Transformers y dependencias adicionales.

Ejemplo: comparar BPE con k-mers superpuestos

Podemos comparar la cantidad de tokens de ambos procedimientos.

def overlapping_kmer_count(length, k=6):
return max(0, length - k + 1)
dna = (
"ATGCGTACGTAGCTAGCTAGCTAGCT"
"ATGCGTACGTAGCTAGCTAGCTAGCT"
)
kmer_count = overlapping_kmer_count(
len(dna),
k=6
)
encoded = tokenizer(
dna,
add_special_tokens=False
)
bpe_count = len(encoded["input_ids"])
print("DNA bases:", len(dna))
print("6-mer tokens:", kmer_count)
print("BPE tokens:", bpe_count)
if bpe_count:
print(
"Bases per BPE token:",
round(len(dna) / bpe_count, 2)
)

El programa compara la cantidad de tokens generados por k-mers superpuestos y por el tokenizador BPE de DNABERT-2.

La relación entre bases y tokens representa una medida descriptiva de compresión.

No constituye una medida directa de calidad biológica.

Una tokenización más compacta no garantiza necesariamente una clasificación más precisa.

Ejemplo práctico: obtener embeddings con DNABERT-2

Una aplicación importante de DNABERT-2 es la extracción de representaciones numéricas.

Estas representaciones pueden utilizarse como entrada para clasificadores o sistemas de análisis.

El siguiente ejemplo utiliza el checkpoint original.

import torch
from transformers import AutoTokenizer, AutoModel
model_name = "zhihan1996/DNABERT-2-117M"
tokenizer = AutoTokenizer.from_pretrained(
model_name,
trust_remote_code=True
)
model = AutoModel.from_pretrained(
model_name,
trust_remote_code=True
)
dna = "ACGTAGCATCGGATCTATCTATCGACACTTGGTTATCGATCTACGAGCATCTCGTTAGC"
inputs = tokenizer(
dna,
return_tensors="pt"
)
model.eval()
with torch.inference_mode():
outputs = model(**inputs)
hidden_states = outputs[0]
mask = inputs["attention_mask"].unsqueeze(-1)
masked_states = hidden_states * mask
embedding = (
masked_states.sum(dim=1)
/
mask.sum(dim=1).clamp_min(1)
)
print(
"Token embeddings:",
hidden_states.shape
)
print(
"Sequence embedding:",
embedding.shape
)

Este código produce una representación contextual por token.

Después, calcula un embedding de secuencia mediante mean pooling.

El procedimiento utiliza la máscara de atención para excluir las posiciones de relleno.

En un proyecto real también conviene evaluar distintas estrategias de pooling.

Por ejemplo, la representación del token inicial, max pooling o mecanismos de pooling aprendidos.

El mejor procedimiento depende de la tarea.

Ejemplo: comparar embeddings de secuencias genómicas

Podemos utilizar DNABERT-2 para estudiar la similitud entre representaciones de dos secuencias.

El siguiente ejemplo calcula la similitud coseno.

import torch
import torch.nn.functional as F
def get_dna_embedding(sequence):
inputs = tokenizer(
sequence,
return_tensors="pt"
)
with torch.inference_mode():
hidden = model(**inputs)[0]
mask = inputs["attention_mask"].unsqueeze(-1)
embedding = (
(hidden * mask).sum(dim=1)
/
mask.sum(dim=1).clamp_min(1)
)
return embedding.squeeze(0)
sequence_a = "ATGCGTACGTAGCTAGCTAG"
sequence_b = "ATGCGTACGTAGATAGCTAG"
embedding_a = get_dna_embedding(sequence_a)
embedding_b = get_dna_embedding(sequence_b)
similarity = F.cosine_similarity(
embedding_a.unsqueeze(0),
embedding_b.unsqueeze(0)
)
print(
"Cosine similarity:",
similarity.item()
)

El programa calcula una similitud matemática entre embeddings.

Sin embargo, esta similitud no constituye por sí sola una medida validada de función biológica.

Dos secuencias con embeddings similares no necesariamente desempeñan la misma función.

Del mismo modo, una diferencia entre embeddings no demuestra que una mutación sea patogénica.

Para aplicaciones de genética funcional o clínica, es necesario desarrollar y validar modelos especializados.

Fine-tuning de DNABERT-2 para clasificación

Para adaptar DNABERT-2 a una tarea de clasificación, necesitamos un conjunto de datos etiquetados.

Por ejemplo:

SecuenciaEtiqueta
Secuencia APromotor
Secuencia BNo promotor
Secuencia CPromotor

El procedimiento general es:

  1. Preparar los datos.
  2. Dividirlos en entrenamiento, validación y prueba.
  3. Tokenizar las secuencias mediante BPE.
  4. Cargar DNABERT-2 con una cabeza de clasificación.
  5. Entrenar utilizando una función de pérdida supervisada.
  6. Evaluar el modelo mediante métricas apropiadas.

La implementación oficial incluye scripts de fine-tuning y soporte para diferentes tareas del benchmark GUE.

También proporciona opciones de adaptación eficiente de parámetros, como LoRA.

Es recomendable utilizar los scripts oficiales como referencia, ya que el código de DNABERT-2 contiene componentes personalizados.

La compatibilidad depende de las versiones de PyTorch, Transformers y los paquetes utilizados.

¿Qué es LoRA y por qué puede resultar útil?

LoRA (Low-Rank Adaptation) es una técnica de adaptación eficiente que permite modificar el comportamiento de determinados componentes de un modelo entrenando matrices adicionales de bajo rango.

En lugar de actualizar todos los parámetros de una gran red, LoRA aprende modificaciones compactas de algunas transformaciones.

Una aproximación conceptual es:

[
W’=W+BA
]

Donde:

  • (W) es la matriz original.
  • (A) y (B) son matrices entrenables de menor rango.
  • (W’) representa la transformación adaptada.

Esta estrategia puede reducir la cantidad de parámetros que necesitan optimización.

En DNABERT-2, LoRA puede estudiarse como una alternativa al fine-tuning completo.

Sin embargo, el ahorro de parámetros entrenables no garantiza mejores resultados.

La calidad depende de las capas seleccionadas, el rango utilizado y la tarea.

Cómo preparar correctamente un benchmark genómico

La evaluación de modelos genómicos presenta desafíos específicos.

Uno de los más importantes es evitar la fuga de información.

Por ejemplo, dos secuencias pueden proceder de regiones cercanas del mismo cromosoma.

También pueden compartir fragmentos extensos.

Si una aparece en entrenamiento y otra en prueba, el modelo puede obtener resultados artificialmente elevados.

Por ello, es recomendable utilizar estrategias apropiadas de separación.

Entre ellas se encuentran particiones por cromosoma, región o especie, dependiendo del objetivo.

También conviene controlar el desequilibrio entre categorías.

En tareas donde los ejemplos positivos son escasos, una accuracy alta puede resultar engañosa.

Las métricas recomendadas incluyen:

  • Accuracy.
  • Precision.
  • Recall.
  • F1-score.
  • AUROC.
  • AUPRC.

Para interpretar los resultados, también es importante evaluar la variabilidad entre diferentes semillas aleatorias.

Limitaciones de DNABERT-2

DNABERT-2 introduce mejoras importantes, pero también presenta limitaciones.

La primera está relacionada con su arquitectura Transformer.

Aunque BPE reduce la longitud tokenizada, la atención completa continúa presentando un coste cuadrático respecto al número de tokens procesados.

Otra limitación es la dependencia de la segmentación BPE.

Una modificación de un solo nucleótido puede cambiar varios tokens de la entrada.

Esto puede complicar la comparación directa entre posiciones de secuencias de referencia y variantes.

También existen desafíos relacionados con la generalización entre especies.

El preentrenamiento multiespecie no garantiza un rendimiento equivalente en cualquier organismo.

Además, las secuencias genómicas por sí solas no contienen toda la información necesaria para comprender regulación, expresión o función celular.

El contexto epigenético, el tipo celular y otros factores pueden resultar relevantes.

Finalmente, los embeddings no constituyen predicciones clínicas validadas.

Las aplicaciones de alto impacto requieren evaluación independiente.

DNABERT-2 y la inteligencia artificial aplicada a genómica

DNABERT-2 forma parte de la evolución de los modelos fundacionales especializados en biología.

Su importancia consiste en demostrar que las técnicas de procesamiento de lenguaje pueden adaptarse a secuencias genómicas utilizando decisiones de diseño específicas.

BPE permite aprender una representación compacta.

ALiBi incorpora información posicional mediante sesgos de atención.

El preentrenamiento multiespecie amplía la diversidad de secuencias utilizadas.

GUE proporciona un marco para evaluar los resultados.

Esta combinación ofrece una alternativa importante frente a modelos genómicos basados exclusivamente en k-mers.

Sin embargo, DNABERT-2 no es un modelo conversacional.

Su objetivo es producir representaciones y predicciones sobre secuencias de ADN.

La arquitectura tampoco sustituye los procedimientos experimentales necesarios para validar hipótesis biológicas.

Evolución posterior: DNABERT-S

En febrero de 2024, los investigadores anunciaron DNABERT-S, un modelo desarrollado a partir de la línea de investigación de DNABERT-2.

DNABERT-S se centra especialmente en producir embeddings de ADN útiles para representar y distinguir secuencias procedentes de diferentes especies.

Su objetivo incluye el análisis de relaciones entre secuencias y organismos mediante representaciones vectoriales.

Esta evolución demuestra que la investigación no se limita a clasificación genómica tradicional.

Los embeddings pueden utilizarse como base para tareas de comparación y análisis de secuencias.

Sin embargo, DNABERT-S y DNABERT-2 no deben considerarse exactamente el mismo modelo.

Sus objetivos de entrenamiento y evaluación son diferentes.

Importancia de DNABERT-2 en la evolución de los modelos fundacionales

La principal contribución de DNABERT-2 consiste en demostrar que la representación de las secuencias es tan importante como la arquitectura neuronal utilizada.

DNABERT original ya había mostrado que BERT podía adaptarse al ADN.

DNABERT-2 profundizó en el problema de la tokenización.

Al sustituir k-mers superpuestos por BPE, los investigadores redujeron la redundancia y mejoraron la eficiencia del procesamiento.

La incorporación de ALiBi proporcionó otra forma de modelar la información posicional.

El preentrenamiento multiespecie permitió aprender a partir de una diversidad genómica mayor.

Además, el benchmark GUE ayudó a establecer comparaciones más sistemáticas entre modelos genómicos.

La importancia de DNABERT-2 no reside solamente en sus resultados históricos.

También demuestra que las decisiones relacionadas con tokenización, datos y evaluación pueden tener un impacto tan importante como aumentar el número de parámetros.

Preguntas frecuentes sobre DNABERT-2

¿Qué es DNABERT-2?

DNABERT-2 es un modelo fundacional genómico basado en Transformers que utiliza tokenización BPE, sesgos posicionales ALiBi y preentrenamiento multiespecie.

¿Quién desarrolló DNABERT-2?

Fue desarrollado por Zhihan Zhou, Yanrong Ji, Weijian Li, Pratik Dutta, Ramana Davuluri y Han Liu.

¿Cuándo apareció DNABERT-2?

El artículo apareció en junio de 2023 y fue publicado en ICLR 2024.

¿Qué significa BPE?

BPE significa Byte Pair Encoding. Es un algoritmo de tokenización que construye tokens fusionando patrones frecuentes.

¿Por qué DNABERT-2 utiliza BPE?

Porque permite reducir la redundancia y la cantidad de tokens respecto a determinados procedimientos de k-mers superpuestos.

¿Qué es ALiBi?

ALiBi significa Attention with Linear Biases. Incorpora información de distancia entre tokens mediante sesgos en las puntuaciones de atención.

¿DNABERT-2 utiliza Transformers?

Sí. Es un encoder Transformer bidireccional optimizado.

¿DNABERT-2 es un modelo generativo?

Su checkpoint principal es un encoder preentrenado mediante Masked Language Modeling, no un generador causal equivalente a GPT.

¿Cuántos parámetros tiene DNABERT-2?

El checkpoint oficial principal contiene aproximadamente 117 millones de parámetros.

¿Qué significa preentrenamiento multiespecie?

Significa utilizar secuencias genómicas procedentes de diferentes especies durante el aprendizaje inicial.

¿Cuántas especies utiliza DNABERT-2?

La documentación técnica describe un conjunto de preentrenamiento con 135 especies.

¿Qué es GUE?

GUE significa Genome Understanding Evaluation. Es un benchmark para evaluar modelos fundacionales genómicos.

¿Cuántos datasets contiene GUE?

El repositorio oficial documenta 28 conjuntos de datos en siete tareas y cuatro especies. La publicación final de ICLR 2024 describe una recopilación ampliada de 36 conjuntos en nueve tareas.

¿Qué diferencia existe entre DNABERT y DNABERT-2?

DNABERT original utiliza k-mers superpuestos y embeddings posicionales tradicionales. DNABERT-2 utiliza BPE, ALiBi y preentrenamiento multiespecie.

¿Qué diferencia existe entre DNABERT-2 y HyenaDNA?

DNABERT-2 utiliza un encoder Transformer. HyenaDNA utiliza convoluciones largas y una representación individual por nucleótido.

¿DNABERT-2 puede identificar promotores?

Puede adaptarse mediante fine-tuning para clasificar regiones promotoras utilizando datos etiquetados.

¿DNABERT-2 puede analizar mutaciones?

Puede producir representaciones de secuencias con y sin variantes. La predicción de efectos biológicos requiere modelos especializados.

¿DNABERT-2 puede diagnosticar enfermedades genéticas?

No por sí solo. Las aplicaciones clínicas requieren validación y evidencias adicionales.

¿DNABERT-2 funciona con Python?

Sí. El checkpoint oficial está disponible mediante Hugging Face y existe un repositorio con herramientas de entrenamiento y fine-tuning.

¿Qué es DNABERT-S?

Es una evolución de esta línea de investigación orientada a producir embeddings de ADN útiles para distinguir y comparar secuencias entre especies.

¿Por qué es importante estudiar DNABERT-2?

Porque demuestra cómo la tokenización, el preentrenamiento multiespecie y las optimizaciones de Transformer pueden mejorar la eficiencia y generalización de los modelos fundacionales genómicos.

Conclusión

La arquitectura DNABERT-2 representa una contribución importante a la evolución de los modelos fundacionales para genómica.

Su principal innovación consiste en modernizar DNABERT mediante tokenización Byte Pair Encoding, información posicional ALiBi y preentrenamiento sobre secuencias de múltiples especies.

Estas modificaciones permiten reducir determinadas ineficiencias asociadas con los k-mers superpuestos y aprovechar una mayor diversidad de datos genómicos.

El checkpoint principal contiene aproximadamente 117 millones de parámetros y puede utilizarse para producir representaciones vectoriales de secuencias de ADN.

Además, los investigadores introdujeron Genome Understanding Evaluation, un benchmark que permite comparar modelos genómicos mediante diferentes tareas de clasificación.

Los resultados originales mostraron mejoras importantes de eficiencia y rendimiento frente a determinadas arquitecturas de referencia.

Sin embargo, DNABERT-2 continúa presentando limitaciones relacionadas con el coste de atención, la tokenización y la generalización biológica.

Para estudiantes, investigadores y desarrolladores de inteligencia artificial, DNABERT-2 ofrece una lección fundamental:

La calidad y eficiencia de un modelo fundacional no dependen solamente de su número de parámetros, sino también de cómo representa las secuencias, incorpora información posicional y aprovecha la diversidad de los datos de entrenamiento.

Comprender DNABERT-2 permite profundizar en los fundamentos de BPE, ALiBi, Transformers bidireccionales, aprendizaje autosupervisado, transfer learning multiespecie y evaluación de modelos genómicos.


Referencias y fuentes oficiales

  1. Zhou, Z., Ji, Y., Li, W., Dutta, P., Davuluri, R. y Liu, H. (2024). DNABERT-2: Efficient Foundation Model and Benchmark For Multi-Species Genomes. ICLR 2024. https://proceedings.iclr.cc/paper_files/paper/2024/hash/b633e7052970b8f5aa1a69164d99e9e8-Abstract-Conference.html
  2. Zhou, Z. et al. (2023). DNABERT-2: Efficient Foundation Model and Benchmark For Multi-Species Genome. arXiv. https://arxiv.org/abs/2306.15006
  3. MAGICS-LAB. DNABERT-2 — Repositorio oficial. https://github.com/MAGICS-LAB/DNABERT_2
  4. Hugging Face. DNABERT-2-117M — Checkpoint oficial. https://huggingface.co/zhihan1996/DNABERT-2-117M
  5. MAGICS-LAB. DNABERT-2 — Scripts de fine-tuning. https://github.com/MAGICS-LAB/DNABERT_2/tree/main/finetune
  6. MultiMolecule. DNABERT-2 — Documentación e implementación comunitaria. https://multimolecule.danling.org/models/dnabert2/
  7. Ji, Y. et al. (2021). DNABERT: Pre-trained Bidirectional Encoder Representations from Transformers Model for DNA-Language in Genome. Bioinformatics. https://doi.org/10.1093/bioinformatics/btab083
  8. Press, O., Smith, N. A. y Lewis, M. (2022). Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation. https://arxiv.org/abs/2108.12409
  9. Nguyen, E. et al. (2023). HyenaDNA: Long-Range Genomic Sequence Modeling at Single Nucleotide Resolution. https://arxiv.org/abs/2306.15794
  10. Dalla-Torre, H. et al. The Nucleotide Transformer: Building and Evaluating Robust Foundation Models for Human Genomics. https://www.biorxiv.org/content/10.1101/2023.01.11.523679v1

Solicitar Análisis Gratuito
Solicitar Análisis Gratuito

Visibilidad IA

Contact

Menu

(c) 2025-2026  Todos los derechos reservados | Designed by Benelux-IT