Llama 2 на 20-летнем PowerBook G4: как llama2.c от сооснователя OpenAI запускает нейросети без GPU и библиотек даже на старом Mac
Энтузиаст провел эксперимент: запустил LLM на ноутбуке Apple PowerBook G4 2005 года.
Это устройство с процессором PowerPC 7447B на 1.5 ГГц, 1 ГБ оперативной памяти и 32-битной системой. Тем не менее, ему удалось реализовать инференс модели Llama 2 (110M параметров) — без графических ускорителей и сторонних библиотек.
В основе проекта — llama2.c от Андрея Карпати, минималистичная реализация LLM на чистом C. Автор переработал код, оформив его в виде библиотеки с публичным API и поддержкой колбэков, чтобы упростить тестирование и интеграцию.
Оптимизации и ограничения
Для работы на PowerPC потребовались изменения:
- добавлены обертки для системных функций,
- устранены зависимости от
exit
, - реализована поддержка big-endian (в отличие от little-endian в современных системах),
- улучшена обработка ошибок и выделение памяти.
Основной узкий момент — матричные операции. Именно они занимают большую часть времени при генерации текста. Чтобы ускорить выполнение, автор переписал критическую функцию с использованием SIMD-инструкций AltiVec, доступных в процессорах PowerPC.
Результаты
Для базовой оценки была использована модель TinyStories (110M). На сервере с процессором Intel Xeon inference шел со скоростью 6.91 токенов в секунду. На PowerBook G4 — 0.77 токена/сек.
Фреймворки, меняющие игру: выбираем идеальный инструмент для ваших веб-проектовtproger.ru
С учетом возраста и ограничений устройства, результат выглядит убедительно. После внедрения SIMD-оптимизаций скорость увеличилась до 0.88 токена/сек.
Зачем всё это
Эксперимент показывает, что современные ИИ-модели могут быть адаптированы даже под устаревшее оборудование, если архитектура реализации достаточно прозрачна и эффективна. Это не только дань инженерному любопытству, но и практическая демонстрация гибкости минималистичных решений.
Сам автор отмечает, что на этом этапе проект завершен: возможности 32-битной системы ограничены, а запуск более крупных моделей упирается в нехватку адресуемой памяти.
Тем не менее, даже этот результат — яркое напоминание о том, что технический прогресс не обязательно требует новейшего железа.