/ Модель

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

Контекст
514 токенов
Параметры
29,7 млн
Архитектура
roberta · dense
Опубликована
2 мар 2022

chEMBL_smiles_v1

Заполнение пропусковТекст → текст3 профессии

Небольшая RoBERTa-модель, предсказывающая замаскированные фрагменты SMILES для исследования и проектирования молекулярных структур.

106скачиваний за 30 дней6лайковвеса обновлены17 мар 2023

Бенчмарки

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

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

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

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

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

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

mrm8488/chEMBL_smiles_v1 — языковая модель RoBERTa, обученная с нуля разработчиком mrm8488 на молекулярных строках SMILES из набора примерно 438 тысяч очищенных записей. Модель использует архитектуру masked language modeling: по строке с замаскированными токенами она предсказывает пропущенные части. В метаданных указаны 29,7 млн параметров, контекст до 514 токенов и задача fill-mask.

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

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

  • предсказание пропущенных токенов в строках SMILES
  • подбор продолжения частичной записи молекулы
  • исследование химических закономерностей в SMILES
  • получение кандидатов молекулярных структур для дальнейшей проверки

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

De Novo Drug Design with MLM

What is it?

An approximation to Generative Recurrent Networks for De Novo Drug Design but training a MLM (RoBERTa like) from scratch.

Why?

As mentioned in the paper: Generative artificial intelligence models present a fresh approach to chemogenomics and de novo drug design, as they provide researchers with the ability to narrow down their search of the chemical space and focus on regions of interest. They used a generative recurrent neural network (RNN) containing long short‐term memory (LSTM) cell to capture the syntax of molecular representations in terms of SMILES strings. The learned pattern probabilities can be used for de novo SMILES generation. This molecular design concept eliminates the need for virtual compound library enumeration and enables virtual compound design without requiring secondary or external activity prediction.

My Goal 🎯

By training a MLM from scratch on 438552 (cleaned*) SMILES I wanted to build a model that learns this kind of molecular combinations so that given a partial SMILE it can generate plausible combinations so that it can be proposed as new drugs. By cleaned SMILES I mean that I used their SMILES cleaning script to remove duplicates, salts, and stereochemical information. You can see the detailed process of gathering the data, preprocess it and train the LSTM in their repo.

Fast usage with pipelines 🧪

from transformers import pipeline

fill_mask = pipeline(
    "fill-mask",
    model='mrm8488/chEMBL_smiles_v1',
    tokenizer='mrm8488/chEMBL_smiles_v1'
)

# CC(C)CN(CC(OP(=O)(O)O)C(Cc1ccccc1)NC(=O)OC1CCOC1)S(=O)(=O)c1ccc(N)cc1 Atazanavir
smile1 = "CC(C)CN(CC(OP(=O)(O)O)C(Cc1ccccc1)NC(=O)OC1CCOC1)S(=O)(=O)c1ccc(N)<mask>"

fill_mask(smile1)

# Output:
'''
[{'score': 0.6040295958518982,
  'sequence': '<s> CC(C)CN(CC(OP(=O)(O)O)C(Cc1ccccc1)NC(=O)OC1CCOC1)S(=O)(=O)c1ccc(N)nc</s>',
  'token': 265},
 {'score': 0.2185731679201126,
  'sequence': '<s> CC(C)CN(CC(OP(=O)(O)O)C(Cc1ccccc1)NC(=O)OC1CCOC1)S(=O)(=O)c1ccc(N)N</s>',
  'token': 50},
 {'score': 0.0642734169960022,
  'sequence': '<s> CC(C)CN(CC(OP(=O)(O)O)C(Cc1ccccc1)NC(=O)OC1CCOC1)S(=O)(=O)c1ccc(N)cc</s>',
  'token': 261},
 {'score': 0.01932266168296337,
  'sequence': '<s> CC(C)CN(CC(OP(=O)(O)O)C(Cc1ccccc1)NC(=O)OC1CCOC1)S(=O)(=O)c1ccc(N)CCCl</s>',
  'token': 452},
 {'score': 0.005068355705589056,
  'sequence': '<s> CC(C)CN(CC(OP(=O)(O)O)C(Cc1ccccc1)NC(=O)OC1CCOC1)S(=O)(=O)c1ccc(N)C</s>',
  'token': 39}]
  '''

More

I also created a second version without applying the cleaning SMILES script mentioned above. You can use it in the same way as this one.

fill_mask = pipeline(
  "fill-mask",
  model='/mrm8488/chEMBL26_smiles_v2',
  tokenizer='/mrm8488/chEMBL26_smiles_v2'
)

Original paper Authors:

Created by Manuel Romero/@mrm8488 | LinkedIn

Made with ♥ in Spain

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
RobertaForMaskedLM
Ревизия весов
8773c30

0 моделей