Автор запустил 8 нейросетей на списанной плате за $50 — и упёрся в память
Автор запустил 8 нейросетей на списанной плате за $50 — и упёрся в память Автор продолжил эксперимент с дешёвым ИИ-ускорителем: в первой части он запустил языковую модель Qwen на списанной FPGA-плате за $50 (FPGA — микросхема, которую можно перепрошивать под свои вычисления). Теперь он собрал прошивку с нуля, показал кристалл и замеры и прогнал 165 запусков восьми языковых моделей — все завершились успешно за 3 часа 16 минут. Железо: списанная серверная карта Inspur с чипом Kintex-7, двумя каналами памяти DDR3 по 2 ГиБ и разъёмом PCIe для связи с компьютером. Сама плата обошлась примерно в $50, полный минимальный стенд — около $100 (плата, доставка, программатор). Вариант с подключением через ноутбук добавил бы ещё ~$225. Скорость генерации текста: Qwen3.5-2B — 12,5 токенов в секунду (токен — кусочек текста, которым модель измеряет объём), Qwen3-0.6B — 35, маленькая LFM2.5-230M — 95. Это измерено по счётчикам самой платы, без накладных расходов компьютера; с учётом компьютера цифры чуть ниже. Главный результат оказался не тем, которого автор ждал. Матрица из 512 умножителей способна выдать 121 GOPS из 136,5 возможных (GOPS — миллиарды операций в секунду; это 89% пика) — для платы за $50 это прилично. Но при генерации текста ей достаётся меньше четверти: каждый токен требует прочитать из памяти все веса модели, а DDR3 уже работает на 92–96% своего предела (до 16,4 ГБ/с) и быстрее подвезти данные не может. Отсюда практические выводы: смена PCIe x8 на x1 почти не влияет на скорость генерации, потому что веса уже лежат в памяти платы и по шине не ходят (но если модель не помещается в память платы и подгружается с компьютера, шина снова станет узким местом). 4-битные веса вместо 8-битных ускоряют в 1,4–1,8 раза, а не вдвое: часть данных остаётся в 8 битах. По устройству: прошивка — это не только вычислительное ядро openTPU, но и дорога к памяти, и связь с компьютером. Обвязка съедает почти вдвое больше энергии, чем сами вычисления (оценка инструмента Vivado, не ваттметр): 9,7 Вт на кристалле, из них ядро — 3,1 Вт. Занято 59% логики, но 76% «слайсов» — базовых ячеек размещения, поэтому «свободно 40%» — иллюзия. Частота 133 МГц упирается не в сложность логики, а в физические расстояния на кристалле: запас по времени сигнала (тайминг) — всего 19 пикосекунд. Проверки: 138 аппаратных тестов, три прогона подряд, все прошли; 103 теста инструкций совпали с эталоном бит в бит. Оговорка автора: «без ошибок» для 165 запусков означает, что все выдали текст — побитовую сверку ответов моделей он не делал. Температура под нагрузкой — до 65 °C. Автор связывает это с «стеной памяти» — проблемой всей индустрии: данные надо возить к вычислителям, и варианты решения (память HBM рядом с чипом, цельные пластины Cerebras, оптика) лишь позволяют подобраться к идеалу поближе. Дальше он планирует попробовать 2-битные веса BitNet, плату с 64 ГБ DDR4 и YOLO на той же плате. Источник: https://habr.com/ru/articles/1095564/