Авторы Джейкоб Ренн и Иэн Сотнек — 5 сентября 2023 г.

Введение

AI Squared стремится демократизировать ИИ, чтобы его могли использовать все. Однако есть две ключевые силы, противостоящие демократизации ИИ — тенденция высокопроизводительных моделей иметь огромное количество параметров, что делает их невероятно дорогими для обучения, настройки и развертывания в масштабе — и неразрешительное лицензирование, препятствующее использованию многих моделей с открытым исходным кодом. используются в коммерческих целях.

Получение высокой производительности от меньших моделей значительно снизит начальные и эксплуатационные затраты при создании больших языковых моделей.

Чтобы решить проблему размера и стоимости в текущей ситуации, в апреле 2023 года мы выпустили семейство моделей DLite V1, которые представляют собой легкие LLM с диапазоном от 124 миллионов до 1,5 миллиардов параметров, которые демонстрируют интерактивность, подобную ChatGPT. Небольшой размер этих моделей означает, что их можно запускать практически на любом устройстве, включая процессоры ноутбуков, вместо того, чтобы ограничиваться развертыванием на специализированных дорогостоящих облачных ресурсах. Однако на этом этапе мы использовали набор данных Alpaca для настройки модели, что не позволяло использовать какие-либо элементы семейства DLite v1 в коммерческих целях.

С тех пор мы обновили семейство DLite версией DLite V2, которая также включает четыре различные модели с диапазоном от 124 миллионов до 1,5 миллиардов параметров. Изюминкой обновления стало использование нами набора данных databricks-dolly-15k, выпущенного Databricks. Мы также загрузили этот набор данных на нашу страницу HuggingFace, чтобы каждый мог легко его использовать. Поскольку этот набор обучающих данных также лицензируется для коммерческих целей, мы также рады сообщить, что все модели семейства DLite V2 также могут использоваться в коммерческих целях, что позволяет организациям использовать эти модели без каких-либо лицензионных ограничений.

Семейство DLite, основанное на GPT-2, показывает, что даже старые и меньшие модели могут по-прежнему обеспечивать производительность и, что более важно, полезные чат-агенты.

Поскольку наша наименьшая модель DLite содержит всего 124 миллиона параметров, ее обучение и использование чрезвычайно просты и экономичны. Как и в случае с нашей версией V1, мы обучили эту модель на одном графическом процессоре T4, на этот раз стоимостью менее 10 долларов. И хотя DLite V2 не обеспечивает высочайшего уровня производительности, открытость моделей позволяет организациям иметь возможность точно настраивать эту модель на своих собственных данных, чтобы специализировать модели для своих задач. Мы считаем, что это важный шаг на пути к демократизации ИИ для всех!

Семейство DLite, хотя и не SOTA, но для своего размера превосходно показывает себя в таблице лидеров Huggingface Open LLM

На этом этапе нам нужно признать наличие слона в комнате (или, на самом деле, соколов и лам в комнате), а именно то, что простое использование моделей меньшего размера — это не единственный способ запуска больших языковых моделей на оборудовании потребительского уровня. . В последнее время появилась тенденция к использованию более крупных и современных моделей и их квантованию путем представления их весов и активаций в меньшем количестве битов, например, путем преобразования представления весов и активаций модели из типа данных более высокой точности. например, 32-битное число с плавающей запятой, к значению более низкой точности, например 4-битному целому числу. Это правда, что в большинстве случаев использования при сравнении моделей, основанных на объеме памяти, однако квантованные большие LLM превосходят меньшие LLM с полной точностью:

  1. Большие квантованные LLM могут работать на обычном оборудовании, особенно если устройство имеет графический процессор и/или вы запускаете модель на C или C++ без каких-либо зависимостей (например, llama.cpp), но там по-прежнему мало возможностей для удобного запуска по-настоящему моделей SOTA на легких потребительских устройствах, таких как ноутбуки бизнес-класса. Только потому, что вы *можете* запустить Llama-2–13B-chat-ggml-q4 на процессоре Macbook с частотой 2,6 ГГц и 16 ГБ ОЗУ, для более чем краткого взаимодействия типа вопросы и ответы 3 токена в секунду почти гарантируют неудовлетворительный конец пользователи.
  2. Затраты на настройку более крупной модели перед квантованием довольно высоки по сравнению с затратами на настройку меньшей модели полной точности. Эта разница может быть незначительной для предприятий, но для тех из нас, у кого нет прав администратора в учетной записи Databricks нашей организации, каждый доллар имеет значение!
  3. Как правило, простота также предпочтительнее сложности. Меньшая специализированная модель, доступная для обучения и/или точной настройки, может оказаться более ценной, чем более крупная необучаемая модель, которая не является специализированной. Кроме того, специализированный характер меньшей модели может помочь снизить вероятность нежелательного поведения.

По этим причинам мы считаем, что семейство DLite остается весьма актуальным для современных случаев использования моделей больших языков, особенно когда ресурсы сильно ограничены и/или специализация LLM очень важна.

Тренируйтесь DLite самостоятельно

Для тех, кто хочет обучать свои собственные версии DLite (V1 или V2), мы также полностью открыли исходный код учебного кода в нашем репозитории GitHub! По умолчанию блокнот в репозитории будет обучать версию DLite V2 со 124 миллионами параметров. Чтобы обучить DLite V1, просто измените набор данных на набор данных альпаки. Чтобы обучить другую базовую модель (по умолчанию мы используем самую маленькую версию GPT2), просто измените параметр model_id в блокноте. Это действительно так просто!

Поскольку настройка моделей семейства DLite настолько экономична и быстра, они являются идеальными кандидатами для настройки в конкретных случаях использования. Это открывает организациям возможность создать специализированную модель, используя свои собственные данные, гарантируя, что данные остаются конфиденциальными и их не нужно передавать третьим лицам. Чтобы настроить модель DLite для конкретного варианта использования, мы остановились на двухэтапной процедуре:

  1. Обучение модели на предметно-специфических данных
  2. Обучите модель соответствующим парам вопрос-ответ

Начальное обучение позволяет модели изучить предметную область — специфическую терминологию. В качестве дополнительного бонуса этот шаг довольно прост, поскольку не требует комментариев со стороны человека! Второй шаг помогает усилить поведение чат-бота модели DLite и одновременно настроить модель, чтобы она стала специализированным агентом. В зависимости от ваших требований вы можете использовать пары вопросов и ответов, созданные человеком — аннотированные или сгенерированные искусственным интеллектом. Именно эту процедуру мы использовали для обучения забавному примеру модели DLite, которая действовала как вопрос — отвечая эксперту на саммите Databricks Data and AI Summit 2023 в июне этого года в Сан-Франциско. Вы можете увидеть этот прекрасно настроенный DLite на Huggingface, а наш обучающий скрипт для этого варианта использования находится на Github.

Мы также рады сообщить, что наш код обучения использует новые возможности MLFlow 2.3.0 для регистрации обученной модели, а также параметров обучения, таких как базовая модель, набор обучающих данных и количество эпох. Эти новые возможности команды MLFlow стали неотъемлемой частью наших процессов разработки и экспериментирования, поскольку они позволили нам оптимизировать процессы управления версиями и оценки моделей. Эти операции выполняет последняя ячейка учебного блокнота.

Что будет дальше с AI Squared?

AI Squared рада продолжить исследования и разработку инструментов для простого, эффективного и экономичного использования больших языковых моделей. Наше нынешнее исследовательское направление разделено между двумя взаимодополняющими направлениями работы. Во-первых, мы изучаем парадигмы создания цепочек моделей и инструментов, такие как Langchain, и оцениваем пригодность более мелких моделей, таких как квантованные LLM и специально обученные модели DLite, для работы в качестве агентов и инструментов в Langchain. Во-вторых, мы изучаем, как можно использовать AI Squared и MLflow для мониторинга поведения и постепенного улучшения систем в стиле Langchain посредством агрегирования отзывов пользователей и других соответствующих показателей производительности системы, а затем автоматического переобучения и повторного развертывания. элементы цепи.

Мы будем рады поделиться с вами тем, что мы уже создали, и нашим постоянным прогрессом! Чтобы узнать больше и следить за дальнейшими действиями, посетите наш веб-сайт и страницу Hugging Face, где вы можете увидеть примеры нашей серии DLite, а также получить представление о том, как клиенты применяют DLite в реальных случаях использования.