/ Модель

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

Контекст
514 токенов
Параметры
305 млн
Лицензия
Apache 2.0
Архитектура
xlm-roberta · dense
Опубликована
20 апр 2024

SapBERT-DE

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

Дообученная на UMLS-Wikidata модель XLM-RoBERTa для связывания немецких биомедицинских упоминаний с сущностями.

123скачиваний за 30 дней1лайквеса обновлены2 июл 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SapBERT-DE — модель для связывания немецкоязычных биомедицинских упоминаний с сущностями из базы знаний UMLS-Wikidata. Она создана дообучением многоязычной модели связывания сущностей SapBERT-UMLS на немецкой биомедицинской базе знаний. Модель построена на архитектуре XLM-RoBERTa и содержит около 305,2 млн параметров; максимальный контекст составляет 514 токенов.

Модель предназначена для извлечения текстовых представлений, используемых при сопоставлении терминов и упоминаний с биомедицинскими сущностями. Репозиторий содержит веса в формате safetensors и помечен лицензией Apache-2.0. Описание не сообщает об ограничениях точности или оценках качества.

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

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

Ограничения

Предназначена для немецких биомедицинских сущностей; описание не приводит оценок качества или ограничений точности.

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

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

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

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

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

Открыть на Hugging Face

SapBERT-DE is a model for German biomedical entity linking which is obtained by fine-tuning multilingual entity linking model cambridgeltl/SapBERT-UMLS-2020AB-all-lang-from-XLMR using a German biomedical entity linking knowledge base named UMLS-Wikidata.

Usage

import numpy as np
from tqdm import tqdm
import torch
from transformers import AutoTokenizer, AutoModel  

tokenizer = AutoTokenizer.from_pretrained("permediq/SapBERT-DE", use_fast=True)  
model = AutoModel.from_pretrained("permediq/SapBERT-DE").cuda()

# entity descriptions to embed
entity_descriptions = ["Cerebellum", "Zerebellum", "Kleinhirn", "Anaesthesie"]

bs = 32 # batch size 
all_embs = []
for i in tqdm(np.arange(0, len(entity_descriptions), bs)):
    toks = tokenizer.batch_encode_plus(entity_descriptions[i:i+bs], 
                                       padding="max_length", 
                                       max_length=40, # model trained with 40 max_length 
                                       truncation=True,
                                       return_tensors="pt")
    toks_cuda = {}
    for k,v in toks.items():
        toks_cuda[k] = v.cuda()
    cls_rep = model(**toks_cuda)[0][:,0,:] 
    all_embs.append(cls_rep.cpu().detach())

all_embs = torch.cat(all_embs)

def cos_sim(a, b):
    a_norm = torch.nn.functional.normalize(a, p=2, dim=1)
    b_norm = torch.nn.functional.normalize(b, p=2, dim=1)
    return torch.mm(a_norm, b_norm.transpose(0, 1))

# cosine similarity of first entity with all the entities
print(cos_sim(all_embs[0].unsqueeze(0), all_embs))

# >>> tensor([[1.0000, 0.9337, 0.6206, 0.2086]])

BibTeX

@inproceedings{mustafa-etal-2024-leveraging,
    title = "Leveraging {W}ikidata for Biomedical Entity Linking in a Low-Resource Setting: A Case Study for {G}erman",
    author = "Mustafa, Faizan E  and
      Dima, Corina  and
      Ochoa, Juan  and
      Staab, Steffen",
    booktitle = "Proceedings of the 6th Clinical Natural Language Processing Workshop",
    month = jun,
    year = "2024",
    address = "Mexico City, Mexico",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2024.clinicalnlp-1.17",
    pages = "202--207", 

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей