Автоматическое решение с искусственным интеллектом на основе генерации на платформе Amazon SageMaker для помощи Amazon EU в разработке и строительстве

Использование искусственного интеллекта на платформе Amazon SageMaker в автоматическом решении для поддержки разработки и строительства Amazon EU

Команда Amazon EU Design and Construction (Amazon D&C) – это инженерная команда, проектирующая и строящая склады Amazon в Европе и регионе MENA. Процессы проектирования и развертывания проектов включают множество типов запросов на получение информации (RFI) о технических требованиях к Amazon и специфических руководствах по проекту. Эти запросы варьируются от простого получения базовых значений проектирования до обзора предложений по инженерии стоимости, а также анализа отчетов и проверки соответствия. В настоящее время эти запросы рассматривает Центральная Техническая Команда, состоящая из экспертов-практиков (SME), которые могут отвечать на такие сложные специализированные вопросы и оказывать эту услугу всем заинтересованным сторонам и командам на протяжении жизненного цикла проекта. Команда ищет решение с использованием генеративного искусственного интеллекта для ответов на вопросы, чтобы быстро получать информацию и продолжать инженерное проектирование. Применение такого решения распространяется не только на команду Amazon D&C, но и на более широкий круг глобальных инженерных услуг, представленных в процессе развертывания проекта. Весь спектр заинтересованных сторон и команд, участвующих в жизненном цикле проекта, может получить преимущество от генеративного AI решения в форме ответов на вопросы, поскольку оно обеспечит быстрый доступ к критической информации и оптимизацию процессов инженерного проектирования и управления проектом.

Существующие решения на базе генеративного искусственного интеллекта для ответов на вопросы в основном основаны на методе Retrieval Augmented Generation (RAG). RAG ищет документы с использованием векторной модели языка на основе больших моделей языка (LLM), создает контекст из результатов поиска с использованием кластеризации и использует этот контекст как дополненный намек для вывода ответа на основе основной модели. Этот метод менее эффективен для высокотехнологичных документов от Amazon D&C, которые содержат значительные неструктурированные данные, такие как таблицы Excel, списки, фигуры и изображения. В этом случае задача ответов на вопросы работает лучше, если модель LLM донастраивается с использованием этих документов. Настройка позволяет корректировать и адаптировать веса предварительно обученной модели LLM для повышения качества и точности модели.

Для решения этих проблем мы представляем новую схему с использованием RAG и донастроенных моделей LLM. Решение использует Amazon SageMaker JumpStart в качестве основной службы для донастройки модели и вывода результатов. В этой статье мы не только предоставляем решение, но и обсуждаем полученные уроки и лучшие практики внедрения решения на реальных примерах использования. Мы сравниваем и сопоставляем, как выполняются разные методологии и модели языка с открытым исходным кодом в нашем случае использования и обсуждаем, как найти компромисс между производительностью модели и затратами на вычислительные ресурсы.

Обзор решения

Решение включает следующие компоненты, как показано на схеме архитектуры:

  1. Хранилище контента – Содержимое D&C включает широкий спектр читабельных документов различных форматов: файлы PDF, таблицы Excel, вики-страницы и другие. В данном решении мы хранили это содержимое в Amazon Simple Storage Service (Amazon S3) и использовали его как базу знаний для информационного поиска и вывода результатов. В будущем мы разработаем адаптеры интеграции для прямого доступа к содержимому из источников.
  2. RAG-фреймворк с донастроенными моделями LLM – Он состоит из следующих подкомпонентов:
    1. RAG-фреймворк – он ищет соответствующие данные в документах, расширяет подсказки, добавляя извлеченные данные в контекст и передает их донастроенной модели LLM для генерации выводов.
    2. Донастроенная модель LLM – Мы составили обучающий набор данных из документов и содержимого, а затем провели донастройку на основной модели. После донастройки модель получила знания из содержимого D&C и способна отвечать на вопросы независимо.
    3. Модуль проверки подсказок – Он измеряет семантическое соответствие между подсказкой пользователя и набором данных для донастройки. Если LLM донастроена для ответа на этот вопрос, вы можете использовать донастроенную модель для получения ответа. Если нет, вы можете использовать RAG для генерации ответа.
    4. LangChain – Мы используем LangChain для создания рабочего процесса для ответа на поступающие вопросы.
  3. UI для конечных пользователей – Это пользовательский интерфейс для чат-бота, который запрашивает вопросы и запросы пользователей и представляет ответы от RAG и LLM моделей.
overall_architecture

В следующих разделах мы продемонстрируем, как создать рабочий процесс RAG (Retrieve and Generate) и построить настроенные модели.

RAG с использованием базовых моделей от SageMaker JumpStart

RAG объединяет возможности предварительно обученных моделей плотного поиска (dense retrieval) и моделей на основе последовательности (seq2seq) для создания ответов на вопросы. Для ответов на вопросы в документах Amazon D&C необходимо заранее подготовить следующее:

  • Встраивание документов и их индексация с использованием модели встраивания LLM – Мы разделили несколько документов на небольшие части в соответствии с их структурой (главы и разделы документа), испытывали модель Amazon GPT-J-6B на платформе SageMaker JumpStart для генерации индексов и сохраняли индексы в хранилище векторов FAISS
  • Предварительно обученная базовая модель для генерации ответов по заданным шаблонам – Мы испытывали модели Flan-T5 XL, Flan-T5 XXL и Falcon-7B на платформе SageMaker JumpStart

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

  1. Получение вопроса от пользователя.

  2. Семантический поиск среди индексированных документов с использованием FAISS для получения K наиболее релевантных частей документов.

  3. Определение шаблона запроса, например,

    """Ответ на основе контекста:\n\n{контекст}\n\n{вопрос}"""
  4. Дополнение полученных частей документов как {контекст} и вопроса пользователя как {вопрос} в запросе.

  5. Подача сформированного нулевого запроса на базовую модель.

  6. Возврат результата пользователю.

Мы проверили 125 вопросов по требованиям и спецификациям Amazon D&C, и RAG дал хороший ответ на некоторые из них. В следующем примере RAG с использованием модели Flan-T5-XXL предоставил точный ответ из соответствующих разделов документов.

Вопрос Какие требования по ВОДОСНАБЖЕНИЮ для фонтанов и водоподогревателей для питья? (Раздел 22 47 00)
Ожидаемый ответ Застройщик должен предоставить прилавки для подачи воды, расположенные на фоне стены склада, непосредственно рядом с входом в каждый туалетный блок на складе, а также на эквивалентном расстоянии рядом с туалетным блоком раздевалки. Установленные единицы должны соответствовать стандартам Amazon. Окончательное количество и размещение согласуются с Amazon перед установкой. В каждом месте должно быть предоставлено не менее двух единиц, которые подают охлажденную и комнатной температуры воду. Водоподогреватели или поющие фонтаны – Застройщик обеспечивает водоснабжение в соответствии с требованиями для отдаленных водоподогревателей или поющих фонтанов на всей территории. Застройщик предоставляет точки подключения воды, канализацию и все необходимые электрические услуги в комнатах отдыха для поющих фонтанов, которые обеспечиваются кейтеринговым подрядчиком.
Ответ RAG (встраивание GPT-J-6B с использованием Flan-T5-XXL) Застройщик должен предоставить прилавки для подачи воды, расположенные на фоне стены склада, непосредственно рядом с входом в каждый туалетный блок на складе, а также на эквивалентном расстоянии рядом с туалетным блоком раздевалки. Установленные единицы должны соответствовать стандартам Amazon. Окончательное количество и размещение согласуются с Amazon перед установкой. В каждом месте должно быть предоставлено не менее двух единиц, которые подают охлажденную и комнатной температуры воду. Водоподогреватели или поющие фонтаны – Застройщик обеспечивает водоснабжение в соответствии с требованиями для отдаленных водоподогревателей или поющих фонтанов на всей территории. Застройщик предоставляет точки подключения воды, канализацию и все необходимые электрические услуги в комнатах отдыха для поющих фонтанов, которые обеспечиваются кейтеринговым подрядчиком.

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

Вопрос Каковы требования к высоте пола для первого этажа P2 из бетона?
Ожидаемый ответ 7,50 м AFFL
Ответ RAG (встраивание GPT-J-6B с Flan-T5-XXL) Первый этаж P2 из бетона

Это требует улучшения, потому что галлюцинации не допускаются из-за критичности последствий в данном случае.

Настройка LLM на SageMaker

Для решения этой проблемы и улучшения качества ответов мы принимаем новый подход к настройке модели LLM с использованием документов для задачи ответа на вопросы. Модель будет обучаться изучать соответствующие знания непосредственно из документов. В отличие от RAG, это не зависит от того, правильно ли внедрены и индексированы документы, и эффективен ли семантический поиск, чтобы вернуть наиболее релевантное содержимое из векторной базы данных.

Чтобы подготовить обучающий набор данных для дальнейшей настройки, мы извлекаем информацию из документов D&C и конструируем данные в следующем формате:

  • Инструкция – Описывает задачу и предоставляет частичное объявление
  • Входные данные – Предоставляет дополнительный контекст для включения в объявление
  • Ответ – Результат модели

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

Чтобы ускорить процесс обучения и снизить затраты на вычислительные ресурсы, мы используем Parameter Efficient Fine-Tuning (PEFT) с техникой Low-Rank Adaptation (LoRA). PEFT позволяет нам настраивать только небольшое количество дополнительных параметров модели, а LoRA представляет обновления весов с помощью двух меньших матриц через разложение низкого ранга. С помощью PEFT и LoRA с 8-битной квантизацией (операция сжатия, которая дополнительно уменьшает объем памяти модели и ускоряет процесс обучения и вывода результатов), мы можем подогнать обучение 125 пар вопрос-ответ на одной графической карте g4dn.x.

Чтобы доказать эффективность настройки, мы провели тестирование с несколькими LLM на SageMaker. Мы выбрали пять моделей небольшого размера: Bloom-7B, Flan-T5-XL, GPT-J-6B и Falcon-7B на SageMaker JumpStart, а также Dolly-3B из Hugging Face на SageMaker.

С помощью обучения с использованием 8-битного LoRA мы можем уменьшить количество обучаемых параметров до не более 5% от полного веса каждой модели. Обучение занимает 10-20 эпох, как показано на следующем рисунке. Для каждой модели процесс настройки может поместиться на одной графической карте g4dn.x, что оптимизирует затраты на вычислительные ресурсы.

training_process

Вычисление результатов, полученных с помощью настроенной модели, развернутой на SageMaker

Мы развернули настроенную модель вместе с фреймворком RAG на одной графической карте g4dn.x в SageMaker и сравнили результаты вычислений на 125 вопросах. Производительность модели измеряется двумя метриками. Одна из них – это ROUGE (Recall-Oriented Understudy for Gisting Evaluation) score, популярный метод оценки модели обработки естественного языка, который вычисляет отношение совпадающих слов к общему количеству слов в предложении-референсе. Вторая метрика – это оценка семантической (текстовой) близости, которая измеряет, насколько близкое значение имеют два фрагмента текста, используя модель-трансформер для кодирования предложений и вычисления их векторных представлений с помощью метрики косинусного сходства. Из экспериментов видно, что эти две метрики достаточно согласованы в отношении качества ответов на вопросы.

В следующей таблице и на рисунке видно, что модель Fine-tuned Falcon-7B предоставляет лучшее качество ответов, а модели Flan-T5-XL и Dolly-3B также генерируют точные ответы.

. RAG_GPT-J-6B_Flan-T5-XL RAG_GPT-J-6B_Flan-T5-XXL Fine-tuned Bloom-7B1 Fine-tuned Flan-T5-XL Fine-tuned GPT-J-6B Fine-tuned Dolly-3B Fine-tuned Falcon-7B
ROUGE Score 0.1938 0.2747 0.3914 0.4977 0.3740 0.6991 0.9459
Semantic Similarity Score 0.4121 0.4786 0.5666 0.7205 0.5414 0.8147 0.9774
training_results

Ниже приведен один пример ответа от моделей. RAG с моделью Flan-T5-XL предоставил сильно фантазирующий ответ, тогда как ответ от RAG с более крупной моделью Flan-T5-XXL был более соответствующим, но все равно не способен охватить полное ожидаемое сообщение. По сравнению с этим все модели с настройкой (Flan-T5-XL, Dolly-3B и Falcon-7B) смогли дать наиболее точный ответ, как ожидаемый ответ.

Вопрос Каковы требования к герметизатору / отвердителю после шлифовки? (TS0004 – раздел 2.8)
Ожидаемый ответ После проведения любых процедур по шлифовке / шлифовке на полу AR будет использоваться герметизатор / отвердитель на основе лития. Пожалуйста, обратитесь к процедурам TGC /0007 AR Floor SCA. Альтернативы будут рассматриваться, но должны быть утверждены Amazon и консультантом по полу.
Ответ от RAG (GPT-J-6B с внедрением Flan-T5-XL) Проникающий отвердитель для бетона должен быть обсужден на предварительной встрече до заливки и должен быть утвержден консультантом по полу и Amazon
Ответ от RAG (GPT-J-6B с внедрением Flan-T5-XXL) Предложенное соединение должно быть обсуждено на предварительной встрече до заливки и должно быть утверждено консультантом по полу и Amazon. Альтернативы будут рассматриваться, но должны быть утверждены Amazon и консультантом по полу.
Ответ от настроенной модели Flan-T5-XL После проведения любых процедур по шлифовке / шлифовке на полу AR будет использоваться герметизатор / отвердитель на основе лития. Пожалуйста, обратитесь к процедурам TGC /0007 AR Floor SCA. Альтернативы будут рассматриваться, но должны быть утверждены Amazon и консультантом по полу.
Ответ от настроенной модели Dolly-3B После проведения любых процедур по шлифовке / шлифовке на полу AR будет использоваться герметизатор / отвердитель на основе лития. Пожалуйста, обратитесь к процедурам TGC /0007 AR Floor SCA. Альтернативы будут рассматриваться, но должны быть утверждены Amazon и консультантом по полу.
Ответ от настроенной модели Falcon-7B После проведения любых процедур по шлифовке / шлифовке на полу AR будет использоваться герметизатор / отвердитель на основе лития. Пожалуйста, обратитесь к процедурам TGC /0007 AR Floor SCA. Альтернативы будут рассматриваться, но должны быть утверждены Amazon и консультантом по полу.

Прототип решения и результат

Мы разработали прототип на основе представленной архитектуры и провели концептуальное доказательство для демонстрации результата. Чтобы использовать преимущества как RAG-фреймворка, так и тонко настроенной LLM, а также уменьшить галлюцинации, мы сначала семантически проверяем поступающий вопрос. Если вопрос есть среди обучающих данных для тонкой настройки (углубленная модель уже имеет знания, чтобы предоставить высококачественный ответ), то мы направляем вопрос как подсказку для вывода тонко настроенной модели. В противном случае вопрос проходит через LangChain и получает ответ от RAG. Ниже представлена диаграмма, иллюстрирующая этот рабочий процесс.

RAG_LLM_validate

Мы протестировали архитектуру с тестовым набором данных из 166 вопросов, который содержит 125 вопросов, использованных для тонкой настройки модели, и дополнительно 41 вопрос, с которым тонко настроенная модель не обучалась. Фреймворк RAG с моделью вложений и тонко настроенной моделью Falcon-7B продемонстрировал высокое качество результатов с ROUGE-оценкой 0.7898 и оценкой семантической схожести 0.8781. Как показано на следующих примерах, фреймворк способен генерировать ответы на вопросы пользователей, которые хорошо соответствуют документам по D&C.

Следующее изображение – наш первый пример документа.

bot1

На следующем скриншоте показан результат работы бота.

bot2

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

bot3

На следующем скриншоте показан результат работы бота.

bot4

Мы также можем использовать документ с фигурой, как в следующем примере.

bot5

На следующем скриншоте показан результат работы бота с текстом и фигурой.

bot6-1

На следующем скриншоте показан результат работы бота только с фигурой.

bot7-1

Выученные уроки и лучшие практики

В ходе проектирования решения и проведения экспериментов с несколькими LLM, мы узнали, как обеспечить качество и производительность для задачи ответа на вопросы в генеративном AI решении. Мы рекомендуем следующие лучшие практики при применении решения в ваших случаях использования ответов на вопросы:

  • RAG обеспечивает разумные ответы на инженерные вопросы. Производительность сильно зависит от встраивания и индексирования документов. Для высоко неструктурированных документов вам может понадобиться некоторая ручная работа по правильному разделению и дополнению документов перед встраиванием и индексированием LLM.
  • Поиск по индексу играет важную роль в определении окончательного вывода RAG. Вы должны правильно настроить алгоритм поиска, чтобы достичь хорошего уровня точности и обеспечить более релевантные ответы от RAG.
  • Тонко настроенные LLM могут изучать дополнительные знания из высокотехничных и неструктурированных документов и обладать знаниями внутри модели без зависимости от документов после обучения. Это особенно полезно для случаев использования, где недопустимы вижуализация данных.
  • Для обеспечения качества ответов модели, формат набора данных для тонкой настройки должен использовать правильно определенный шаблон по задаче. Пайплайн вывода должен следовать тому же шаблону для генерации ответов, схожих с человеческими.
  • LLM часто имеют существенный ценник и требуют значительных ресурсов и высоких затрат. Вы можете использовать техники PEFT, LoRA и квантования для снижения потребности в вычислительной мощности и избежания высоких затрат на обучение и вывод.
  • SageMaker JumpStart предоставляет простой доступ к предварительно обученным LLM для тонкой настройки, вывода и развертывания. Он может значительно ускорить разработку и реализацию вашего генеративного AI решения.

Вывод

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

Ваша обратная связь всегда приветствуется; пожалуйста, оставляйте свои мысли и вопросы в разделе комментариев.