
Сказки
1 пост
1 пост
🔧 Используем устаревшие ASIC-майнеры для обучения нейросетей: революционный подход через SHA-256
Глубокие модели, такие как GPT и Stable Diffusion, требуют миллионов долларов на обучение. Гигантские кластеры GPU жрут электричество, греют воздух и сжигают бюджеты. А что если я скажу, что миллионы готовых вычислительных устройств — уже лежат пылью в гаражах, фермах и дата-центрах?
Речь о ASIC-майнерах, оптимизированных под SHA-256. Например, Antminer S9 или Whatsminer M30S — они умеют только хешировать, но делают это с терахешной скоростью при умеренном энергопотреблении. Почему бы не использовать их для подбора весов нейросети?
Поскольку 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 в блокчейне;
Параллельные эксперименты без дорогостоящего оборудования.
🔗 GitHub (WIP): Прототип контроллера + backend на Python
📊 Бенчмарки: Сравнение с GPU (NVIDIA 3060, A100)
📃 Whitepaper: Теория сходимости + метрики
Хакеры и энтузиасты старого железа
Дата-центры с простаивающими ASIC
Исследователи альтернативных методов обучения
Блокчейн-проекты, желающие перейти от PoW к PoT (Proof of Training)
Это не просто способ оживить старое железо — это попытка пересмотреть саму парадигму обучения. В мире, где всё автоматизируется и централизуется, почему бы не вернуть вычисления обратно — в гаражи, на балконы и на отработавшие фермы?
Если вас вдохновила идея — подпишитесь и давайте делать обучение доступным снова.
### **1. Пустота**
Квартира в панельной высотке. Пахнет нафталином и тщетностью.
*Он* — бывший инженер, теперь подрабатывает сторожем на кладбище. *Она* — швея, последние пять лет фанатично вяжет пинетки, которые никому не нужны.
На стене — УЗИ-снимки с размытыми пятнами. В шкафу — коробка с кипами бумаг из клиник: *«бесплодие неясного генеза», «попытка №13», «рекомендовано прекратить стимуляцию»*.
Они молча едят макароны без масла. Деньги кончились. Надежды — тоже.
---
### **2. Ритуал**
Она находит старую тетрадь в комоде — записи её бабки-знахарки. Страницы с загнутыми углами, пятна, похожие на кровь. Рецепт:
- **Прах первого выкидыша** (они хранили его в жестяной коробке из-под леденцов)
- **Волосы матери**
- **Соль, замешанная на слезах**
- **Кость неродившегося** (достали из медицинского контейнера)
Растирают в ступке. Лепит *Она* — дрожащими руками, будто тесто для кулича.
*Он* чертит на полу мелом круги, шепчет что-то на языке, которого не знает.
В 3:14 ночи лампочка в прихожей лопается.
На полу остаётся **оно**.
---
### **3. Оно**
Белое. Гладкое. Размером с арбуз.
Не дышит, но **пульсирует**.
Не говорит, но **поёт** — голосом, похожим на скрип несмазанных качелей.
*«Есть-хочу-есть…я уйду...голод-голод-голод.»*
Они запирают его в
комоде. Наутро он пуст. На полу — мокрый след, ведущий к двери.
---
### **4. Первый**
**Сергей — сосед снизу, вечно трясущийся алкаш.
Находят его в подъезде: лицо в луже собственной рвоты, пальцы сведены судорогой. Врачи говорят — *«остановка сердца»*.
Но *Она* замечает на его шее **отпечаток** — будто кто-то маленький и липкий обхватил её лапками.
---
### **5. Второй**
**Володя** — участковый, брал взятки за молчание об их «экспериментах».
Его находят в парке: горло вспорото **чем-то круглым**, как будто гигантской теркой. В кармане — комок мокрой бумаги. Если прислушаться, кажется, что он **смеётся**.
---
### **6. Третий**
**Михаил** — бывший армейский товарищ *Его*, ныне — охранник в кабаке.
После визита *комка* он запирается в своей квартире, заклеивает все щели скотчем. Через три дня соседи вызывают МЧС — вскрывают дверь.
Михаил сидит в углу, **выскоблив** себе глаза ложкой. На стене кровью выведено:
*«ОНО СЪЕЛО МЕНЯ ИЗНУТРИ»*
---
### **7. Четвёртый**
**Лариса** – бывшая подруга *Её*, владелица ателье.
Нашли в подсобке.
Кишки – вместо верёвки.
На манекене – её кожа, аккуратно вывернутая наизнанку.
А на полу – **липкий круглый след**, ведущий к выходу.
---
### **8. Возвращение**
Дождь бьёт в окно. Они сидят на кухне, пьют дешёвый бальзам.
— Надо было добавить **больше соли**, — бормочет *Она*, — тогда бы не убежало…
Вдруг — **стук**. Сначала в дверь. Потом — **изнутри шкафа**.
*Он* открывает нижний ящик. Там, среди пинеток, лежит **оно**.
Больше. Тяжелее.
И теперь у него есть **рот**.
---
### **9. Финал**
Утром соседи жалуются на запах. Вскрывают дверь.
Квартира пуста. Два комплекта пропитанной кровью одежды валялись на кровати в спальне...
На столе — **Пирог с мясом**.
Кто-то уже отломил краешек.
---
**Эпилог**
*Иногда голод — это не про еду.
Иногда дети — это не про любовь.*
### **Полная инструкция по уборке сильно загрязнённой квартиры
#### **1. Подготовка**
**✔ Инвентарь и химия:**
- **Пылесос** (желательно с HEPA-фильтром, так как есть дети).
- **Парогенератор** (для дезинфекции и удаления сложных загрязнений).
- **Микрофибра** (разных цветов для зон: пол, сантехника, кухня, пыль).
- **Губки, скребки, щётки** (включая зубные для мелких деталей).
- **Швабра с отжимом** (и тряпки для пола).
- **Мешки для мусора** (крепкие, 30–60 л).
- **Стремянка** (для верхних шкафов, люстр).
**✔ Химия:**
- **Универсальное средство** (например, Cif, Frosch, Bref Power).
- **Средство для сантехники** (Domestos, Sarma Active Gel).
- **Стеклоочиститель** (Mr. Proper, Clin).
- **Обезжириватель** (Мистер Мускул для кухни).
- **Дезинфектант** (например, Sanfor или хлорсодержащий для санузла).
- **Полироль для мебели** (Pronto, Poliboy).
- **Средство для удаления наклеек/следов от детей** (спирт, WD-40 или ацетон для сложных случаев).
**✔ Защита:**
- Перчатки (нитриловые, плотные).
- Маска (если много пыли или работа с хлором).
- Бахилы (чтобы не разносить грязь).
---
### **2. Последовательность уборки (от общего к частному)**
#### **Этап 1. Разгрузка пространства**
- Уберите игрушки, одежду, посуду в коробки/стиральную машину.
- Соберите крупный мусор (упаковки, бумаги) в мешки.
#### **Этап 2. Сухая уборка (пыль, крошки, шерсть)**
- Пропылесосьте **все поверхности**: полы, диваны, ковры, подоконники, радиаторы.
- Пройдитесь **сухой микрофиброй** по шкафам, полкам, люстрам (пыль может быть аллергенной).
- Уделите внимание **углам, плинтусам, вентиляции** (там скапливается пыль).
#### **Этап 3. Влажная уборка (по зонам)**
**✔ Кухня:**
1. **Шкафы и фасады** – обезжириватель + микрофибра.
2. **Плита и вытяжка** – сильный налёт удалить пастой (сода + средство для мытья посуды).
3. **Холодильник** – выключить, разморозить, помыть внутри с содой.
4. **Микроволновка** – чашка воды + лимон (5 мин на max) → протереть.
5. **Раковина и смеситель** – сантехнический гель + скребок для налета.
6. **Пол** – в последнюю очередь (после всей грязи).
**✔ Санузел:**
1. **Унитаз** – Domestos на 15 мин → почистить ёршиком и щёткой.
2. **Ванна/душевая** – средство против плесени (например, Cillit Bang), потереть щёткой.
3. **Смесители и зеркала** – уксус или стеклоочиститель.
4. **Стиральная машина** – пустить на холостом ходу с лимонной кислотой (если есть запах).
**✔ Детская комната:**
- **Игрушки** – протереть влажной тряпкой с содой.
- **Ковры** – пропылесосить + обработать паром (если нет аллергии у детей).
- **Мебель** – полироль без сильного запаха.
- **Окна** – помыть снаружи и внутри (если доступно).
**✔ Жилые комнаты:**
- **Диваны, кресла** – пропылесосить + пятна обработать паром.
- **Шкафы** – вытереть внутри (возможно, переложить вещи).
- **Окна и подоконники** – стеклоочиститель + микрофибра.
#### **Этап 4. Полы**
- **Сначала пропылесосить**, затем помыть с моющим средством.
- **В трудных местах** (присохшие следы) – швабра с горячей водой и уксусом.
#### **Этап 5. Финишные штрихи**
- Проветрить квартиру.
- Разложить вещи аккуратно (по желанию клиента).
- Проверить, нет ли пропущенных зон.
---
### **3. Нюансы**
⚠ **Дети в доме → минимум химии с резким запахом!**
- После хлора в санузле – проветрить.
- Не оставлять ведро с водой без присмотра.
- Проверить, нет ли мелких деталей (ребёнок может проглотить).
⚠ **Сложные загрязнения:**
- **Жвачка на полу/мебели** – лёд в пакете (заморозить и снять скребком).
- **Фломастеры на стенах** – спирт или меламиновая губка.
- **Плесень в ванной** – хлорка + проветривание.
---
### **4. Контроль качества**
- Проверить:
- Нет ли разводов на стёклах.
- Блестит ли сантехника.
- Убрана ли пыль в труднодоступных местах.
- Нет ли запахов (особенно в кухне и санузле).
Если клиент доволен – можно предложить **регулярную уборку с графиком**.
---
**Важно:** Работайте быстро, но без спешки. Клиенты с детьми ценят, когда уборщик не создаёт лишнего шума и суеты. Удачи! 🚀