/ Модель

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

Контекст
32 770 токенов
Параметры
3,7 млн
Лицензия
BSD 3-Clause
Архитектура
hyenadna · dense
Опубликована
3 ноя 2023

hyenadna-small-32k-seqlen-hf

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

Компактная геномная языковая модель HyenaDNA для предсказания нуклеотидов и анализа длинных последовательностей ДНК.

6 403скачиваний за 30 дней2лайкавеса обновлены24 янв 2024

Бенчмарки

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

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

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

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

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

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

HyenaDNA — семейство геномных языковых моделей, разработанное исследователями из Стэнфорда, Harvard Medical School и других организаций. Эта версия содержит 3,7 млн параметров и рассчитана на последовательности длиной до 32 тыс. нуклеотидов. Модель использует архитектуру HyenaDNAForCausalLM со стеком операторов Hyena, односимвольной токенизацией нуклеотидов и авторегрессионным предсказанием следующего нуклеотида. По сравнению с плотным вниманием операторы Hyena масштабируются субквадратично по длине последовательности.

Модель предварительно обучена на человеческом референсном геноме HG38. Она предназначена для генерации и анализа последовательностей ДНК, а также для дообучения на задачах классификации, включая предсказание регуляторных элементов, профилей хроматина и классификацию видов. Контекст до 32 тыс. нуклеотидов позволяет учитывать дальние зависимости в геномных последовательностях. Для обучения README приводит требования к GPU для семейства моделей, но указанные ресурсы различаются по размеру чекпойнта.

Репозиторий содержит веса в формате safetensors. Лицензия — BSD 3-Clause. Хотя README описывает обучение на человеческом геноме и экспериментальные результаты для разных видов, метаданные не указывают коды языков; естественные языки для этой модели не применимы. Фактические пределы производительности и пригодность к конкретным геномным задачам зависят от данных и дообучения.

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

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

Ограничения

Версия рассчитана на контекст до 32 тыс. нуклеотидов; обучение на более длинных последовательностях может выходить за пределы возможностей этого чекпойнта. Для специализированной классификации модель требуется дообучить на соответствующих данных.

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

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

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

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

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

Открыть на Hugging Face

HyenaDNA

Welcome! HyenaDNA is a long-range genomic foundation model pretrained on context lengths of up to 1 million tokens at single nucleotide resolution.

See below for an overview of the model and training. Better yet, check out these resources.

Resources:

Links to all HuggingFace models:

We've uploaded a collection of all the pretrained HyenaDNA checkpoints.

You'll see models of different sizes and sequence lengths. There are also original weights-only versions of each model in the LongSafari organization, which are designed to be loaded with the original github repo. These models have identical outputs to the models in the collection above, just different interfaces.

See GPU requirements for each model.

Using HyenaDNA

In this brief code sample we demonstrate fine-tuning HyenaDNA on a sequence classification task. This sample uses the medium checkpoint, with a maximum sequence length of 160k nucleotides. Note that training will fail if you use a sequence length longer than the maximum supported length for your chosen checkpoint.

In testing, we have been able to train at a sequence length up to about 250k nucleotides on a Colab T4 GPU (16GB VRAM). For longer sequence lengths, more memory will be required.

from transformers import AutoModelForSequenceClassification, AutoTokenizer
from transformers import TrainingArguments, Trainer, logging
import torch

# instantiate pretrained model
checkpoint = 'LongSafari/hyenadna-medium-160k-seqlen-hf'
max_length = 160_000

# bfloat16 for better speed and reduced memory usage
tokenizer = AutoTokenizer.from_pretrained(checkpoint, trust_remote_code=True)
model = AutoModelForSequenceClassification.from_pretrained(checkpoint, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True)

# Generate some random sequence and labels
# If you're copying this code, replace the sequences and labels
# here with your own data!
sequence = 'ACTG' * int(max_length/4)
sequence = [sequence] * 8  # Create 8 identical samples
tokenized = tokenizer(sequence)["input_ids"]
labels = [0, 1] * 4

# Create a dataset for training
ds = Dataset.from_dict({"input_ids": tokenized, "labels": labels})
ds.set_format("pt")

# Initialize Trainer
# Note that we're using extremely small batch sizes to maximize
# our ability to fit long sequences in memory!
args = {
    "output_dir": "tmp",
    "num_train_epochs": 1,
    "per_device_train_batch_size": 1,
    "gradient_accumulation_steps": 4,
    "gradient_checkpointing": True,
    "learning_rate": 2e-5,
}
training_args = TrainingArguments(**args)

trainer = Trainer(model=model, args=training_args, train_dataset=ds)
result = trainer.train()

print(result)

# Now we can save_pretrained() or push_to_hub() to share the trained model!

You may also find these notebooks useful. Although they're not specific to HyenaDNA, they contain additional examples of training DNA and sequence classification models.

GPU requirements (suggested)

Here are suggestions on the hardware (preferred minimum) we think you can use for each model.

GPU during: Pretrain, fine-tune, inference

Model & Training Overview

HyenaDNA uses a simple stack of Hyena operators, which are a subquadratic drop-in replacement for attention in Transformers. The Hyena operator is able to match quality in language modeling by using modified input projections, implicit convolutions and gating, all subquadratic operations.

This enables HyenaDNA to reach context lengths of up to 500x longer than previous genomic Transformer models using dense attention, and train 160x faster at sequence length 1M (compared to Flash Attention).

We use a single character tokenizer with a primary vocab of 4 nucleotides (plus special tokens), enabling the single nucleotide resolution, a first in genomic foundation models. In addition, the implicit long convolution enables a global receptive field at each layer.

We pretrain using next token (nucleotide) prediction on the human reference genome (HG38).

HyenaDNA sets new SotA on 23 downstream tasks including predicting regulatory elements, chromatin profiles, and species classification. We also explore what new capabilities open up with long context in genomics, including the first use of in-context learning with soft prompt tuneable tokens and instruction fine-tuning.

Check out our blog for more details on HyenaDNA!

Authors

Eric Nguyen*, Michael Poli*, Marjan Faizi*, Armin Thomas, Callum Birch-Sykes, Michael Wornow, Aman Patel, Clayton Rabideau, Stefano Massaroli, Yoshua Bengio, Stefano Ermon, Stephen Baccus, Chris Re.

Contact

Eric Nguyen, etnguyen@stanford.edu
Michael Poli, poli@stanford.edu
Marjan Faizi, Marjan_Faizi@hms.harvard.edu

Citation

Feel free to cite us :)

@article{nguyen2023hyenadna,
      title={HyenaDNA: Long-Range Genomic Sequence Modeling at Single Nucleotide Resolution}, 
      author={Eric Nguyen and Michael Poli and Marjan Faizi and Armin Thomas and Callum Birch-Sykes and Michael Wornow and Aman Patel and Clayton Rabideau and Stefano Massaroli and Yoshua Bengio and Stefano Ermon and Stephen A. Baccus and Chris Ré},
      year={2023},
      eprint={2306.15794},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

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

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

GPU в ailist

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

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
HyenaDNAForCausalLM
Ревизия весов
8fe770c

0 моделей