Используем устаревшие ASIC-майнеры для обучения нейросетей: революционный подход через SHA-256
🔧 Используем устаревшие ASIC-майнеры для обучения нейросетей: революционный подход через SHA-256
🧠 Проблема: обучение нейросетей — слишком дорого
Глубокие модели, такие как GPT и Stable Diffusion, требуют миллионов долларов на обучение. Гигантские кластеры GPU жрут электричество, греют воздух и сжигают бюджеты. А что если я скажу, что миллионы готовых вычислительных устройств — уже лежат пылью в гаражах, фермах и дата-центрах?
Речь о ASIC-майнерах, оптимизированных под SHA-256. Например, Antminer S9 или Whatsminer M30S — они умеют только хешировать, но делают это с терахешной скоростью при умеренном энергопотреблении. Почему бы не использовать их для подбора весов нейросети?
💡 Идея: подбираем веса через поиск nonce
Поскольку ASIC не умеют в матрицы и градиенты, мы переворачиваем парадигму: веса нейросети задаются как хеши от seed + nonce, а обучение сводится к их поиску.
Каждый слой сети определим так:
Wl=φ(SHA256(seed∣∣nonce))W_l = φ(SHA256(seed || nonce))
seed — константа, уникальная для слоя;
nonce — искомое значение, которое подбирает ASIC;
φ — преобразование хеша в тензор весов (например, 32 байта → 8 float32 значений).
Такой подход превращает обучение в задачу поиска хороших nonce, при которых сеть минимизирует loss-функцию.
⚙️ Как это работает?
Сервер отправляет майнерам seed и диапазон nonce.
ASIC хеширует seed || nonce → SHA-256.
Бэкенд (на GPU/CPU) преобразует хеш в веса и проводит forward-pass.
Вычисляется ошибка (loss), и лучшие nonce возвращаются обратно.
Цикл повторяется, сужая область поиска.
Схематично:
Seed → [ASIC: SHA-256] → Weights → [GPU: Inference] → Loss → Feedback
🔌 Железо: работаем с тем, что было
Модель Хешрейт (TH/s) Потребление (Вт) Antminer S9 14 1350 Antminer S19 Pro 110 3250 Whatsminer M30S++ 112 3472
Даже старые модели вроде S9 могут выдавать миллионы хешей в секунду. Это примерно 1 млн уникальных попыток весов каждую секунду — абсолютно бесплатно, если устройство уже есть.
🛠️ Стек: как всё соединить
Контроллер: модифицированный CGMiner или BFGminer, принимающий задания через API.
Бэкенд: Python (Flask или gRPC), который управляет заданием, оценивает модели и логирует результаты.
Хранилище: Redis для кеша nonce, HDF5 или Parquet для логов весов и метрик.
Пример API-запроса:
curl -X POST http://localhost:5000/job \ -d '{"seed": "conv1_layer", "nonce_range": [0, 1000000]}'
🚀 Производительность
На примере сети с 100 млн параметров (ResNet, LSTM, Transformer):
Один SHA-256 хеш → 8 float32 весов.
Нужно ~12.5 млн хешей для генерации одного слоя.
Antminer S19 Pro делает 110 * 10⁶ хешей/с → один слой — за ~0.1 сек.
Даже без backpropagation, поиск весов работает удивительно быстро.
🤔 Что с точностью?
Конечно, нет градиентов — значит, классическое обучение невозможно. Но:
Мы можем использовать RLHF (подкрепление + human feedback);
Применить эволюционные алгоритмы (selection + mutation);
Использовать легковесные модели (MobileNet вместо ResNet50).
Если принять парадигму "модель как найденный артефакт", а не как результат градиентного спуска — подход вполне реален.
📉 Ограничения и обходы
Проблема Решение Нет backpropagation Эволюция, RL, поиск Мало битов → грубые веса Квантование + агрегирование Медленно для глубоких сетей Обучение только отдельных слоёв GPU всё ещё нужен Только для оценки (в разы дешевле)
🌍 Потенциал и будущее
Представьте: миллионы старых ASIC-майнеров по миру запускаются повторно — не ради бесполезного "proof-of-work", а ради обучения ИИ. Один S9 сегодня стоит $20–30 — дешевле, чем кулер для GPU. Вместо того чтобы выкидывать их, мы можем строить:
Децентрализованные обучающие фермы;
Proof-of-training в блокчейне;
Параллельные эксперименты без дорогостоящего оборудования.
📦 Open Source и примеры
🔗 GitHub (WIP): Прототип контроллера + backend на Python
📊 Бенчмарки: Сравнение с GPU (NVIDIA 3060, A100)
📃 Whitepaper: Теория сходимости + метрики
🙋 Кто заинтересуется?
Хакеры и энтузиасты старого железа
Дата-центры с простаивающими ASIC
Исследователи альтернативных методов обучения
Блокчейн-проекты, желающие перейти от PoW к PoT (Proof of Training)
Заключение
Это не просто способ оживить старое железо — это попытка пересмотреть саму парадигму обучения. В мире, где всё автоматизируется и централизуется, почему бы не вернуть вычисления обратно — в гаражи, на балконы и на отработавшие фермы?
Если вас вдохновила идея — подпишитесь и давайте делать обучение доступным снова.