FPGA для нейросетей за $50: списанная плата тянет 8 языковых моделей локально
Запуск нейросетей на списанной FPGA-плате за 50 долларов звучит как эксперимент для инженеров с паяльником, но автор проекта openTPU доказал, что это рабочий стенд для восьми языковых моделей, и выложил каждый шаг сборки в открытый репозиторий.

FPGA (программируемая логическая матрица, микросхема, которую можно перенастроить под любую задачу) позволяет запускать нейросети локально, без облака и без видеокарты, на железе стоимостью около 100 долларов за полный стенд.
Проект openTPU превращает списанную серверную плату Inspur с чипом Xilinx Kintex-7 в аппаратный ускоритель для языковых моделей. Автор собрал прошивку в среде Vivado, прогнал 165 запусков восьми моделей и опубликовал замеры: от 12,5 токена в секунду на Qwen3.5-2B до 95 токенов в секунду на компактной LFM2.5-230M с 4-битными весами. Токен (token) здесь означает минимальный кусочек текста, который модель обрабатывает за один шаг. Все исходники и скрипты лежат на GitHub.
Результат оказался поучительным: матрица из 512 умножителей выдаёт 121 GOPS (миллиард операций в секунду) из 136,5 возможных, но при генерации текста использует меньше четверти мощности. Причина проста: память DDR3 загружена на 92-96 % и не успевает подвозить веса модели. Именно память, а не вычислительное ядро, определяет скорость.
Что понадобится?
- Плата Inspur YPCB-00338 с чипом Kintex-7 XC7K480T-2, 2 канала DDR3 по 2 гигабайта. Искать на AliExpress или eBay по запросу «XC7K480T», ориентировочная цена около 50 долларов
- Программатор JTAG для прошивки платы, около 40 долларов
- Компьютер с PCIe-слотом (Gen2 x8 для полной скорости, но даже x1 работает с минимальной потерей при генерации)
- Vivado 2024.2 или новее, бесплатная среда разработки от AMD/Xilinx для сборки прошивки FPGA
- Git и PowerShell (Windows) или терминал (Linux)
- Время: синтез и разводка занимают от 40 минут до нескольких часов в зависимости от процессора
Полный стенд обходится примерно в 100 долларов, если плата ставится прямо в PCIe-слот компьютера (плата 50 + доставка 10 + JTAG 40).
Пошаговая инструкция: от клонирования до первого запуска
- Клонируйте репозиторий и зафиксируйте ревизию. Репозиторий живой, поэтому привязка к конкретному коммиту гарантирует воспроизводимость результатов.
git clone https://github.com/FeSens/openTPU.git
cd openTPU
git checkout 8eaa480
-
Установите Vivado 2024.2. Скачайте бесплатную версию с сайта AMD. При установке выберите поддержку семейства Kintex-7. Путь к Vivado пропишите в скрипте сборки (параметр
$Vivado). -
Запустите скрипт сборки. На Windows один PowerShell-скрипт создаёт проект, генерирует IP-блоки, синтезирует схему, разводит её по кристаллу и записывает bitstream (файл прошивки).
.\run_vivado.ps1 -DDR 1066 -JOBS 8 -CORE_MHZ 133.33
Параметр -JOBS задаёт число потоков процессора. Параметр -FAST снижает частоту ядра до 100 МГц, если хотите ускорить сборку и не гнаться за максимумом.
-
Прошейте плату через JTAG. После сборки Vivado сгенерирует bitstream-файл. Подключите программатор, откройте Hardware Manager в Vivado и загрузите прошивку на кристалл.
-
Проверьте аппаратными тестами. В проекте предусмотрено 138 аппаратных тестов. Автор рекомендует три прогона подряд, чтобы убедиться в стабильности.
-
Запустите языковую модель. Загрузите веса модели (например, Qwen3-0.6B в 4-битной квантизации) через PCIe в DDR3-память платы и отправьте текстовый запрос. Генерация начнётся автоматически.
Что именно получается на кристалле?
Прошивка содержит четыре подсистемы, размещённые на одном чипе:
- Ядро openTPU на языке Verilog: матрица умножителей, векторный блок, рабочая память, DMA (прямой доступ к памяти), квантизатор (блок сжатия весов) и секвенсор (управляющий автомат)
- Мост PCIe, IP-блок Xilinx XDMA, через который плата общается с компьютером
- Два контроллера DDR3 из открытого проекта LiteDRAM. Внутри них работает процессор RISC-V (VexRiscv), который при старте калибрует задержки памяти. То есть рядом с TPU на кристалле крутится отдельный процессор, нужный только для настройки памяти
- Обвязка: мост от ядра к двум каналам памяти, регистры управления, аппаратный журнал событий
По итогам сборки занято 59 % LUT (логических ячеек), 63 % блоковой памяти BRAM, 37 % DSP-умножителей и 76 % слайсов. Запас по таймингу составил 19 пикосекунд, что означает стабильную работу без ошибок на частоте 133,33 МГц.
Какие модели и на какой скорости работают?
Автор прогнал 165 запусков восьми языковых моделей. Три ключевых результата:
- Qwen3.5-2B (модель на 2 миллиарда параметров): 12,5 токена в секунду
- Qwen3-0.6B (600 миллионов параметров): 35 токенов в секунду
- LFM2.5-230M (230 миллионов параметров, 4-битные веса): 95 токенов в секунду
Переход с 8-битных весов на 4-битные ускоряет генерацию в 1,4-1,8 раза. А вот переключение PCIe с x8 на x1 почти ничего не меняет при генерации, потому что узкое место не в канале связи с компьютером, а в пропускной способности DDR3-памяти на самой плате. Память работает на 92-96 % своего предела и физически не может подвозить веса быстрее.
Этот факт полезно запомнить: для FPGA-нейросетей главный ограничитель не вычислительная мощность, а скорость памяти.
Допустим, вы хотите запустить Qwen3-0.6B для локальной генерации текста без интернета. Клонируете репозиторий, собираете прошивку скриптом run_vivado.ps1 с параметрами по умолчанию (DDR 1066, частота 133,33 МГц), прошиваете плату через JTAG. Загружаете веса модели в 4-битном формате через PCIe. Результат: генерация около 35 токенов в секунду, потребление 9,7 ватта на весь кристалл. Это примерно 2-3 предложения в секунду, достаточно для интерактивного чат-бота, работающего полностью офлайн.
Адаптер TH3P4G3 и прошивка несовместимы. При прошивке платы через JTAG этот адаптер выключает питание при пропадании PCIe-устройства. Плату прошить не получится. Автор проекта не рекомендует этот адаптер для данной сборки.
Не работайте с main-веткой для воспроизведения замеров. Репозиторий обновляется, и на свежем коммите цифры могут отличаться. Фиксируйте ревизию 8eaa480.
Не ждите чудес от DDR3. Память загружена почти полностью. Модели крупнее 2 миллиардов параметров будут генерировать текст медленно. Это аппаратный потолок платы, а не ошибка настройки.
Проверяйте плату по фото перед покупкой на AliExpress. Автор предупреждает: могут прислать не ту плату. Ищите по маркировке «XC7K480T» и сверяйте фотографии.
Что это даёт на практике, по ролям?
Инженерам и разработчикам. Полноценный открытый TPU (Tensor Processing Unit, тензорный процессор) на FPGA за 100 долларов. Можно модифицировать архитектуру ядра, менять разрядность, экспериментировать с квантизацией. Все исходники на Verilog, лицензия открытая.
Авторам и контент-мейкерам. Понимание того, как FPGA-нейросети работают на аппаратном уровне, помогает писать технические обзоры без мифов. Когда знаете, что узкое место это память, а не чип, вы не повторяете маркетинговые клише про «мощность процессора».
Предпринимателям в РФ и СНГ. Платы Inspur доступны на AliExpress с доставкой в Россию. Vivado бесплатна. Проект не зависит от облачных сервисов и не требует подписок. Для прототипирования edge-устройств (устройств, работающих локально, без облака) это один из самых дешёвых входов в аппаратное ускорение нейросетей.
Проект openTPU ценен не скоростью генерации (12,5 токена в секунду на 2-миллиардной модели это медленно по меркам даже бюджетных видеокарт), а тем, что каждый элемент открыт: от Verilog-кода ядра до скриптов сборки. Это учебный стенд и платформа для экспериментов, а не конкурент GPU-инференсу. По моим наблюдениям, в России интерес к FPGA-нейросетям растёт среди тех, кто строит автономные устройства без зависимости от облака. openTPU даёт им рабочую точку входа. Честная оговорка: для задач, где нужна скорость, обычная видеокарта за сопоставимые деньги на вторичном рынке будет быстрее. FPGA выигрывает там, где важны энергоэффективность (9,7 ватта), детерминированная задержка и возможность менять архитектуру под конкретную модель.
Девять ватт, полный офлайн и открытый исходный код на каждом уровне, от транзисторной логики до скрипта запуска. Для тех, кто хочет понять, как нейросети работают на железе, а не в облаке, openTPU остаётся одним из самых доступных способов это сделать руками.
Хотите разобраться в нейросетях на практике?
В dzen.guru мы разбираем инструменты ИИ для авторов и предпринимателей, от промптов до аппаратных решений.
Перейти в dzen.guru
Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также
От рабочей таблицы до SaaS на $30 000 в месяц: как найти идею, которая уже доказала спрос
Десятки тысяч авторов, маркетологов и предпринимателей ежедневно собирают рабочие таблицы, которые решают реальные задачи: учёт клиентов, расчёт контент-плана,…

ИИ для создания игрушки без защиты: 13 млн детских разговоров утекли в открытый доступ
Почему это важно Исследователь получил доступ к 13 миллионам разговоров 68 000 роботов-игрушек Eiliko по всему миру, включая данные более 31 000 детских…

Мое исследование инструментов выявления уязвимостей в скиллах
Мое исследование инструментов выявления уязвимостей в скиллах — это задача, которую мало кто проверяет на практике: можно ли доверять автоматическим сканерам…
Комментарии