В области искусственного интеллекта решающее значение имеет эффективный вывод моделей. Разработчики продолжают искать способы запуска больших языковых моделей на разных аппаратных платформах. Недавно разработчик Андрей Давид добился впечатляющего достижения: он успешно пересадил модель Llama 2 от Meta AI на игровую консоль Xbox 360, которой почти двадцать лет. Это не только демонстрирует его превосходную технологию, но и обеспечивает применение искусственного интеллекта в игре. область периферийных вычислений открывает новые возможности. Этот шаг решает многие проблемы, такие как архитектура PowerPC, ограничения памяти и преобразование байтов, а также дает ценный опыт для запуска больших языковых моделей в средах с низким уровнем ресурсов.
Сегодня, с быстрым развитием технологий искусственного интеллекта, реализация эффективного вывода моделей на различном оборудовании стала важной задачей для разработчиков. Недавно разработчик Андрей Давид нашел вдохновение в игровой консоли Xbox 360, которой было почти двадцать лет. Он успешно пересадил облегченную модель из серии Llama LLM от Meta AI, llama2.c, на эту старую консоль.
Дэвид поделился своим достижением в социальной сети X, заявив, что проблемы, с которыми он столкнулся, были огромными. Процессор PowerPC Xbox 360 использует архитектуру с прямым порядком байтов, а это означает, что при настройке и взвешивании модели необходимо выполнить большое количество преобразований с порядком байтов. Кроме того, Дэвиду пришлось глубоко доработать и оптимизировать исходный код, чтобы он мог бесперебойно работать на таком устаревшем оборудовании.
Управление памятью также является большой проблемой, которую ему предстоит решить. Размер модели llama2 достигает 60 МБ, а архитектура памяти Xbox360 представляет собой унифицированную память, а это означает, что процессор и графический процессор должны использовать одну и ту же память. Это заставляет Дэвида быть очень осторожным при проектировании использования памяти. Он считает, что, несмотря на ограничения памяти Xbox 360, ее архитектура в то время была очень дальновидной, предвосхищая стандартную технологию управления памятью современных игровых консолей и APU.
После многократного кодирования и оптимизации Дэвид, наконец, успешно запустил модель llama2 на Xbox360 с помощью простой подсказки: «Сонный Джо сказал». Стоит отметить, что модель llama2 имеет всего 700 строк кода на языке C и не имеет внешних зависимостей, что позволяет ей показывать «удивительно» высокую производительность при настройке в конкретных областях.
Для других разработчиков успех Дэвида открыл новое направление. Некоторые пользователи предположили, что 512 МБ памяти Xbox360 также может поддерживать реализацию других небольших LLM, таких как smolLM, разработанный Hugging Face. Дэвид приветствует это, и мы, вероятно, увидим больше экспериментальных результатов LLM на Xbox360 в будущем.
История успеха Дэвида дает разработчикам новые идеи и вдохновение, доказывая, что даже на устройствах с ограниченными ресурсами большие языковые модели можно запускать посредством умной оптимизации и корректировки кода. Это не только способствует дальнейшему развитию технологий искусственного интеллекта в области периферийных вычислений, но и предоставляет неограниченные возможности для более инновационных приложений в будущем. В будущем мы надеемся увидеть больше подобных прорывов, которые позволят использовать технологию искусственного интеллекта в более широком спектре сценариев применения.