ESM-2 (esm2_t12_35M_UR50D) — ONNX для transformers.js
Конверсия facebook/esm2_t12_35M_UR50D для запуска в браузере через @huggingface/transformers без серверного API и без токенов.
Зачем
РКН блокирует *.workers.dev в РФ, а публичных безключевых протеиновых LM не существует.
Этот репо — часть VetInSilico: ESM-2 fill-mask
выполняется целиком в браузере пользователя (WebAssembly/WebGPU), веса качаются с
huggingface.co (не заблокирован) и кешируются локально.
Файлы
onnx/model.onnx— fp32 (~134 МБ)onnx/model_quantized.onnx— int8 (~34 МБ, рекомендуемыйdtype: "q8")tokenizer.json— char-level WordLevel +<cls>/<mask>/<eos>(added_tokens корректны для<mask>)
Проверка качества: top-5 на MKT<mask>YIAK совпадает с HF Inference API
(L 0.1066 / I 0.0853 / S 0.0817 / K 0.0811 / N 0.0606); int8-квантование даёт
отклонение вероятностей < 0.005.
Использование
import { pipeline } from "@huggingface/transformers";
const pipe = await pipeline("fill-mask", "shrayyyy/esm2-t12-35M-onnx-js", { dtype: "q8", top_k: 20 });
const out = await pipe("MKT<mask>YIAK");