Petals — это децентрализованная система, позволяющая запускать и дообучать огромные языковые модели, распределяя нагрузку между компьютерами участников сети. Проект использует архитектуру, похожую на BitTorrent, где каждый узел отвечает за обработку части слоев модели. Это решение делает доступным работу с моделями уровня Llama или BLOOM без необходимости обладать дорогостоящим серверным оборудованием с десятками GPU.
Технология решает проблему нехватки вычислительных мощностей для индивидуальных разработчиков и небольших команд. Вместо аренды мощных кластеров пользователи подключаются к общей сети, где инференс происходит параллельно. Система поддерживает динамическое подключение узлов, что позволяет масштабировать вычислительный ресурс в зависимости от текущего спроса и количества участников, готовых предоставить свои GPU.
Помимо инференса, Petals предоставляет инструменты для эффективного дообучения моделей с использованием методов адаптации низкого ранга (LoRA). Это позволяет пользователям адаптировать веса моделей под специфические задачи, передавая лишь небольшие градиентные обновления, что значительно снижает требования к пропускной способности сети и объему передаваемых данных между узлами.
Ключевые факты
- Система использует P2P-протокол для распределения слоев модели между множеством независимых GPU.
- Поддерживается инференс и дообучение моделей с сотнями миллиардов параметров на потребительском оборудовании.
- Метод позволяет достичь скорости генерации, приемлемой для интерактивных приложений, за счет параллельной обработки запросов.
- Реализована поддержка популярных архитектур, включая Llama, BLOOM и Falcon.
- Проект ориентирован на снижение барьера входа для работы с тяжелыми LLM, исключая необходимость в покупке профессиональных ускорителей уровня NVIDIA A100 или H100.