Сложности разработки больших языковых моделей и как с ними справляться
Боймель
руководитель команды разработки YandexGPT
Развитие больших языковых моделей (LLM) предлагает бизнесу мощные инструменты для автоматизации задач и улучшения пользовательского опыта. Однако обучение и внедрение нейросетей - сложный процесс. Александр Боймель, руководитель команды разработки YandexGPT, рассказывает о вызовах, с которыми сталкивается бизнес при работе с большими моделями ИИ, а также о путях их решения.
Рост популярности генеративного ИИ
Генеративные нейросети начали применять в разных сферах уже в 2017 году, от работы в онлайн-переводчиках до общения в чат-ботах. Однако они требовали много ресурсов и плохо справлялись с задачами. Сегодня большие языковые модели стали умнее благодаря улучшенной архитектуре и расширению данных, на которых обучаются модели.
Прогресс в этой области, который мы увидели в последние несколько лет, стал возможен благодаря двум основным причинам. Во-первых, сильно выросло качество "железа" - стало больше вычислительных мощностей, выросла эффективность графических процессоров (GPU). Во-вторых, важную роль сыграл удачный эксперимент команды OpenAI в обучении моделей ИИ. Если раньше нейросеть решала одну или несколько задач, то создатели ChatGPT намеренно стали обучать модель на сотнях тысяч разных заданий - ИИ стал более гибким и способным решать множество задач одновременно. Модель также научилась переносить свои навыки с одной задачи на другие, близкие по смыслу.
Результаты такой работы вызвали широкий интерес, поэтому другие разработчики нейросетей стали работать в том же направлении. Это привело к созданию мощных и универсальных генеративных моделей по всему миру.
Трудности в работе с большими нейросетями
Компании могут выбирать между созданием собственных моделей и использованием сторонних разработок, которые они дообучают и адаптируют под свои нужды. Однако оба эти формата сопряжены с определенными сложностями.
Большинство компаний предпочитают использовать готовые решения, такие как покупка API или open-source-модели, поскольку создание собственной модели требует значительных финансовых и временных затрат. Только крупнейшие технологические компании и стартапы с миллиардными инвестициями создают свои модели с нуля, чтобы в первую очередь зарабатывать на них.
Вычислительные мощности и инфраструктура
Обучение нейросетей, особенно с нуля - дорогой и технически сложный процесс, требующий значительных вычислительных ресурсов и времени. И создание необходимой инфраструктуры для этого является отдельной задачей. Для обучения современных моделей требуется тысячи, десятки тысяч графических процессоров (GPU), которые сейчас в дефиците и стоят очень дорого.
Само обучение может занимать месяцы или даже годы в зависимости от доступных ресурсов и размера модели. При этом саму инфраструктуру важно использовать грамотно - необходимо оптимизировать ее так, чтобы одни GPU не простаивали, пока работают другие. Также важно проводить вычисления оптимально, учитывая особенностей архитектуры GPU для максимальной производительности. Такая работа включает не только расходы на оборудование, но и затраты на его обслуживание, охлаждение и потребление электроэнергии. Если настроить этот процесс эффективно, компания может существенно сэкономить за счет ускорения обучения.
Специалисты
Работа с нейросетями требует участия специалистов из разных областей. Например, у нас в команде есть AI-тренеры, которые разрабатывают эталоны для обучения моделей и оценивают их ответы. AI-тренер - одно из важных звеньев в обучении нейросети. Такие специалисты показывают ей примеры хороших ответов и учат ее выполнять задания, для которых ещё нет готовых решений. Это помогает нейросетям становиться умнее и точнее.
При этом с кадрами в индустрии есть сложность. С одной стороны, нужны специалисты с опытом, которые смогут быстро решать задачи, ведь любая ошибка или простой оборудования дорого обходится компании. С другой стороны, в таких условиях сложно растить новых сотрудников: для обучения им как раз нужно самим проводить эксперименты, получать практический опыт (и да, иногда делать ошибки). Получается замкнутый круг.
Доступ к качественным датасетам
Количество и качество данных играют ключевую роль при обучении ИИ: чем больше и точнее обучающий датасет, тем лучше результаты работы.
Благодаря интернету доступ к большим объемам информации есть у многих компаний, и для множества задач этого достаточно. Однако в некоторых сферах нужны специфичные типы данных. В этом случае бизнес может создать так называемые синтетические данные - искусственно созданные данные для моделирования реальных условий. Это отдельная задача, которая иногда также может решаться с помощью нейросетей. Например, улучшение качества переводчика может быть достигнуто путем дообучения его на текстах, созданных генеративными моделями. С помощью множества эталонных примеров переводчик будет лучше понимать связи внутри предложений и контекст на уровне всего текста.
Оценка качества и контроль
Оценка работы модели - отдельная сложность. Нейросеть постоянно генерирует ответы, и только небольшую часть их характеристик можно оценить автоматическими методами. Чтобы точно понимать, насколько хорошо ИИ справляется с той или иной задачей, его работу должны проверять люди (они называются AI-тренерами). Это требует не только времени и финансов - важно грамотно составить техзадание, по которому будет производиться контроль качества.
Что может помочь
Оптимизация процесса обучения
Современные нейросети настолько велики, что их обучение происходит не на одном компьютере, а на огромных кластерах, состоящих из тысяч GPU. Эти кластеры представляют собой множество процессоров, которые работают совместно. В таких системах процессоры активно коммуницируют между собой, что позволяет эффективно обучать сложные модели.
Сейчас для обеспечения слаженной работы всех элементов кластера и синхронизации процессов обучения разрабатываются специальные программные библиотеки.
Например, за счет оптимизации кода можно эффективнее использовать графическую память на разных этапах обучения: pre-training (предварительное), supervised fine-tuning (с учителем), alignment (выравнивание модели). Это ускоряет процесс обучения нейросети и за счет этого позволяет существенно сэкономить ресурсы.
Технологические улучшения
Новое поколение видеокарт становится эффективнее и быстрее с каждым годом - это постепенно сокращает затраты на электроэнергию при работе с ними. Существует физическое ограничение количества карт, которые можно установить в один кластер, поэтому улучшение каждого отдельного устройства влияет на эффективность процесса в целом. При этом можно заменить сетевые устройства кластера для подключения большего количества карт, но это потребует и доработки алгоритмов обучения.
Автоматизация оценки
Проблемы с аналитикой вокруг оценки результатов и написанием качественных ответов актуальны для всех, кто работает с языковыми моделями. Несмотря на сложности, эту сферу постепенно также можно автоматизировать. Например, использовать одну модель ИИ для оценки качества сгенерированного ответа другой нейросети. Такие инструменты помогают улучшить качество работы моделей и сократить время на ручную оценку. Хотя этот метод работает для узких задач, он имеет ограничения.
Во-первых, существует риск смещения модели в пользу собственных ответов, что может привести к необъективной оценке. Во-вторых, модели ИИ могут генерировать очень правдоподобные ответы, и неосведомленному или невнимательному человеку сложно заметить ошибку или неточность в их выводах.
Что стоит учитывать бизнесу
Чтобы эффективно использовать нейросети в бизнесе, важно сначала оценить собственные потребности и ресурсы. Начать стоит с изучения внешних решений и партнерств. Для большинства компаний будет разумнее и выгоднее использовать уже существующие API или open-source-модели, нежели разрабатывать продукты с нуля.
При использовании open-source-моделей необходимо учитывать:
Лицензия - убедитесь, что выбранная модель имеет лицензию, позволяющую коммерческое использование. Не все открытые модели позволяют это делать, и нарушение правил может привести к юридическим последствиям.
Ресурсы на инференс (применение) модели - это включает не только вычислительные мощности, но и необходимость в квалифицированных специалистах для настройки и оптимизации модели под ваши конкретные задачи.
Важно учитывать не только размер бизнеса, но и наличие технической экспертизы и значительных ресурсов (в том числе финансовых). К самостоятельной разработке стоит приступать, если:
-
Есть амбиции на рост как технической компании - вы планируете стать лидером в разработке технологий и готовы инвестировать в долгосрочные проекты.
-
Есть значительный бюджет - достаточно средств для инвестиций в разработку и поддержку собственного решения на протяжении долгого времени.
-
Доступные решения не подходят - существующие API и open source-модели не соответствуют текущим требованиям или не обеспечивают необходимого качества для вашей конкретной задачи.