惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Recent Announcements
Recent Announcements
GbyAI
GbyAI
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
L
LangChain Blog
A
About on SuperTechFans
M
MIT News - Artificial intelligence
B
Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Трансформер на машине 1979 года: как ИИ запустили на 64 К...
k0mar0v (МТС · 2026-04-17 · via Все публикации подряд на Хабре

Время на прочтение5 мин

Охват и читатели8.1K

Источник

Источник

В последние годы разговоры об искусственном интеллекте не утихают ни на минуту. Гигантские модели, которые генерируют текст, картинки и даже целый код, требуют дата-центров с мощными процессорами и терабайтами памяти. Однако если копнуть глубже, основа всей этой магии проста и понятна. Один необычный проект наглядно это доказывает. Причем он реализован на компьютере почти полувековой давности. Автор запустил настоящий, хоть и крошечный трансформер


Машина из прошлого века

Сначала о том, что это за девайс. Речь о PDP-11 — системе 1970-х, широко применявшейся в науке и инженерии. Это 16-битная архитектура с поддержкой разнообразной периферии.

Ее возможности были ограничены: дорогая память и низкая по современным меркам производительность требовали писать предельно компактный и точный код. При этом архитектура была продуманной — с гибкой системой адресации и единым подходом к работе с памятью и устройствами, что упрощало разработку. PDP-11 во многом задала стандарты: на этих машинах появились и развивались Unix и язык C, оказавшие влияние на все последующее программирование.

Код загружали напрямую через консоль: после сборки программы заносили в память вручную, посредством панели или с бумажной ленты. Ошибка означала повтор всей процедуры, поэтому отладка занимала много времени и требовала аккуратности.

Характеристики PDP-11/44 (экземпляр из проекта)

  • Процессор: 16-битная архитектура DEC PDP-11/44

  • Тактовая частота: ~6 МГц

  • Оперативная память: 64 КБ

  • Тип памяти: магнитная/полупроводниковая (в зависимости от конфигурации)

  • Кеш: дополнительная кеш-плата (ускорение доступа к памяти)

  • Накопители: отсутствуют в базовом сценарии (загрузка без дисков)

  • Загрузка программ:

    • через консольную панель

    • ручной ввод в память

    • возможна загрузка с бумажной ленты

  • Интерфейсы: модульная система шин для подключения периферии

  • Арифметика: целочисленная (без аппаратного сопроцессора)

  • Формфактор: стоечная мини-ЭВМ (rack-mounted)

Источник

Источник

Владелец PDP-11/44 из статьи держит эту систему у себя в гараже полностью в рабочем состоянии. Он давно собирает старое железо и получает настоящее удовольствие, когда удается запустить на нем что-то неожиданное. Машина стала для него не просто реликвией, а площадкой для экспериментов. И сейчас речь как раз об одном из них.

Создатели проекта

Идея реализовать трансформер на таком устаревшем оборудовании принадлежит французскому разработчику Дамьену Бурейлю. Ранее он уже создавал простые нейронные сети на системах с жесткими ограничениями ресурсов, и этот опыт стал отправной точкой для более сложной задачи. В новом проекте он решил проверить, можно ли перенести принципы механизма внимания на платформу уровня PDP-11.

Проект получил название ATTN-11, он полностью написан на ассемблере MACRO-11, без использования высокоуровневых языков и готовых библиотек. Такой подход выбран осознанно: все вычисления, структуры данных и работа с памятью реализованы вручную. Это позволило уложиться в крайне ограниченные ресурсы системы и одновременно продемонстрировать, что базовые принципы механизма внимания можно воспроизвести даже на оборудовании, где, на первый взгляд, не хватает места для современных программ.

Дамьен опирался на свои предыдущие наработки, в частности на систему Xortran, где он демонстрировал обучение с обратным распространением ошибки в крайне тесных рамках. Новый проект стал прямым развитием этой идеи. Теперь вместо простого перцептрона реализована полноценная, пусть и минимальная, архитектура с механизмом внимания. При этом код удалось уместить чуть более чем в 6 килобайт в бинарном виде, так что он полностью укладывался в доступные ресурсы машины.

Дейв Пламмер, увидев результат, решил запустить его на реальном PDP-11.

Устройство минимальной нейросети

Модель предельно упрощена: один слой, одна голова внимания, размер внутреннего представления — 16, максимальная длина последовательности — 8 токенов, словарь — 10 символов (цифры от 0 до 9). Всего 1216 параметров. Для вычислений использовали фиксированную точку: на прямом проходе — 8 бит дробной части (Q8), при обучении — 15 бит (Q15), веса накапливались в 32-битном формате (Q16). Умножение выполняли средствами целочисленной арифметики PDP-11 с последующими сдвигами для приведения масштаба, а softmax заменили на заранее рассчитанную таблицу значений. Это позволило полностью отказаться от плавающей запятой и снизить нагрузку на процессор.

Вся нейросеть построена вокруг небольшого стека операций под названием NN11, который включает в себя скалярную арифметику, векторные и матричные операции, функции активации и базовые слои. Архитектура сведена к минимуму: встраивание токенов, позиционное кодирование, механизм внимания с остаточным соединением и финальная проекция на выход. Этого хватило для задачи переворота последовательности, где ключевую роль играет порядок элементов.

Память распределена рационально: веса хранятся в трех вариантах точности: для накопления, прямого прохода и градиентов. Используются небольшие кеши для промежуточных результатов и таблицы для экспоненты и других функций. В итоге вся система занимает около 19,2 КБ и укладывается даже в 32 КБ, оставляя место для ОС и отладки.

Само внимание реализовано через классическое скалярное произведение запросов и ключей, без дополнительных усложнений. Входные векторы проецируются с помощью обучаемых матриц, после чего формируется матрица сходства. Чтобы избежать переполнения в ограниченной арифметике, из всех значений вычитают максимум — это простой и надежный способ сохранить численную стабильность.

Источник

Источник

Далее используется заранее подготовленная таблица экспоненты из 256 элементов. Она заменяет softmax: разницу делят на восемь, выбирают соответствующий элемент по индексу и нормируют. Результат умножается на векторы, формируя взвешенную сумму, которая проходит через остаточное соединение. Это позволяет учитывать позиции в последовательности без лишних вычислений.

В этой задаче внимание должно было игнорировать содержимое токенов и опираться только на их порядок. Каждый элемент нужно сопоставить с нужным из конца, поэтому ошибка в позиционном соответствии сразу давала неверный результат. При небольшой размерности модель быстро «чувствовала» такие промахи, и обучение требовало точной подстройки весов. В итоге даже одного слоя оказалось достаточно, чтобы выучить это правило и корректно работать с последовательностью.

Обучение проводилось с помощью стохастического градиентного спуска с разными скоростями для частей модели: 0,08 для весов внимания, 0,01 для встраиваний и 0,0025 для выходной проекции. Это позволило обойтись без сложного оптимизатора и сэкономить память. На каждом шаге сеть получала случайную последовательность из восьми цифр, предсказывала перевернутую цифру и корректировала веса по ошибке.

Все происходило в реальном времени на самой машине. Вначале точность оставалась на уровне случайного угадывания, но затем быстро росла: к ~350 итерациям модель достигала 100%, а потери почти обнулялись. Весь процесс занимал около 3,5 минуты, что для такой системы выглядело более чем достойно.

А что сегодня? 

Эксперимент показывает, что за внешней сложностью современных моделей стоит набор базовых операций: матричные умножения, нормализация, вычисление сходства. В минимальной конфигурации все это укладывается в простую арифметику и работает даже при крайне ограниченной памяти.

Разницу создает масштаб. Увеличение числа параметров, объема данных и вычислений позволяет переходить от узких задач к универсальным моделям, способным обобщать разнообразные сценарии  и работать с ними. Ограниченные ресурсы, наоборот, заставляют выделять только ключевые элементы и строить более компактные решения.

Такие проекты наглядно показывают, что развитие искусственного интеллекта сегодня во многом определяется инфраструктурой: архитектурные идеи известны, а их эффективность раскрывается при масштабировании. Возврат к простым реализациям помогает лучше понять эти принципы и увидеть, как они работают в чистом виде.