Очевидно, что ИТ-индустрия проявляет интерес к большим языковым моделям (LLM). Многие компании — в том числе стартапы и разработчики — предпочитают self-hosting открытых LLM работе с API проприетарных решений. Мы в beeline cloud решили обсудить плюсы и минусы такого подхода, в том числе с финансовой точки зрения.

Изображение — Bernd Dittrich — Unsplash.com
Изображение — Bernd Dittrich — Unsplash.com

Селфхостинг и его потенциал

Одно из ключевых преимуществ самостоятельного хостинга — это возможность дообучения и тонкой настройки языковой модели под конкретные задачи. В отличие от решений на основе API, работа c открытыми LLM вроде LLaMA 2 на собственной инфраструктуре предоставляет полный контроль над ее параметрами и окружением для эффективной адаптации. В то же время ряд исследований показывает, что даже компактные модели обладают достойной производительностью на узком спектре задач. Так, разработчики LLaMa-7B с 7 млрд параметров утверждают, что качество её ответов продолжает улучшаться даже после первого триллиона токенов.

Как отмечают специалисты из Института искусственного интеллекта AIRI и НИУ ВШЭ, повысить качество ответов компактных моделей можно и за счет обучения на разных типах данных — например, не только текстовых корпусах, но и изображениях. Так, внедряя новые модальности в процесс обучения LLM, можно получить более «умные» модели. Сделать это в рамках работы с API проприетарного решения — с привязкой к данным организации — достаточно затруднительно. Еще одним преимуществом хостинга открытых LLM является наличие доступных и открытых инструментов для кастомизации, развертывания и инференса, над которыми трудится широкое сообщество разработчиков.

Но если затронуть экономическую сторону вопроса, то, на первый взгляд, ситуация складывается не в пользу самостоятельного хостинга. По оценкам экспертов, для self-hosted модели, обрабатывающий порядка 10 тыс. запросов ежедневно, потребуется бюджет в размере 40–60 тыс. долларов в месяц. Эта сумма включает стоимость закупки и дальнейшей поддержки оборудования для сбора данных, а также наём специалистов. Обработка такого же количества вопросов с помощью API коммерческих решений обойдется примерно в 1 тыс. долларов в месяц. Но многие проприетарные продукты устанавливают лимиты на число запросов. При достижении порога каждая дополнительная тысяча запросов обходится все дороже и может превратиться в серьезную статью расходов для компаний, активно использующих возможности систем ИИ. Зависимость от внешнего провайдера API также накладывает определенные риски, такие как изменения в политике ценообразования или даже прекращение обслуживания, что может потребовать перехода на другое решение и увеличить затраты бизнеса.

Самостоятельный хостинг также решает важные вопросы, связанные с безопасностью персональных данных. Например, многие провайдеры API для работы с системами ИИ в условиях использования прописывают, что компания может дообучать модель на данных клиентов. Узнать, какие именно данные собирает разработчик системы ИИ (и тем более их удалить), как правило, очень сложно. Специалисты по ИБ даже отмечают, что такая практика может противоречить законодательству целого ряда стран. В свою очередь, селфхостинг предоставляет полный контроль, позволяя компаниям хранить и обрабатывать персональные данные в соответствии с требованиями регуляторов.

Другое будущее

Открытые LLM модели, которые можно хостить самостоятельно, обладают своими преимуществами. Однако проблема кроется в ограниченном доступе к данным для обучения. Корпорации сегодня обладают колоссальным количеством информации, поэтому разработанные и натренированные ими модели часто оказываются более точными и функциональными по сравнению с их открытыми аналогами.

Так, модель GPT-4 показывает себя на 20% лучше, чем LLaMA 2 на задачах бенчмарка MMLU, который включает 16 тыс. вопросов из 57 академических областей. По данным сайта Artificial Analysis, который составляет рейтинг больших языковых моделей, первые строчки в списке занимают API-решения (например, GPT-4o и Gemini 1.5 Pro), уступая open source моделям лишь в цене.

Ключевой аспект self-hosting LLM — потребность в вычислительных ресурсах. Но даже компактные модели машинного обучения требуют значительных мощностей. Затраты, необходимые для хостинга и обслуживания, могут оказаться непосильными для разработчиков или небольших компаний. В этом контексте на старте может быть дешевле использовать коммерческие модели машинного обучения с доступом по API. Расчёты показывают, что развернутая на своем хостинге Large Language Model (LLM) будет дешевле только в том случае, если количество диалогов превышает 8 тыс.

Децентрализация как компромисс

Компромиссом между мощными универсальными LLM и самостоятельным хостингом могут быть децентрализованные языковые модели. Один из примеров такого подхода — проект Petals. В его основе лежит технология BitTorrent для обмена данными между участниками сети, каждый из которых загружает лишь часть модели. Вывод генерируется со скоростью до шести токенов в секунду для LLaMA 2 (70B) и до четырех токенов в секунду для Falcon (180B), что подходит для чат-ботов и интерактивных приложений. Взглянуть на демоверсию решения можно на официальном сайте разработчиков.

Изображение — Kelvin Ang — Unsplash.com
Изображение — Kelvin Ang — Unsplash.com

Но несмотря на привлекательность распределенных платформ, есть мнение, что все же нас ожидает централизованное будущее — как это происходило в других отраслях. Например, блокчейн и криптовалюты изначально создавали с целью децентрализации финансовой системы. Но на практике работа идет на централизованных биржах, и криптосферу к централизации также подталкивает регулирование.

C системами ИИ может произойти похожая история. Проще открыть страницу инференса в браузере или интегрировать API в приложение, чем настраивать децентрализованные узлы или дообучать собственную модель. Плюс регуляторы и здесь подталкивают индустрию к централизации. В частности, государства внедряют новые нормы для разработчиков систем ИИ, которым приходится следовать. Например, европейский AI Act наложит на бизнес обязательства, связанные с безопасностью данных и этическими стандартами. Небольшие и средние компании могут столкнуться с трудностями при соблюдении нормативных требований, поэтому им будет проще обратиться к инструментарию API провайдера и работать с его системой ИИ. Очевидно, что крупному игроку вроде OpenAI проще следовать новым регламентам (и компания будет вынуждена это делать, чтобы не потерять рынки и аудиторию развитых стран). 

Тем не менее, все это — вопросы средне- и долгосрочной перспективы. А если вы захотите прямо сейчас обратиться к self-hosted LLM — у нас есть гайд о том, как собрать компьютер для работы с большими языковыми моделями.

beeline cloud — secure cloud provider. Разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.

Комментарии (23)


  1. Fardeadok
    16.06.2024 13:44
    +1

    Ой сколько воды и ноль расчетов. Видеокарта для запуска ллм стоит от 25тр и наверняка уже есть у всех кто запускает игры


    1. vp7
      16.06.2024 13:44
      +5

      Пытаюсь для себя разобраться в этом вопросе, и, кажется, вы не правы - многим моделям нужно минимум 12Gb, в основном рекомендация сводится к наличию 16Gb и больше.

      На игровых видюхах, особенно недорогих, памяти всего 8Gb.

      Вероятно, "нижняя граница входа" - 3060Ti 16Gb или 4060Ti 16Gb.


      1. Dominux
        16.06.2024 13:44
        +2

        На игровых видюхах, особенно недорогих, памяти всего 8Gb

        Чаще всего геймеры берут карточки от AMD, из-за меньшего бюджета, а потом не могут запустить на них ничего. Поддержка ROCm ещё далека


        1. maxcat
          16.06.2024 13:44
          +1

          Делали бы уже все просто на compute shaders, а не на вендерлоках типа куды и иже с ними


      1. maxcat
        16.06.2024 13:44

        Так нвидия же сделала возможность использовать обычную ОЗУ в добавок к собственной ОЗУ GPU


        1. Alexey2005
          16.06.2024 13:44
          +1

          Так и большинство фреймворков для LLM умеет догружать в обычную память то, что не влезло в VRAM. Вот только скорость при этом падает катастрофически, почти до уровня расчётов на CPU.

          Быстродействие LLM упирается не столько в вычислительные мощности (современные CPU тоже вполне себе шустро перемалывают матрицы), сколько в быстродействие памяти, поскольку там приходится оперировать десятками гигабайт данных.

          При наличии достаточного количества оперативки (и даже без неё, если есть место под большой своп на SSD) вы можете запустить любую опубликованную LLM даже без видеокарты, и оно вполне будет работать, вот только ждать ответа для больших моделей придётся несколько минут, в худших случаях - часов.


        1. Shannon
          16.06.2024 13:44

          Так нвидия же сделала возможность использовать обычную ОЗУ в добавок к собственной ОЗУ GPU

          Тоже очень надеялся на эту фичу, после перехода на 4090 стало понятно, что маркетинговая фича. Это не "использовать обычную ОЗУ в добавок", а это по кругу гонять память из RAM в VRAM. В итоге на практике скорость генерации падает ужасно низко, ниже чем просто на CPU запускать в разы.
          Большинство кто запускает локальные llm советуют её отключить сразу, так как если даже 500мб вылезут за пределы реального VRAM, то скорость уже ощутимо падает.

          В общем-то они и не обещали, что это будет работать как все подумали, это нужно было для другого, на карточках с низким объемом VRAM хоть как-то запускать cuda приложения, которые падают с cuda error memory allocation.


          1. maxcat
            16.06.2024 13:44

            Ну тогда ставили бы уже просто вообще всю оперативную память gddr. В игровых консолях так уже 11 лет делают


            1. Shannon
              16.06.2024 13:44
              +1

              Что-то похожее делают в новых маках на арм, там быстрая общая память, и те кто имеют 192гб этой памяти, внезапно открыли для себя возможность запускать большие модели на хорошей скорости.


      1. Shannon
        16.06.2024 13:44
        +1

        Вероятно, "нижняя граница входа" - 3060Ti 16Gb или 4060Ti 16Gb.

        llama3 8B с квантованием Q5_K_M даже на процессоре с ddr4 выдает 5 t/s (на быстрых ddr5 будет ещё быстрее). Это не так быстро, но с этим уже можно работать в реальном времени.

        Пытаюсь для себя разобраться в этом вопросе, и, кажется, вы не правы - многим моделям нужно минимум 12Gb, в основном рекомендация сводится к наличию 16Gb и больше.

        Если речь про LLM, то локально обычно запускают gguf, там можно выгрузить часть слоев на сколько хватит видеопамяти, а остальное будет крутиться на проце.
        Для видеокарт AMD есть https://github.com/YellowRoseCx/koboldcpp-rocm где благодаря ZLUDA ускорение на Windows уже работает даже на rx 6600/6700.

        Если речь про генерацию картинок, то там есть опция --medvram и --lowvram, которые позволяют запускать генерацию с нормальной скоростью даже на 4гб видеокартах.

        Поэтому типичных 8гб видеокарт (даже AMD) достаточно для входа.


      1. SamCode
        16.06.2024 13:44

        del


      1. Mortello
        16.06.2024 13:44
        +1

        Нижняя граница зависит от потребностей в первую очередь. примерно 1.3 от размера необходимых весов + немного на контекстное окно. На 3060 6 Гб запускал квантованные веса для автокомплита кода, работает достаточно шустро


    1. dmitrykabanov
      16.06.2024 13:44

      Вы о каком юзкейсе говорите? Из расчетов я бы посмотрел на реальный опыт крупных именно организаций, либо научных центров. Не уверен, что таблички из воздуха с непонятными прикладными перспективами вообще нужны, но внутренними расходами и проч. инфой такого плана мало кто готов делиться, что объяснимо достаточно


    1. vikarti
      16.06.2024 13:44
      +1

      За 25 тр будет что-то с 12 гб в лучшем случае. 8-10B модели получится запустить

      Совсем не зря люди городят компы с несколькими 3090(потому что 24Gb VRAM а на батчинг для дома - плевать а значит производительность карты не очень важна) с авито. Или там решения вроде топовых маков или б/у серверов со всеми слотами памяти. Все ради того чтобы иметь хоть немного быстрой памяти раз уж nvidia не хочет делать для дома карточки с больше чем 24 Gb VRAM.

      Хочется то как бы не 10B запускать, а модельки вроде Goliath 120B

      Другое дело что если нам надо те самые 10к запросов в день - проще уж сервер арендовать где то в облаке и есть куча решений под такие задачи (с вас только докер-образ и настройки автоскейлинга)


      1. Shannon
        16.06.2024 13:44

        б/у серверов со всеми слотами памяти

        Хочется то как бы не 10B запускать, а модельки вроде Goliath 120B

        Для внезапно заинтересовавшихся, как такое собрать с али и сколько это стоит.
        Нужна материнка на x99 с двумя xeon 2690 v4, поддерживающая память ddr-2400. Процы стоят что-то около ~3500р и поддерживают avx2. Материнка стоит 15к, можно найти с 3 nvme и 8 слотами под память.

        Это будет работать в 8 канальном режиме памяти выдавая скорость в 100-110 GB/s (выше топовой DDR5). Комплект памяти на 512гб плашками по 64гб обойдется в 65к.
        В итоге за ~85к можно получить ПК который будет запускать и голиафы на 120B, и даже новую модель от Nvidia на 340B.

        Есть отзывы тех, кто такое собирал, и это сильно ускоряло их локальное обучение моделей для своих нужд. А если пойти ещё дальше и взять проявляющие на алиэкспрессе дешевые эпики и теряющие в цене материнки, то там будет 16 канальный режим памяти и скорость уже почти равная 4060 ti.

        Но такое никому не советую, если что.


        1. vikarti
          16.06.2024 13:44

          Это будет работать в 8 канальном режиме памяти выдавая скорость в 100-110 GB/s (выше топовой DDR5).

          К сожалению есть ньюансы.

          У меня есть похожая машинка (для других целей бралось и контроллер максимум в 4-х канальном режиме для каждого из сокетов работает).

          2 сокета это привет NUMA и обмен через QPI

          но правда сейчас вот запускаю тест на загруженной задачами и со снятой 8-й планкой памяти машине - 65-80 GB/s.

          вот только хочется для хоть какой то интерактивности - то хотя бы где то около 5 t/s, а не 0.5 t/s

          А эпики - ну вообщем нечто это имелось ввиду под б/у серверами


  1. Moog_Prodigy
    16.06.2024 13:44
    +5

    Хостинг у себя подобных штук требует значительных затрат на старте. Но затем вы платите только за электричество. Ии появился в не очень подходящее время: политические дрязги, закручивание гаек, возможность отключить что угодно по желанию левой пятки хостера (что мы сейчас наблюдаем то тут, то там), и наконец - цензура. Хоть она и запрещена во многих странах, это легко подается под соусом защиты прав людей и прочего такого, но по сути эти действия по "оглуплению" моделей являются ничем иным как цензурой. Скоро дойдем до того, что локальный лама-X на CPU и со скоростью в один токен в секунду, является по качеству ответов более приемлемым, чем хваленый GPT-(X+1).

    По итоге получаем некий обрубок Ии, с кучей заглушек, и тот у тебя в любое время могут отнять. И что с ним делать, если он условно говоря, внутри себя супер умный академик, но с кляпом во рту он может говорить только "да" или "нет", и то не всегда. Зачем он тогда такой нужен?

    Про приколы облаков я думаю за последние дни многие наслышаны, хотя об этом предупреждали еще пару десятков лет назад.


  1. janvarev
    16.06.2024 13:44
    +4

    По оценкам экспертов, для self-hosted модели, обрабатывающий порядка 10 тыс. запросов ежедневно, потребуется бюджет в размере 40–60 тыс. долларов в месяц.

    Ох уж эти эксперты.

    Файнтюн LLama8B (например, Сайга) влезает в видеокарту 16-24 Гб (ну, положим на 8бит квантизации)

    Стоимость аренды сервера с такой видеокартой - 50-100 тысяч в месяц в зависимости от того, где найдете.

    10000 запросов ежедневно = 416 запросов в час = 7 запросов в минуту. Даже на одном сервере можно обработать, ну в крайнем случае на двух.


    1. turbotankist
      16.06.2024 13:44

      Последнее пункт ошибочен - 7 запросов за минуту с достаточно большим контекстом запроса и ответа видеокарта не вытянет - 4090 примерно 80-100 токенов в секунду генерит, на объемный ответ секунд 10. Ну и типичное распределение - из10000 запросов в день 5000 будут за 2 самых нагруженных часа


  1. Devastor87
    16.06.2024 13:44
    +1

    Вот вам ещё один вариант (раз сами не догадались): обученную модель хранить локально, запускать локально, а дообучать через облачные сервисы, предоставляющие мощности в аренду.

    Практичнее, дешевле, быстрее, в общем, лучше во всех направления.


  1. vitaly_il1
    16.06.2024 13:44

    "По оценкам экспертов, для self-hosted модели, обрабатывающий порядка 10 тыс. запросов ежедневно, потребуется бюджет в размере 40–60 тыс. долларов в месяц. Эта сумма включает стоимость закупки и дальнейшей поддержки оборудования для сбора данных, а также наём специалистов."
    Очень странные цифры.
    Плюс зачем "дальнейшей поддержки оборудования для сбора данных"?


    1. Moog_Prodigy
      16.06.2024 13:44
      +1

      Наверное всякое оборудование типа ТСПУ в пользу любой из сторон (в том числе и третьей).


  1. Sabin
    16.06.2024 13:44

    Поделитесь своим опытом дообучения моделей, в первую очередь про подготовку датасета. Размечаете ли Вы как-то его, по какому принципу отбираете, как понимаете, что модель переобучена или наоборот нужно ещё продолжать? И про техническую часть, Вы говорите про LoRA или другие способы, сколько видеопамяти на это требуется, сколько шагов обычно длится обучение?