/ Модель

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

Контекст
512 токенов
Параметры
352 млн
Размер весов
11,3 ГБ
Лицензия
MIT
Архитектура
t5 · dense
Базовая модель
prot_t5_xl_uniref50
Опубликована
26 мар 2024

IgT5_unpaired

Языковая модель3 профессии

Дообученная на непарных последовательностях антител модель T5 для получения их векторных представлений и анализа в биоинформатике.

82скачиваний за 30 дней0лайковвеса обновлены14 июн 2024

Бенчмарки

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

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

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

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

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

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

IgT5_unpaired — белковая языковая модель компании Exscientia, дообученная на непарных последовательностях антител из набора Observed Antibody Space. Модель основана на ProtT5 и обучалась с помощью задачи masked language modeling; её архитектура — T5 с 352,5 млн параметров, доступная в формате safetensors. Контекст составляет 512 токенов.

Модель предназначена для получения векторных представлений аминокислотных последовательностей антител. Её можно применять в биоинформатических исследованиях для анализа и сравнения антительных последовательностей и построения признаков для последующих задач. README описывает использование энкодера и токенизатора через библиотеку Transformers. Лицензия — MIT.

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

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

Ограничения

Модель обучалась на непарных последовательностях антител; README описывает получение эмбеддингов, но не приводит оценок качества на конкретных прикладных задачах.

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

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

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

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

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

Открыть на Hugging Face

IgT5 unpaired model

Model pretrained on protein and antibody sequences using a masked language modeling (MLM) objective. It was introduced in the paper Large scale paired antibody language models.

The model is finetuned from ProtT5 using unpaired antibody sequences from the Observed Antibody Space.

Use

The encoder part of the model and tokeniser can be loaded using the transformers library

from transformers import T5EncoderModel, T5Tokenizer

tokeniser = T5Tokenizer.from_pretrained("Exscientia/IgT5_unpaired", do_lower_case=False)
model = T5EncoderModel.from_pretrained("Exscientia/IgT5_unpaired")

The tokeniser is used to prepare batch inputs

# single chain sequences
sequences = [
    "EVVMTQSPASLSVSPGERATLSCRARASLGISTDLAWYQQRPGQAPRLLIYGASTRATGIPARFSGSGSGTEFTLTISSLQSEDSAVYYCQQYSNWPLTFGGGTKVEIK",
    "ALTQPASVSGSPGQSITISCTGTSSDVGGYNYVSWYQQHPGKAPKLMIYDVSKRPSGVSNRFSGSKSGNTASLTISGLQSEDEADYYCNSLTSISTWVFGGGTKLTVL"
]

# The tokeniser expects input of the form ["E V V M...", "A L T Q..."]
sequences = [' '.join(sequence) for sequence in sequences] 

tokens = tokeniser.batch_encode_plus(
    sequences, 
    add_special_tokens=True, 
    pad_to_max_length=True, 
    return_tensors="pt",
    return_special_tokens_mask=True
) 

Note that the tokeniser adds a </s> token at the end of each sequence and pads using the <pad> token. For example a batch containing sequences E V V M, A L will be tokenised to E V V M </s> and A L </s> <pad> <pad>.

Sequence embeddings are generated by feeding tokens through the model

output = model(
    input_ids=tokens['input_ids'], 
    attention_mask=tokens['attention_mask']
)

residue_embeddings = output.last_hidden_state

To obtain a sequence representation, the residue tokens can be averaged over like so

import torch

# mask special tokens before summing over embeddings
residue_embeddings[tokens["special_tokens_mask"] == 1] = 0
sequence_embeddings_sum = residue_embeddings.sum(1)

# average embedding by dividing sum by sequence lengths
sequence_lengths = torch.sum(tokens["special_tokens_mask"] == 0, dim=1)
sequence_embeddings = sequence_embeddings_sum / sequence_lengths.unsqueeze(1)

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

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

GPU в ailist

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

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

У модели не указана задача.

Класс архитектуры
T5ForConditionalGeneration
Ревизия весов
324edf1

0 моделей