/ Модель

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

Лицензия
Apache 2.0
Архитектура
melp · dense
Библиотека
transformers
Опубликована
23 сен 2026

MELP-Encoder-repro

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

MELP-Encoder-repro извлекает многоуровневые эмбеддинги из 12-канальных записей ЭКГ для последующего анализа сердечного ритма.

31скачиваний за 30 дней0лайковвеса обновлены23 сен 2026

Бенчмарки

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

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

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

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

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

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

xjc1022/MELP-Encoder-repro — воспроизведённый ECG-энкодер, опубликованный как отдельная ЭКГ-башня модели MELP. Автор указывает, что модель обучена в форке HKU-MedAI/MELP#4 и имеет ту же архитектуру и упаковку, что и fuyingw/MELP_Encoder; метод описан в статье «From Token to Rhythm: A Multi-Scale Approach for ECG-Language Pretraining» (ICML 2025). Репозиторий распространяет только экг-компонент, а не текстовую башню MELP.

Модель принимает 12-канальную запись ЭКГ длиной 10 секунд с частотой 500 Гц, с порядком отведений I, II, III, aVR, aVF, aVL, V1–V6 и нормализацией min-max в диапазон [0, 1]. Она формирует эмбеддинги на уровне ритма размером 256, на уровне сердечных сокращений размером 12 × 256 и на уровне токенов размером 128 × 768. Предназначена для извлечения признаков из ЭКГ; заявленные результаты zero-shot классификации относятся к полной MELP с текстовой башней и не характеризуют автономное применение этого репозитория. Для zero-shot сценария требуется отдельная текстовая башня.

Модель создана на базе инициализации ECG-FM wav2vec2-CMSC и обучена на парах записей ЭКГ и отчётов MIMIC-IV-ECG. Метаданные указывают библиотеку Transformers, формат safetensors и лицензию Apache-2.0. Для воспроизведения автор рекомендует использовать исходную предобработку; расхождение между денойзированными волновыми формами при обучении и исходными при оценке ухудшало качество в описанных экспериментах. Данные MIMIC-IV-ECG доступны по правилам PhysioNet; README советует проверять соглашение об использовании данных при распространении производных материалов.

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

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

Ограничения

Репозиторий содержит только ECG-энкодер, поэтому zero-shot классификация MELP требует отдельной текстовой башни. Описанный формат входа предполагает 12 отведений, 10 секунд при 500 Гц и конкретную нормализацию; веса обучены на данных MIMIC-IV-ECG.

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

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

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

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

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

Открыть на Hugging Face

MELP ECG encoder (reproduction)

The ECG tower of a MELP model trained from this fork: HKU-MedAI/MELP#4. Same architecture and packaging as fuyingw/MELP_Encoder, so it is a drop-in replacement. Original paper: From Token to Rhythm: A Multi-Scale Approach for ECG-Language Pretraining (ICML 2025), Wang, Xu & Yu — all credit for the method belongs to the authors.

import torch
from transformers import AutoModel

model = AutoModel.from_pretrained("xjc1022/MELP-Encoder-repro", trust_remote_code=True).eval()
ecg = torch.rand(1, 12, 5000)          # 12 leads, 10 s at 500 Hz, scaled to [0, 1]
with torch.no_grad():
    out = model(ecg)
# out["proj_ecg_emb"]    (B, 256)     rhythm level, the zero-shot embedding
# out["ecg_beat_emb"]    (B, 12, 256) beat level
# out["ecg_token_emb"]   (B, 128, 768) token level

Lead order is I, II, III, aVR, aVF, aVL, V1-V6, and each record is min-max scaled to [0, 1] over the whole 12x5000 array — the same preprocessing the training data used.

Zero-shot results

Six-dataset mean AUROC from scripts/zeroshot/test_zeroshot.py (the paper's protocol), test splits:

RhythmFormSubSuperCPSC2018CSNAverage
This run86.4370.3277.6577.2284.1874.5878.40
Paper (Table 3)85.469.181.276.284.277.679.0

Those numbers describe the full MELP model this encoder came from: zero-shot needs the text tower as well, which is not part of this repo. What is published here is the ECG tower alone, for use as a feature extractor.

How it was trained

Text tower fuyingw/heart_bert, ECG tower initialised from an ECG-FM wav2vec2-CMSC checkpoint, trained on MIMIC-IV-ECG report pairs. 4x RTX 3090, batch 64/device, lr 1e-4, n_queries_contrast=12, loss weights 1.0 / 2.0 / 0.2. Best checkpoint by validation zero-shot AUROC, epoch 4.

Three things mattered more than any hyperparameter here, and all three are fixes in the linked PR:

  1. The shipped LR scheduler has no warmup, and without it both towers collapse within ~25 steps — every zero-shot AUROC comes out at exactly 0.5.
  2. Training on denoised waveforms while evaluating on raw ones opens a domain gap worth 5.6 AUROC points (70.75 -> 78.40 once the raw wfdb records are used).
  3. The peak is at epoch 4. Runs stopped earlier, or validated only at epoch boundaries, miss it.

Data

Pretrained on MIMIC-IV-ECG, which is PhysioNet credentialed-access data. These are model weights rather than data, but check the PhysioNet data use agreement before redistributing anything derived from them.

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

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

GPU в ailist

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

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

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
MELPEncoderModel
Ревизия весов
0d5fdc4

0 моделей