Ключевые факты
- Z80-μLM — это модель языка на уровне символов с 2-битными квантованными весами.
- Вся система умещается в файл размером 40 КБ.
- Она работает на процессоре Z80 с 64 КБ ОЗУ.
- Модель может играть в упрощенную версию игры «20 вопросов».
- Обучение использовало квантование с осведомленностью о процессе (quantization-aware training) с методом прямых проходов.
Краткая сводка
Новый проект демонстрирует жизнеспособность разговорного ИИ на устаревшем оборудовании. Z80-μLM — это модель языка на уровне символов, специально разработанная для работы в жестких рамках процессора Z80 и 64 КБ ОЗУ. В отличие от современных больших языковых моделей, требующих гигабайты памяти и мощные GPU, эта модель умещает весь свой операционный стек в компактный файл размером 40 КБ. Это позволяет ей работать на реальном оборудовании или эмуляторах, поддерживающих операционную систему CP/M.
Модель использует 2-битные квантованные веса со значениями, ограниченными {-2, -1, 0, +1}. Хотя ей не хватает мощности для выполнения задач общего назначения, она способна играть в упрощенную версию «20 вопросов» и вести краткие беседы с определенной личностью. Это достижение подчеркивает, как экстремальные ограничения могут стимулировать инновационные инженерные решения в разработке ИИ.
Техническая архитектура и ограничения
Разработка ИИ-модели, работающей на оборудовании конца 1970-х годов, потребовала полного переосмысления современных методов глубокого обучения. Разработчик столкнулся с задачей уместить логику вывода, веса модели и пользовательский интерфейс чата в 40-килобайтный бинарный файл. Для этого проект опирается на триграммную хеширование — технику, которая устойчива к опечаткам, но жертвует порядком слов. Кроме того, система использует 16-битную целочисленную арифметику вместо стандартной для современного ИИ арифметики с плавающей запятой.
На архитектуру сильно повлияла необходимость соответствовать аппаратным ограничениям Z80. В частности, разработчику пришлось учитывать ограничения 16-битного аккумулятора процессора. Процесс обучения был разработан так, чтобы учитывать эти ограничения с самого начала, гарантируя, что модели не потребуются пост-обучающие корректировки, которые могут привести к коллапсу квантования.
Методология обучения 🧠
Ключом к успеху Z80-μLM является его уникальный подход к обучению, известный как квантование с осведомленностью о процессе. Вместо того чтобы обучать стандартную модель и сжимать ее позже, разработчик запускал два прямых прохода параллельно во время обучения: один с использованием стандартных чисел с плавающей запятой, а другой — с целочисленными квантованными значениями. Это позволило системе оценивать модель по тому, насколько хорошо ее знания пережили процесс квантования.
Цикл обучения активно подталкивал веса к 2-битной сетке с помощью метода прямых проходов (straight-through estimators). Чтобы предотвратить ошибки, система применяла штрафы за переполнение, которые отражали ограничения 16-битного аккумулятора Z80. Этот метод гарантировал, что к концу обучения модель полностью адаптировалась к ограничениям целевого оборудования, устраняя риск коллапса квантования «постфактум».
Генерация данных и возможности
Чтобы научить модель игре в 20 вопросов, разработчику нужен был специфический набор данных. Проект использовал API Claude для генерации этих обучающих данных. Несколько долларов были потрачены на API для создания примеров, подходящих для упрощенного формата игры. Эти данные позволяют модели функционировать как разговорный партнер в ограниченном контексте.
Несмотря на свой небольшой размер, Z80-μLM способен поддерживать иллюзию разговора. Он обладает определенной личностью и может вести лаконичный обмен репликами. Однако его полезность строго определена обучающими данными; он не может обобщать задачи, такие как составление электронных писем или сложные рассуждения, фокусируясь вместо этого на своей конкретной разговорной нише.
Заключение
Z80-μLM представляет собой увлекательное пересечение ретро-компьютинга и современных методов ИИ. Строго придерживаясь ограничений 64 КБ ОЗУ и размера файла в 40 КБ, проект доказывает, что полезное взаимодействие с ИИ возможно даже на сильно ограниченном оборудовании. Использование квантования с осведомленностью о процессе и целочисленной арифметики предлагает план для будущих проектов, нацеленных на запуск ИИ на встроенных системах или устаревших устройствах. Хотя он может не заменить современных ассистентов, он представляет собой значительное техническое достижение в области «гольфа кода» и эффективного проектирования моделей.