T27.AI

Блог

Нейросети на t27: 27 уроков, и в каждом виджет, который исполняет спеку specs/ml

2026-10-18 · 4 мин чтения

[каждый виджет исполняет тела функций спеки gHashTag/t27 specs/ml, собранные в wasm; урок 10 это усредняющий пулинг, пока не слита t27#10612; фикстуры взяты из самих спек, на настоящих данных ничего не обучалось] Курс 10 открывает части, которыми думают агенты проекта: ReLU, GELU и softmax, эмбеддинги и dropout, пулинг и пакетную нормализацию, MSE, перекрёстную энтропию и функцию Хьюбера, SGD, RMSProp, Adam и LAMB, обратное распространение, сеть 2-8-1, которая учит XOR в браузере, рекуррентную ячейку, вентили LSTM, внимание, позиционное кодирование, блок энкодера и PPO.

Титульная карточка статьи, иллюстрации пока нет: Нейросети на t27: 27 уроков, и в каждом виджет, который исполняет спеку specs/ml
Открыть титульную карточку в исходном размере
#t27#Course#AI

На t27.ai вышел курс 10: Нейросети на t27, от одного нейрона до блока трансформера. Агенты этого проекта думают нейросетями, а части, из которых эти сети собраны, уже лежат в gHashTag/t27 спеками с числовыми тестами: функции активации, слои, функции потерь, оптимизаторы, рекуррентные ячейки, внимание, блок трансформера. Курс открывает их по одной. В нём 27 уроков в 9 модулях, каждый урок начинается с вопроса, который задал бы любопытный человек, и виджет отвечает на него числами, которые вычисляют тела fn самой спеки, скомпилированные в WebAssembly и запущенные в вашем браузере.

Девять модулей, двадцать семь виджетов

МодульВиджетыСпеки в specs/ml
Один нейронnn-relu, nn-sigmoid, nn-tanhrelu_activation, sigmoid_activation, tanh_activation
Новые изгибыnn-gelu, nn-silu, nn-elugelu_activation, silu_swish_activation, elu_activation
Слойnn-softmax, nn-embedding, nn-dropoutsoftmax, embedding_layer, dropout_layer
Картинкиnn-conv, nn-maxpool, nn-batchnormavgpool2d_layer, maxpool2d_layer, batchnorm_layer
Ошибкаnn-mse, nn-bce, nn-hubermse_loss, binary_crossentropy_loss, huber_loss
Под горуnn-sgd, nn-rmsprop, nn-adamsgd, rmsprop, adam
Обучениеnn-backprop, nn-xor, nn-lambdense_layer, mlp, lamb
Память и вниманиеnn-rnn, nn-lstm, nn-attentionrnn_cell, lstm_single, attention_mechanism
Трансформер и наградаnn-positions, nn-encoder, nn-ppopositional_encoding, encoder_block, ppo_clip_loss

Картинки показывают, как выглядят числа: кривые активации, по которым можно вести курсор, вместе с наклоном, столбики softmax, которые заостряются, когда охлаждаешь температуру, окна пулинга как тепловые карты, вес, спускающийся в чашу под SGD, RMSProp и Adam, две головы внимания как сетки и позиции как стрелки четырёх часов.

Сеть, которая учится в браузере

Урок 20 обучает сеть. mlp.t27 хранит сеть 2-8-1 из ReLU и тест, что она выучивает XOR за 2000 эпох при lr 0.05. Собранная в wasm, та же fn xor(epochs, which) работает в виджете, заново для каждой точки кривой потерь. Потеря падает с 0.8896 в эпохе 1 до 1.8e-13, а четыре ответа выходят в пределах 4e-7 от 0, 1, 1 и 0. Рисунок ниже нарисован этой собранной fn.

1e01e-21e-41e-61e-81e-101e-121e-140500100015002000эпохипотеря (log)0.88961.8e-13после 2000 эпох0 00.0000 11.0001 01.0001 10.000
Потеря обучения XOR сети 2-8-1 из mlp.t27 по эпохам в логарифмической шкале и четыре её выхода после 2000 эпох, посчитанные собранной спекой, которую исполняет виджет nn-xor. Потеря падает с 0.8896 до 1.8e-13 и выполаживается около точности f32 примерно после 600 эпох.

Как спеки попали в браузер

Ни один виджет не копирует формулу. scripts/t27-logic.mjs из 999-multibots-telegraf запускает t27c gen на спеке, собирает Zig через Zig 0.16 под wasm32 и пишет небольшой модуль с одной функцией на каждую fn спеки; scripts/widget-logic.mjs сайта кладёт его рядом с виджетом вместе с побайтной копией спеки и останавливает сборку, если они разошлись. Функции specs/ml принимают индекс как usize, и t27-logic.mjs научился его понижать в 999#4017; после этого 27 спек дали 27 виджетам их логику без единой переписанной строки. Читатель спек на сайте в том же изменении научился читать эпсилон, записанный как 1e-8.

Чего это не показывает

Попробовать

Чего это не решает

Пруфы

Поработаем вместе

Нужно довести FPGA/RTL-задачу до замеров на железе?

Работаю по контракту и part-time с hardware-AI, FPGA/RTL и ML-системами — от спецификации и открытого тулчейна до воспроизводимых измерений.