Распределенный вывод и тонкая настройка больших языковых моделей через Интернет
Distributed Inference and Fine-tuning of Large Language Models Over The Internet
December 13, 2023
Авторы: Alexander Borzunov, Max Ryabinin, Artem Chumachenko, Dmitry Baranchuk, Tim Dettmers, Younes Belkada, Pavel Samygin, Colin Raffel
cs.AI
Аннотация
Крупные языковые модели (LLM) полезны во многих задачах обработки естественного языка и становятся более мощными с увеличением размера, при этом лучшие модели с открытым исходным кодом содержат более 50 миллиардов параметров. Однако использование этих моделей с 50+ миллиардами параметров требует высокопроизводительного оборудования, что делает их недоступными для большинства исследователей. В данной работе мы исследуем методы для экономически эффективного вывода и тонкой настройки LLM, сравнивая локальные и распределенные стратегии. Мы наблюдаем, что достаточно крупная модель (50+ миллиардов параметров) может эффективно работать даже на географически распределенных устройствах в сети потребительского уровня. Это может позволить эффективно запускать LLM, объединяя простаивающие вычислительные ресурсы нескольких исследовательских групп и добровольцев. Мы решаем две открытые проблемы: (1) как выполнять вывод и тонкую настройку надежно, если любое устройство может внезапно отключиться, и (2) как разделять LLM между устройствами с неравномерным оборудованием, которые могут присоединяться и покидать систему по своему усмотрению. Для этого мы разрабатываем специальные отказоустойчивые алгоритмы вывода и протоколы балансировки нагрузки, которые автоматически назначают устройства для максимизации общей пропускной способности системы. Мы демонстрируем эти алгоритмы в системе Petals — децентрализованной системе, которая запускает Llama 2 (70B) и BLOOM (176B) через Интернет до 10 раз быстрее, чем оффлоадинг, для интерактивной генерации. Мы оцениваем производительность нашей системы в смоделированных условиях и в реальной установке, охватывающей два континента.
English
Large language models (LLMs) are useful in many NLP tasks and become more
capable with size, with the best open-source models having over 50 billion
parameters. However, using these 50B+ models requires high-end hardware, making
them inaccessible to most researchers. In this work, we investigate methods for
cost-efficient inference and fine-tuning of LLMs, comparing local and
distributed strategies. We observe that a large enough model (50B+) can run
efficiently even on geodistributed devices in a consumer-grade network. This
could allow running LLM efficiently by pooling together idle compute resources
of multiple research groups and volunteers. We address two open problems: (1)
how to perform inference and fine-tuning reliably if any device can disconnect
abruptly and (2) how to partition LLMs between devices with uneven hardware,
joining and leaving at will. In order to do that, we develop special
fault-tolerant inference algorithms and load-balancing protocols that
automatically assign devices to maximize the total system throughput. We
showcase these algorithms in Petals - a decentralized system that runs Llama 2
(70B) and BLOOM (176B) over the Internet up to 10x faster than offloading for
interactive generation. We evaluate the performance of our system in simulated
conditions and a real-world setup spanning two continents.