Petals — это децентрализованная система, позволяющая запускать и дообучать огромные языковые модели, распределяя нагрузку между компьютерами участников сети. Проект использует архитектуру, похожую на BitTorrent, где каждый узел отвечает за обработку части слоев модели. Это решение делает доступным работу с моделями уровня Llama или BLOOM без необходимости обладать дорогостоящим серверным оборудованием с десятками GPU.

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

Помимо инференса, Petals предоставляет инструменты для эффективного дообучения моделей с использованием методов адаптации низкого ранга (LoRA). Это позволяет пользователям адаптировать веса моделей под специфические задачи, передавая лишь небольшие градиентные обновления, что значительно снижает требования к пропускной способности сети и объему передаваемых данных между узлами.

Ключевые факты

  • Система использует P2P-протокол для распределения слоев модели между множеством независимых GPU.
  • Поддерживается инференс и дообучение моделей с сотнями миллиардов параметров на потребительском оборудовании.
  • Метод позволяет достичь скорости генерации, приемлемой для интерактивных приложений, за счет параллельной обработки запросов.
  • Реализована поддержка популярных архитектур, включая Llama, BLOOM и Falcon.
  • Проект ориентирован на снижение барьера входа для работы с тяжелыми LLM, исключая необходимость в покупке профессиональных ускорителей уровня NVIDIA A100 или H100.