/ Модель

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

Параметры
3,7 млн
Лицензия
Apache 2.0
Архитектура
mt5 · dense
Опубликована
13 фев 2024

SMILES2IUPAC-canonical-small

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

Компактная модель MT5 преобразует записи молекул SMILES в канонические названия IUPAC на английском языке.

435скачиваний за 30 дней7лайковвеса обновлены15 фев 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SMILES2IUPAC-canonical-small — компактная модель Knowledgator Engineering для преобразования записей молекул в формате SMILES в канонические названия IUPAC. Она основана на MT5 и использует архитектуру encoder-decoder с механизмом внимания и отдельными токенизаторами для кодировщика и декодировщика. Модель поддерживает входы SMILES и выдаёт названия на английском языке; предусмотрен выбор предпочитаемого стиля названия с помощью стилевых токенов.

Модель предназначена для автоматического присвоения химическим структурам систематических или распространённых названий и пакетной обработки таких преобразований. В приведённой оценке указаны точность 75% и BLEU-4 0,93. Лицензия Apache 2.0 допускает использование и модификацию на её условиях.

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

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

Ограничения

Точность ограничена на крупных молекулах; модель не поддерживает изомерические и изотопные SMILES. В приведённой оценке точность составляет 75%.

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

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

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

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

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

Открыть на Hugging Face

SMILES2IUPAC-canonical-small

SMILES2IUPAC-canonical-small was designed to accurately translate SMILES chemical names to IUPAC standards.

Model Details

Model Description

SMILES2IUPAC-canonical-small is based on the MT5 model with optimizations in implementing different tokenizers for the encoder and decoder.

  • Developed by: Knowladgator Engineering
  • Model type: Encoder-Decoder with attention mechanism
  • Language(s) (NLP): SMILES, IUPAC (English)
  • License: Apache License 2.0

Model Sources

Quickstart

Firstly, install the library:

pip install chemical-converters

SMILES to IUPAC

! Preferred IUPAC style

To choose the preferred IUPAC style, place style tokens before your SMILES sequence.

Style TokenDescription
<BASE>The most known name of the substance, sometimes is the mixture of traditional and systematic style
<SYST>The totally systematic style without trivial names
<TRAD>The style is based on trivial names of the parts of substances

To perform simple translation, follow the example:

from chemicalconverters import NamesConverter

converter = NamesConverter(model_name="knowledgator/SMILES2IUPAC-canonical-small")
print(converter.smiles_to_iupac('CCO'))
print(converter.smiles_to_iupac(['<SYST>CCO', '<TRAD>CCO', '<BASE>CCO']))
['ethanol']
['ethanol', 'ethanol', 'ethanol']

Processing in batches:

from chemicalconverters import NamesConverter

converter = NamesConverter(model_name="knowledgator/SMILES2IUPAC-canonical-small")
print(converter.smiles_to_iupac(["<BASE>C=CC=C" for _ in range(10)], num_beams=1, 
                                process_in_batch=True, batch_size=1000))
['buta-1,3-diene', 'buta-1,3-diene'...]

Validation SMILES to IUPAC translations

It's possible to validate the translations by reverse translation into IUPAC and calculating Tanimoto similarity of two molecules fingerprints.

from chemicalconverters import NamesConverter

converter = NamesConverter(model_name="knowledgator/SMILES2IUPAC-canonical-small")
print(converter.smiles_to_iupac('CCO', validate=True))
['ethanol'] 1.0

The larger is Tanimoto similarity, the larger is probability, that the prediction was correct.

You can also process validation manually:

from chemicalconverters import NamesConverter

validation_model = NamesConverter(model_name="knowledgator/IUPAC2SMILES-canonical-base")
print(NamesConverter.validate_iupac(input_sequence='CCO', predicted_sequence='CCO', validation_model=validation_model))
1.0

Bias, Risks, and Limitations

This model has limited accuracy in processing large molecules and currently, doesn't support isomeric and isotopic SMILES.

Training Procedure

The model was trained on 100M examples of SMILES-IUPAC pairs with lr=0.0003, batch_size=1024 for 2 epochs.

Evaluation

ModelAccuracyBLEU-4 scoreSize(MB)
SMILES2IUPAC-canonical-small75%0.9323
SMILES2IUPAC-canonical-base86.9%0.964180
STOUT V2.0*66.65%0.92128
STOUT V2.0 (according to our tests)0.89128
*According to the original paper https://jcheminf.biomedcentral.com/articles/10.1186/s13321-021-00512-4

Citation

Coming soon.

Model Card Authors

Mykhailo Shtopko

Model Card Contact

info@knowledgator.com

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MT5ForConditionalGeneration
Ревизия весов
f1f77c7

0 моделей