Show HN: I built a toy TPU that can do inference and training on the XOR problem
Tiny-TPU: почему и как
Мы решились на безумное: собрать собственный TPU, не имея опыта в железе. Движимы желанием «переизобрести» ускоритель, а не копировать Google, мы пошли «кривым» путём: сначала пробуем самые простые идеи, потом читаем документацию. Цель — научиться думать без ИИ и понять, как устроены нейросети и чипы.
TPU — это ASIC, заточенный под матричные умножения (до 95 % вычислений в трансформерах). В отличие от GPU, он не умеет рисовать кадры, зато делает одно дело быстро и эффективно.
Как работает железо
- Тактовый цикл — базовая единица времени (пико-наносекунды). Всё происходит между «тиками».
- Verilog описывает логику:
Регистры обновляются раз в цикл, а не мгновенно, как в софте.always @(posedge clk) c <= a + b;
Путь к игрушечному TPU
- XOR-MLP 2→2→1 — разобрали вручную: прямой и обратный проходы, градиенты.
- Философия — рисуем всё на бумаге, кодим без ИИ, проверяем «тупые» идеи.
- Результат — работающий «той» TPU, который учится и выводит. Это не клон Google-TPU, а наша версия «как бы мы сделали».
Комментарии (17)
- Проект «toy TPU» пока существует только в симуляторе на Verilog.
- Следующий шаг — запуск на FPGA; чип пока не травился.
- Некоторые советуют рассмотреть Chisel, но есть сомнения в целесообразности для маленьких проектов.
- Целевая аудитория (потребители или edge-устройства) и конечная цель пока не ясны.