👶 Дети майнят Bitcoin вместо домашки? А может, ВО ВРЕМЯ домашки? 🤯
Знаете, иногда натыкаешься на такие проекты, что сначала думаешь: "Что это за бред?". А потом присматриваешься и понимаешь – это гениальная сатира. Сегодня у нас как раз такой случай – встречайте CUDAAAAGH
от Роберта Хитона, известного программиста-блогера.
Аттракцион невиданной эксплуа... эффективности: MinorMiner
Итак, Хитон представил миру "инновационную" платформу MinorMiner. Идея проста, как угол дома, и цинична донельзя:
- Берем сложные вычисления (например, майнинг Bitcoin или, чем черт не шутит, обучение нейросеток).
- Разбиваем их на миллионы и миллиарды элементарных арифметических задачек: 5+3=?, 10*5=?, 102 > 67 (y/n)?.
- Подсовываем эти задачки школьникам под видом обычной домашней работы через "специализированную образовательную платформу".
- Дети ("вычислительные партнеры", как их нежно называет автор) решают, а система собирает ответы и двигает большой расчет вперед.
"Домашние задания — это основное сырье, которое питает нашу машину. Нам нужны эти дети. Нет детей — нет биткойнов."
– Hobert Reaton (aka Robert Heaton), основатель MinorMiner
А как же ошибки? Пф-ф, все продумано! Каждая задачка отправляется двум "партнерам". Если ответы расходятся – эскалация на "более опытного партнера" (читай: отличника) для арбитража. Есть даже система рейтинга: упал ниже 4.3 звезд – добро пожаловать на "дополнительное обучение" или "искать образовательные возможности в другом месте". Демократия в чистом виде, не иначе 🌚.
Каждый ребенок в системе MinorMiner имеет рейтинг. Падение рейтинга ниже определенного уровня ведет к 'дополнительному обучению' или исключению. Эффективный менеджмент ресурсов, не правда ли?
CUDAAAAGH: Python-либа для порабощения... простите, распределенных Вычислений
Сердцем этой "гениальной" схемы является Python-библиотека CUDAAAAGH (Centralized Underage Distributed Arithmetic - Automated Assignment And Group Hashing). Название – уже песня!
1. Устанавливаем: pip install CUDAAAAGH
2. Запускаем сервер для "ручных вычислений":
from CUDAAAAGH import start_server import asyncio if __name__ == "__main__": asyncio.run(start_server(host="127.0.0.1", port=8000))
3. В своем коде используем кастомный тип CUDAAAAGHInt
вместо обычных целых чисел:
from CUDAAAAGH import CUDAAAAGHInt, set_compute_endpoint # Configure the endpoint set_compute_endpoint("http://localhost:8000/compute") a = CUDAAAAGHInt(10) b = CUDAAAAGHInt(5) # Эта операция будет отправлена ребенку для решения result = a + b print(f"10 + 5 = {result}") # А эта займет "несколько тысяч лет" # hash_result = sha256("Hello!", CUDAAAAGHInt) # print(f"SHA-256 hash: {hash_result}")
Библиотека перехватывает стандартные арифметические операции (+, -, *, //) и даже битовые операции (&, |, ^, <<, >>), разлагая последние на последовательности более простых действий, понятных "вычислительным партнерам".
"Светлое" будущее: оптимизация учебных программ и параллельные дети
Производительность? Ну, пока один ребенок считает хэш SHA-256 примерно 2000 лет. Но не волнуйтесь, у Хитона есть план:
- Параллелизация: Зачем одному ребенку мучиться над одним хэшем? Можно же разбить задачу на независимые куски и раздать разным детям! И даже внутри одной операции, например XOR, можно найти, что распараллелить. Хитон даже приводит пример асинхронного
__xor__
:
import asyncio class CUDAAAAGHInt: # ... (пропущен конструктор и другие методы для краткости) ... async def __xor__(self, other: 'CUDAAAAGHInt') -> 'CUDAAAAGHInt': async def compute_bit_xor(i: int) -> 'CUDAAAAGHInt': # ... (логика вычисления одного бита XOR асинхронно) ... # bit_self_task = asyncio.create_task(self._ith_bit(CUDAAAAGHInt(i))) # bit_other_task = asyncio.create_task(other._ith_bit(CUDAAAAGHInt(i))) # bit_self = await bit_self_task # bit_other = await bit_other_task # xor_bit = bit_self + bit_other - CUDAAAAGHInt(2) * bit_self * bit_other # return xor_bit << CUDAAAAGHInt(i) # ЗАГЛУШКА: Реальная логика из блогпоста была бы здесь # Временно упростим, чтобы не перегружать val_i_self = (self.val >> i) & 1 val_i_other = (other.val >> i) & 1 xor_val_i = val_i_self ^ val_i_other return CUDAAAAGHInt(xor_val_i << i) # Упрощенный возврат для примера max_bits = max(self.val.bit_length(), other.val.bit_length()) tasks = [compute_bit_xor(i) for i in range(max_bits)] all_bits = await asyncio.gather(*tasks) result = CUDAAAAGHInt(0) for bit in all_bits: result = result + bit # Здесь CUDAAAAGHInt сложение тоже "улетает" детям return result # ... (остальные методы, как _ith_bit, bit_length) ... # ЗАГЛУШКА: для полноты примера def __init__(self, val: int): self.val = val def __add__(self, other): return CUDAAAAGHInt(self.val + other.val) # Примерная реализация async def _ith_bit(self, i: 'CUDAAAAGHInt') -> 'CUDAAAAGHInt': return CUDAAAAGHInt((self.val >> i.val) & 1) def bit_length(self) -> int: return self.val.bit_length()
Обратите внимание, что даже в примере параллелизации XOR, каждая элементарная операция (сложение, сдвиг) внутри compute_bit_xor
и финальное суммирование результатов через result = result + bit
снова будут отправляться 'вычислительным партнерам'.
- Оптимизация учебной программы: Зачем мучиться с разложением XOR на сложения, если можно просто... научить детей считать XOR? MinorMiner активно лоббирует включение битовых операций в программу первого класса, а полного расчета SHA-256 – в программу седьмого. Девиз: "No Child Left Unmined". 😱
- Teacher Incentive Alignment (TIA): Учителя ("Distribution Associates") получают процент от хэшей, намайненных их учениками. Говорят, после этого количество "домашки" у некоторых выросло на 1,000,000%.
И это не предел! После Bitcoin – AI. Ведь матричная алгебра это "просто сложение и умножение в забавных символах". А потом и облачные вычисления: "Везде, где у компьютера обычно электрон, мы заменим его ребенком, делающим домашнее задание по математике".
Что это за дичь?
На мой взгляд, это блестящий образец сатиры. Роберт Хитон взял несколько самых горячих и больных тем современного IT и довел их до абсолютного абсурда:
- Криптовалютный хайп и "зеленый" майнинг: Вот вам по-настоящему "экологичный" способ добычи – детский труд!
- AI-революция и жажда вычислительных мощностей: Зачем GPU, если есть миллионы школьников?
- Оптимизация и автоматизация всего и вся: Дооптимизировались до ручного труда, но под соусом "инноваций".
- Современное образование и его "реформы": Лоббирование абсурдных изменений в учебные программы ради сиюминутной "выгоды" – знакомо, не правда ли?
- Корпоративная риторика: Все эти "вычислительные партнеры", "ассоциаты по дистрибуции", "программы мотивации" – чистейшая пародия на язык современных корпораций, прикрывающий порой весьма неприглядные вещи.
Это напоминает мне ситуацию с некоторыми "образовательными" платформами, которые, под видом передачи знаний занимаются чем угодно, но не реальным образованием. Хитон просто экстраполировал эту идею на вычислительные ресурсы.
Трансформирует ли CUDAAAAGH IT-индустрию? Конечно, нет. Это даже не proof-of-concept, а скорее proof-of-absurdity. Но он, как кривое зеркало, высвечивает многие наши современные заскоки. И, возможно, заставляет задуматься: а не занимаемся ли мы иногда чем-то подобным, просто в менее очевидной форме?