TGViewer
НТЦ _Модуль НТЦ _Модуль @rc_module · 829 subscribers
Post #630 977

Forwarded from Техножнец

🔥 PromeTorch — свой PyTorch с нуля за 5 недель

🔗 GitHub: github.com/barometech/PromeTorch

Один разработчик. Россия. C++17/CUDA. 137 000 строк. Нативно собирается и работает на Эльбрус E8C2 (VLIW), НТЦ Модуль NM Card Mini и NVIDIA A100.

━━━━━━━━━━━━━━━━━━━━

TL;DR для простых людей:
Если коротко — это альтернатива PyTorch. На ней можно обучать нейросети и запускать LLM. Главное: работает на российских чипах. Не эмуляция, не обёртка — нативная сборка, верифицированная на железе.

TL;DR для спецов:
~35–45% практической площади PyTorch, runtime-verified на реальном железе. Real BFS autograd (не trace-based), 119 backward functions, forward-mode AD, vmap, double backward, gradient checkpointing, hooks. 16 оптимизаторов, 16 LR schedulers, 64+ NN модулей. 720+ gtest.

━━━━━━━━━━━━━━━━━━━━

📊 Inference на A100-SXM4-40GB (Ollama-compatible)

qwen3:4b 82.6 tok/s (50% от Ollama)
gemma3:4b 81.4 tok/s (56%)
deepseek-r1:8b 51.1 tok/s (40%)

10-мин stress: 46.5 tok/s ±0.19. Peak 25.4 GB VRAM / 135 W.

📊 Training на CPU vs PyTorch 2.6 (10 задач)

Все MNIST — match within 0.5pp. LSTM seq cls +1.56pp. VAE MNIST 50 эпох — на 0.35 nats tighter чем PyTorch на identical arch.

📊 Российское железо

- Эльбрус E8C2 — production, MNIST 6.1× быстрее PyTorch 2.7.1 на этой задаче, EML_MT BLAS 1840 GFLOPS (92% пика), NUMA-aware, 4 процесса × 8 ядер Local SGD. 38/38 тестов.
- NM Card Mini K1879VM8YA — emulator production + 1-core real, MNIST MLP 88.94% на Q16.16 fixed-point. 32/32 тестов.
- NM Quad (4×NM6408, 64 NMC4) — 16 cores stable, 100× SIMD.
- Байкал-М/С — cross-compile готов.

🧩 Стек

Ядро: c10 (Allocator/Device/Storage/TensorImpl) + ATen ~150 tensor ops. Dtype dispatch: FP32/64, Half, BFloat16, FP8 e4m3fn/e5m2, Complex, Bool, int8-64.

Autograd: real BFS engine, 119 backward functions, register_hook, anomaly detection, create_graph=True, forward-mode AD (dual numbers + JVP), single-axis bit-exact vmap.

NN (64+): Linear/Bilinear/LazyLinear, Conv1d/2d/3d + ConvTranspose2d, 20+ активаций, BatchNorm/LayerNorm/RMSNorm/GroupNorm/InstanceNorm, RNN/LSTM/GRU, TransformerEncoder/Decoder/MultiheadAttention, 12 loss functions (включая полный CTC Graves DP), PIR architecture (Mamba-родственник).

Optim: SGD, Adam, AdamW, RMSprop, Adagrad, Adadelta, Adamax, AdamKiller, ASGD, Lion, SophiaG, LAMB, Adafactor, NAdam, RAdam, LBFGS + ParamGroups + EMA + clip_grad.

Distributed: real TCP DDP, FSDP/ZeRO-3 bit-exact, TensorParallel, Pipeline (GPipe + 1F1B), DDP.no_sync, ZeRO-Offload.

Export/interop: ONNX (zero-dep manual protobuf, проходит onnx.checker), MLIR (tosa + linalg), torch.jit.compile (trace + fusion + C++ codegen), bi-directional .pt I/O.

Shims: HuggingFace (AutoModel.from_pretrained для Bert/GPT2/Llama + safetensors), torchvision, torchaudio (STFT max |err| 1.79e-7), torchtext, Lightning Trainer.

Serving — PromeServe: Ollama-compatible API, GGUF loader (Q4_K_M, Q5_K_M, Q6_K, Q8_0, F16, F32), flash-decode + CUDA Graph + paged KV, production guardrails.

🗂 Что не закрыто честно:
autocast wiring, sampling-path overhead (82→46 tok/s при T>0), FlashAttention (headers есть, callsites 0), torch.compile уровня TorchInductor нет и не будет, sparse tensors/FX/distributions — отсутствуют, MPS/ROCm — compile-only.

━━━━━━━━━━━━━━━━━━━━

Кому надо:
- training framework на российском железе — единственный известный выбор с нативной сборкой под Эльбрус VLIW + NM Card;
- self-hosted Ollama-compatible LLM сервер с открытой лицензией;
- тем, кто хочет читать, как PyTorch работает изнутри — 137K читаемых строк, без автогена.

ОС: Astra Linux SE, ALT Linux SP, RED OS, Elbrus OS (PDK LE). Docker'ы готовы.

Лицензия: PromeTorch License (BSD-3 + атрибуция «Powered by PromeTorch» + запрет на перепродажу самого фреймворка). Обучать и продавать модели — можно. SaaS, сервисы — можно. Форкать — можно. Ребрендить фреймворк — нельзя.

🔗 GitHub: github.com/barometech/PromeTorch


Техножнец всё делает на свои средства. 🥶
Если есть желание поддержать его, то вот ссылки: 🫡

Поддержать канал: ТБАНК
Поддержать канал: ЮМАНИ
  • 🔥 10
  • ❤ 3
More from @rc_module
  1. Sep 17, 2026➡️"Представьте, что вы построили небоскреб...". Доступно о нанометрах. https://habr.com/ru…
  2. Sep 16, 2026➡️Минпромторг совместно с компаниями —производителями и разработчиками готовит новую страт…
  3. Sep 11, 2026➡️Квантовые басни и квантовая реальность - в 3-м выпуске подкаста "Не Поверхностный Монтаж…
  4. Sep 10, 2026➡️НТЦ "Модуль" на Международном технологическом конгрессе
  5. Sep 3, 2026💡Обращаем внимание участников конгресса: номер стенда НТЦ "Модуль" изменен! 💡Наш стенд -…
  6. Sep 3, 2026➡️Компания представит: Универсальный энергоэффективный микроконтроллер Optimal+ на отладоч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →