Найти в Дзене
Типобезопасные матрицы с const generics
В машинном обучении (ML) на Rust типобезопасные матрицы с const generics особенно ценны, когда архитектура модели имеет фиксированные размеры, известные на этапе компиляции. Это даёт: Это матрицы (таблицы чисел), где размеры (количество строк и столбцов) проверяются на этапе компиляции (когда программа ещё только собирается). Если вы попытаетесь сложить матрицу 2×2 с матрицей 3×3, компилятор сразу выдаст ошибку — программа даже не запустится. Пример: Представьте, что у вас есть коробка для яиц на 10 ячеек. Вы не сможете положить туда 12 яиц — коробка просто не даст. Так и с типобезопасными матрицами: если размеры не совпадают, компилятор не даст программе запуститься...
1 месяц назад
ublk с ML-предсказанием
В этом проекте создаётся виртуальный диск, который использует машинное обучение, чтобы предсказывать, какие данные понадобятся пользователю в следующий момент. Это позволяет ускорить работу с диском, снижая задержки при чтении. Данный код — виртуальное блочное устройство на базе ublk (userspace block driver в Linux) с использованием машинного обучения (LSTM-модель из библиотеки Burn). Устройство работает как loop-device (перенаправляет I/O на файл backing.img размером 100 GiB), но с ML-предсказанием следующего блока для снижения latency при чтении. ublk (userspace block driver в Linux) - Это технология,...
1 месяц назад
CDC (Change Data Capture) ML
t.me/oneRustnoqRust Написать код CDC real-time data processing обладающий следующими свойствами: Тысячи партиций: данные делятся на множество независимых частей (партиций), каждая из которых обрабатывается отдельно. Например, как в супермаркете: вместо одной кассы — десятки, и каждый покупатель идёт к своей. Авто-backpressure: если система не успевает обрабатывать данные, она автоматически замедляет их поступление, чтобы не перегрузиться (как если бы кассир просил покупателей подождать, пока освободится место на ленте). ML-батчинг на GPU: данные собираются в небольшие пакеты (батчи) и анализируются на видеокартах (GPU), что ускоряет процесс...
1 месяц назад
ML атомики
Атомарные операции — это неделимые инструкции (например, atomicAdd, atomicCAS, compare-and-swap), которые обеспечивают безопасный доступ к общей памяти в многопоточных или параллельных средах без использования блокировок (locks). В ML они особенно полезны для ускорения обучения на CPU/GPU и в распределённых системах, где возникают race conditions. Атомарные операции не универсальны: они медленнее обычных инструкций из-за сериализации, поэтому применяются только там, где нужны (sparse updates или high contention). В современных фреймворках (например, Horovod, DDP в PyTorch) чаще используются collectives (allreduce), но atomics остаются ключевыми для low-level оптимизаций и custom кода...
1 месяц назад
Cow (Clone-on-Write) для ML
Cow (Clone-on-Write) - тип, который позволяет переиспользовать данные без копирования, пока это возможно. ML-проекты работают с большими объёмами данных, где лишние аллокации и копии сильно бьют по производительности (особенно на inference). Cow даёт «бесплатную» оптимизацию: пишешь код так, будто у тебя всегда owned-данные, а Rust копирует только когда действительно нужно изменить. Это делает код проще и быстрее, чем ручное ветвление на &str vs String или &[T] vs Vec. Принимаем входной текст как &str, разбиваем его на токены и применяем нормализацию (приведение к нижнему регистру) только когда это действительно нужно...
1 месяц назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала