/ Модель

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

Контекст
40 000 токенов
Параметры
503 млн
Лицензия
cc
Архитектура
bert · dense
Базовая модель
prot_bert_bfd
Библиотека
sentence-transformers
Опубликована
24 мар 2024

protein-matryoshka-embeddings

ЭмбеддингиТекст → embedding3 профессии

Модель превращает белковые последовательности в эмбеддинги для поиска сходных белков и решения downstream-задач.

122скачиваний за 30 дней6лайковвеса обновлены19 июл 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Protein Matryoshka Embeddings — модель на базе BERT, созданная monsoon-nlp для получения векторных представлений белковых последовательностей. Она дообучена на Rostlab/prot_bert_bfd с использованием Matryoshka loss и данных о сходстве пар белков из UniProt/Swiss-Prot. Модель содержит 503,3 млн параметров, принимает последовательности аминокислот в однобуквенных кодах IUPAC-IUB и поддерживает контекст до 40 000 токенов.

Векторные представления предназначены для поиска сходных белков и последующего использования в задачах классификации и регрессии. Matryoshka loss позволяет применять укороченные эмбеддинги для более быстрого поиска; в README приведены результаты корреляции косинусного сходства на валидационных парах. Лицензия — CC.

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

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

Ограничения

README сообщает, что примеры для задач классификации белков ещё планируется добавить; качество валидации показано на выборке из 1000 пар и само по себе не гарантирует результаты на других данных. Описание лицензии в метаданных указано только как CC, без конкретной версии.

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

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

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

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

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

Открыть на Hugging Face

Protein Matryoshka Embeddings

The model generates an embedding for input proteins. It was trained using Matryoshka loss, so shortened embeddings can be used for faster search and other tasks.

Inputs use IUPAC-IUB codes where letters A-Z map to amino acids. For example:

"M A R N W S F R V"

The base model was Rostlab/prot_bert_bfd. A sentence-transformers model was trained on cosine-similarity of embeddings from UniProt. For train/test/validation datasets of embeddings and distances, see: https://huggingface.co/datasets/monsoon-nlp/protein-pairs-uniprot-swissprot

Usage

Install these dependencies:

pip install -U sentence-transformers datasets

Generating embeddings:

from sentence_transformers import SentenceTransformer
sequences = ["M S L E Q K...", "M A R N W S F R V..."]

model = SentenceTransformer('monsoon-nlp/protein-matryoshka-embeddings')
embeddings = model.encode(sentences)
print(embeddings)

Training + Code

CoLab notebook: https://colab.research.google.com/drive/1uBk-jHOAPhIiUPPunfK7bMC8GnzpwmBy?usp=sharing

Results on 1,000 protein pairs from the validation dataset, during training:

stepscosine_pearsoncosine_spearman
30000.85986886600865580.8666855900999677
60000.86927035239884480.8615673651584274
90000.87797335376299680.8754158959780602
120000.88774220450316670.8881492475969834
150000.90273596883957330.899106724739699
180000.90466757897380020.9044183600191271
210000.91658015363909730.9061381997421003
240000.91280464013418330.9076748537082228
270000.9185474165463410.9127677526055185
300000.92394296776577880.9187051589781693

Validation

Scatter plots comparing the full and 128-dim embeddings to the original embeddings, using pairs from the test set: https://colab.research.google.com/drive/1hm4IIMXaLt_7QYRNvkiXl5BqmsHdC1Ue?usp=sharing

Finetuning / Tasks

One of the more popular evaluations is Tasks Assessing Protein Embeddings (TAPE)

Example using SciKit-Learn to train on Fluorescence, a regression task from TAPE: https://colab.research.google.com/drive/1cH9jOBSC56mqJHU_6ztQPp6qWJguNjAn?usp=sharing

Example using SciKit-Learn to train on a classification task from greenbeing-binary - https://colab.research.google.com/drive/1MCTn8f3oeIKpB6n_8mPumet3ukm7GD8a?usp=sharing

Future

This page will be updated when I have examples using it on protein classification tasks.

I'm interested in whether embedding quantization could be even more efficient.

If you want to collaborate on future projects / have resources to train longer on more embeddings, please get in touch.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertModel
Ревизия весов
5d13a01

0 моделей