/ Модель

Характеристики

Лицензия
Apache 2.0
Архитектура
gpt2 · dense
Библиотека
transformers
Опубликована
12 фев 2025

DNAGPT2_2048

Генерация текстаТекст → текст3 профессии

DNAGPT2_2048 — GPT-2-подобная модель для предсказания токенов ДНК и сжатия геномных последовательностей.

185скачиваний за 30 дней0лайковвеса обновлены12 дек 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

DNAGPT2_2048 — авторегрессионная языковая модель для геномных последовательностей, разработанная авторами проекта DNAGPT2 и обученная с нуля на базе архитектуры GPT-2 Small. Модель содержит около 86 млн параметров, 12 слоёв и контекстное окно 1 024 токена; вариант 2048 использует словарь из 2 048 токенов. Она принимает последовательности ДНК с символами A, C, G и T и выдаёт оценки вероятностей следующего токена. Модель предназначена для предсказания продолжения последовательности и сжатия ДНК в сочетании с арифметическим кодированием.

Предобучение проводилось на данных DNABERT-2: примерно 32,5 млрд нуклеотидов из 135 геномов позвоночных, грибов, простейших, беспозвоночных и бактерий. Неоднозначный символ N исключён из обучающего алфавита, поэтому модель не рассчитана на последовательности с такими символами без предварительной обработки. В README приведены результаты оценки сжатия для нескольких геномов, но они относятся к DNAGPT2_32 и не подтверждают такие же показатели для варианта 2048. Репозиторий содержит веса safetensors и использует библиотеку Transformers; лицензия — Apache-2.0.

Сценарии применения

  • предсказание следующего фрагмента в последовательности ДНК
  • оценка вероятностей нуклеотидных последовательностей
  • сжатие геномных последовательностей с арифметическим кодированием

Ограничения

Модель обучалась на алфавите A, C, G, T, а символ N был исключён, поэтому неоднозначные нуклеотиды требуют предварительной обработки. Приведённые в README результаты сжатия относятся к варианту DNAGPT2_32, а не к DNAGPT2_2048.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

DNAGPT2: Genomic Large Language Model for Compression and Analysis

DNAGPT2 is a family of autoregressive (decoder-only) transformer models trained on genomic DNA sequences.

The models follow the GPT-2 architecture and are trained from scratch on a multi-species genome dataset.

Model Details

  • Model Type: Causal Language Model (Decoder-only Transformer)
  • Architecture: GPT-2 Small
    • Parameters: ~86 Million
    • Layers: 12
    • Heads: 12
    • Embedding Dimensions: 768
    • Context Window: 1,024 tokens
  • Vocabulary Sizes: Models are available with vocabulary sizes of 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, and 8192.

Intended Use

These models are designed for:

  1. DNA Compression: Used in conjunction with Arithmetic Encoding (AE) to compress genomic sequences.
  2. Sequence Modeling: Next-token prediction for DNA sequences.

Input: Raw DNA sequences containing the characters A, C, G, T. Output: Logits/Probabilities for the next token in the sequence.

Training Data

The models were pretrained on the dataset provided by the authors of DNABERT-2.

  • Composition: 135 genomes covering Vertebrata, Fungi, Protozoa, Invertebrata, and Bacteria.
  • Size: Approximately 32.5 billion nucleotides.
  • Preprocessing: The alphabet was restricted to A, C, G, T. The letter N (unknown/ambiguous nucleotide) was omitted from the training data.

Training Procedure

The models were trained using the PyTorch framework and the nanoGPT recipe.

  • Tokenizer: Byte-Pair Encoding (BPE) trained via SentencePiece.
  • Epochs: 1
  • Optimization: AdamW (Betas: 0.9, 0.95; Weight decay: 0.1)
  • Learning Rate: Cosine decay (Max: 8e-4, Min: 8e-5) with linear warmup.
  • Batch Size: $2^{19}$ tokens per step.
  • Hardware: Single NVIDIA A40 GPU.

Performance

The models were evaluated on their ability to compress DNA sequences (measured in bits per symbol or bps) using Arithmetic Encoding. Lower is better.

DatasetMetricDNAGPT2_32Benchmark (gzip -9)Benchmark (Jarvis3)
Homo sapiens (T2T-CHM13v2.0)bits/symbol1.4702.0221.384
M. llanfair... (Bacteria)bits/symbol1.7832.1421.713
A. thaliana (Plant - Chr1)bits/symbol1.8762.1611.702

The DNAGPT2_32 model outperforms general-purpose compressors (gzip) and competitive deep learning models like hyenaDNA and megaDNA on the evaluated datasets.

How to Use

The model is compatible with the Hugging Face transformers library.

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

# Select the model variant (e.g., vocab size 128 or 32)
# Replace with the specific repository path if hosted on HF Hub
hf_model_repository = "vojtam/DNAGPT2_128" 

device = "cuda" if torch.cuda.is_available() else "cpu"

# Load model and tokenizer
model = AutoModelForCausalLM.from_pretrained(
    hf_model_repository, 
    trust_remote_code=True
).to(device)

tokenizer = AutoTokenizer.from_pretrained(
    hf_model_repository, 
    trust_remote_code=True
)

# Inference Example
dna_sequence = "ACGTTGCAAACG"
token_ids = tokenizer.encode(dna_sequence, return_tensors="pt").to(device)

with torch.no_grad():
    logits = model(token_ids).logits

print(f"Input: {dna_sequence}")
print(f"Logits shape: {logits.shape}")

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Ревизия весов
31b05d0

0 моделей