Языковая модель Z80-μLM для 8-битных процессоров

Недавно на платформе GitHub появился проект под названием Z80-μLM — языковая модель, занимающая всего 40 КБ, что позволяет ей функционировать на 8-битном процессоре Z80 с 64 КБ оперативной памяти. Эта 2-битная квантованная модель включает все необходимые элементы, такие как вывод, веса и интерфейс чата, в файл формата .COM.

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

Ключевым аспектом стало обучение с учетом квантования, моделирующее ограничения вывода. Процесс обучения включает параллельные проходы, оценивающие, как хорошо модель сохраняет свои знания после квантования. В результате веса постепенно адаптируются к 2-битной сетке, учитывая ограничения 16-битного Z80.

Автор вложил всего несколько долларов в API Claude для генерации 20 вопросов, и отметил, что модель можно обучать на Python и экспортировать в бинарные файлы CP/M .COM. Несмотря на свои ограничения, Z80-μLM может участвовать в упрощенной версии игры “20 вопросов” и иногда поддерживать простые, но содержательные беседы с выраженной индивидуальностью.