Home Машинное обучение Развертывание больших языковых моделей для использования в сфере здравоохранения на Amazon SageMaker | DeepTech

Развертывание больших языковых моделей для использования в сфере здравоохранения на Amazon SageMaker | DeepTech

0
Развертывание больших языковых моделей для использования в сфере здравоохранения на Amazon SageMaker
 | DeepTech

В 2021 году Фармацевтическая промышленность принесла в США доход в $550 млрд.. Фармацевтические компании продают на рынке множество различных, часто новых, лекарств, при которых иногда могут возникнуть непреднамеренные, но серьезные побочные эффекты.

Об этих событиях можно сообщать где угодно, из больниц или дома, и их необходимо ответственно и эффективно отслеживать. Традиционная ручная обработка нежелательных явлений усложняется из-за растущего объема медицинских данных и затрат. В целом к ​​2022 году прогнозируемые затраты на деятельность по фармаконадзору для всей отрасли здравоохранения составят 384 миллиарда долларов. Для поддержки всеобъемлющей деятельности по фармаконадзору наши фармацевтические клиенты хотят использовать возможности машинного обучения (МО) для автоматизации обнаружения нежелательных явлений из различных источников данных. , такие как ленты социальных сетей, телефонные звонки, электронные письма и рукописные заметки, и запускать соответствующие действия.

В этом посте мы покажем, как разработать решение на основе машинного обучения с использованием Amazon SageMaker для обнаружения нежелательных явлений с использованием общедоступного набора данных о побочных реакциях на лекарства на Hugging Face. В этом решении мы настраиваем различные модели Hugging Face, предварительно обученные на медицинских данных, и используем модель BioBERT, предварительно обученную на Опубликованный набор данных и показывает лучшие результаты из опробованных.

Мы реализовали решение с помощью AWS Cloud Development Kit (AWS CDK). Однако в этом посте мы не рассматриваем особенности построения решения. Дополнительную информацию о реализации этого решения см. в разделе Создание системы отслеживания нежелательных событий в режиме реального времени с помощью Amazon SageMaker и Amazon QuickSight.

Этот пост посвящен нескольким ключевым областям, обеспечивая всестороннее исследование следующих тем:

  • Проблемы с данными, с которыми сталкиваются профессиональные сервисы AWS
  • Ландшафт и применение больших языковых моделей (LLM):
    • Трансформаторы, BERT и GPT
    • Обнимающее лицо
  • Точно настроенное решение LLM и его компоненты:
    • Подготовка данных
    • Модельное обучение

Проблема с данными

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

Мы устраняем этот перекос с помощью генеративных моделей искусственного интеллекта (Falcon-7B и Falcon-40B), которым было предложено генерировать выборки событий на основе пяти примеров из обучающего набора, чтобы увеличить семантическое разнообразие и увеличить размер выборки помеченных нежелательных явлений. Нам выгодно использовать здесь модели Falcon, потому что, в отличие от некоторых LLM на Hugging Face, Falcon предоставляет вам набор обучающих данных, которые они используют, поэтому вы можете быть уверены, что ни один из ваших примеров тестового набора не содержится в обучающем наборе Falcon, и избегайте данных. загрязнение.

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

Трансформаторы, BERT и GPT

Архитектура преобразователя — это архитектура нейронной сети, которая используется для задач обработки естественного языка (NLP). Впервые он был представлен в статье «Внимание — это все, что вам нужно» Васвани и др. (2017). Архитектура преобразователя основана на механизме внимания, который позволяет модели изучать долгосрочные зависимости между словами. Трансформаторы, как указано в оригинальной статье, состоят из двух основных компонентов: кодера и декодера. Кодер принимает входную последовательность в качестве входных данных и создает последовательность скрытых состояний. Затем декодер принимает эти скрытые состояния в качестве входных данных и создает выходную последовательность. Механизм внимания используется как в кодере, так и в декодере. Механизм внимания позволяет модели обращать внимание на определенные слова во входной последовательности при создании выходной последовательности. Это позволяет модели изучать долгосрочные зависимости между словами, что важно для многих задач НЛП, таких как машинный перевод и обобщение текста.

Одна из наиболее популярных и полезных архитектур преобразователей, двунаправленные представления кодировщиков из преобразователей (BERT), представляет собой модель языкового представления, которая была представлен в 2018 году. BERT обучается на последовательностях, в которых некоторые слова в предложении замаскированы, и ему приходится заполнять эти слова, принимая во внимание слова до и после замаскированных слов. BERT можно настроить для различных задач НЛП, включая ответы на вопросы, вывод на естественном языке и анализ настроений.

Другая популярная архитектура трансформаторов, покорившая мир, — это генеративный предварительно обученный трансформатор (GPT). Первая модель GPT была представлен OpenAI в 2018 году. Он работает, обучаясь строго предсказывать следующее слово в последовательности, зная только контекст перед словом. Модели GPT обучаются на огромном наборе данных текста и кода, и их можно точно настроить для ряда задач НЛП, включая генерацию текста, ответы на вопросы и обобщение.

В целом BERT лучше справляется с задачами, требующими более глубокого понимания контекста слов, тогда как GPT лучше подходит для задач, требующих создания текста..

Обнимающее лицо

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

Hugging Face легко интегрируется с SageMaker — полностью управляемым сервисом, который позволяет разработчикам и специалистам по обработке данных создавать, обучать и развертывать модели машинного обучения в любом масштабе. Эта синергия приносит пользу пользователям, предоставляя надежную и масштабируемую инфраструктуру для решения задач НЛП с помощью самых современных моделей, которые предлагает Hugging Face, в сочетании с мощными и гибкими сервисами машинного обучения от AWS. Вы также можете получить доступ к моделям Hugging Face непосредственно из Amazon SageMaker JumpStart, что позволяет удобно начинать с готовых решений.

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

Мы использовали библиотеку Hugging Face Transformers для точной настройки моделей трансформаторов в SageMaker для классификации неблагоприятных событий. Учебное задание создается с использованием оценщика SageMaker PyTorch. SageMaker JumpStart также имеет несколько дополнительных интеграций с Hugging Face, которые упрощает внедрение. В этом разделе мы описываем основные этапы подготовки данных и обучения модели.

Подготовка данных

Мы использовали данные о побочных реакциях на лекарства (ade_corpus_v2) в наборе данных Hugging Face с разделением обучения и тестирования 80/20. Требуемая структура данных для обучения и вывода нашей модели имеет два столбца:

  • Один столбец для текстового содержимого в качестве входных данных модели.
  • Еще один столбец для класса меток. У нас есть два возможных класса текста: Not_AE и Adverse_Event.

Обучение модели и экспериментирование

Чтобы эффективно изучить пространство возможных моделей «Обнимающего лица» для точной настройки наших объединенных данных о нежелательных явлениях, мы создали задание по оптимизации гиперпараметров (HPO) SageMaker и передали различные модели «Обнимающего лица» в качестве гиперпараметра вместе с другими важными гиперпараметрами. такие как размер обучающего пакета, длина последовательности, модели и скорость обучения. В заданиях обучения использовался экземпляр ml.p3dn.24xlarge, и каждое задание с этим типом экземпляра занимало в среднем 30 минут. Показатели обучения собирались с помощью инструмента Amazon SageMaker Experiments, и каждое задание обучения выполнялось в течение 10 эпох.

В нашем коде мы указываем следующее:

  • Размер обучающего пакета – Количество выборок, которые обрабатываются вместе перед обновлением весов модели.
  • Длина последовательности – Максимальная длина входной последовательности, которую может обработать BERT.
  • Скорость обучения – Как быстро модель обновляет свои веса во время тренировки
  • Модели – Предварительно обученные модели Hugging Face
# we use the Hyperparameter Tuner
from sagemaker.tuner import IntegerParameter,ContinuousParameter, CategoricalParameter
tuning_job_name="ade-hpo"
# Define exploration boundaries
hyperparameter_ranges = {
 'learning_rate': ContinuousParameter(5e-6,5e-4),
 'max_seq_length': CategoricalParameter(('16', '32', '64', '128', '256')),
 'train_batch_size': CategoricalParameter(('16', '32', '64', '128', '256')),
 'model_name': CategoricalParameter(("emilyalsentzer/Bio_ClinicalBERT", 
                                                            "dmis-lab/biobert-base-cased-v1.2", "monologg/biobert_v1.1_pubmed", "pritamdeka/BioBert-PubMed200kRCT", "saidhr20/pubmed-biobert-text-classification" ))
}

# create Optimizer
Optimizer = sagemaker.tuner.HyperparameterTuner(
    estimator=bert_estimator,
    hyperparameter_ranges=hyperparameter_ranges,
    base_tuning_job_name=tuning_job_name,
    objective_type="Maximize",
    objective_metric_name="f1",
    metric_definitions=(
        {'Name': 'f1',
         'Regex': "f1: ((0-9.)+).*$"}),  
    max_jobs=40,
    max_parallel_jobs=4,
)

Optimizer.fit({'training': inputs_data}, wait=False)

Полученные результаты

В нашем случае лучше всего показала себя модель monologg/biobert_v1.1_pubmed Модель размещена на Hugging Face, которая представляет собой версию архитектуры BERT, предварительно обученную на наборе данных Pubmed, состоящем из 19 717 научных публикаций. Предварительное обучение BERT на этом наборе данных дает этой модели дополнительные знания, когда дело доходит до определения контекста вокруг научных терминов, связанных с медициной. Это повышает производительность модели для задачи обнаружения нежелательных явлений, поскольку она предварительно обучена специальному медицинскому синтаксису, который часто встречается в нашем наборе данных.

В следующей таблице приведены наши показатели оценки.

Модель Точность Отзывать Ф1
Базовый БЕРТ 0,87 0,95 0,91
БиоБерт 0,89 0,95 0,92
БиоБЕРТ с ГПО 0,89 0,96 0,929
BioBERT с HPO и синтетически сгенерированными нежелательными явлениями 0,90 0,96 0,933

Хотя это относительно небольшие и постепенные улучшения по сравнению с базовой моделью BERT, тем не менее, они демонстрируют некоторые жизнеспособные стратегии повышения производительности модели с помощью этих методов. Генерация синтетических данных с помощью Falcon, похоже, имеет большие перспективы и потенциал для повышения производительности, особенно с учетом того, что эти генеративные модели ИИ со временем становятся лучше.

Очистить

Чтобы избежать будущих расходов, удалите все ресурсы, созданные как модель, и конечные точки модели, созданные вами с помощью следующего кода:

# Delete resources
model_predictor.delete_model()
model_predictor.delete_endpoint()

Заключение

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

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


Об авторах

Зак Петерсон — специалист по данным в AWS Professional Services. Он уже много лет занимается предоставлением клиентам решений в области машинного обучения и имеет степень магистра экономики.

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

Экта Валия Бхуллар, доктор философии, старший консультант по искусственному интеллекту и машинному обучению в бизнес-подразделении профессиональных услуг AWS в сфере здравоохранения и биологических наук (HCLS). Она имеет обширный опыт применения ИИ/МО в сфере здравоохранения, особенно в радиологии. Вне работы, когда она не обсуждает искусственный интеллект в радиологии, она любит бегать и ходить в походы.

Хан Ман — старший менеджер по обработке данных и машинному обучению в компании AWS Professional Services в Сан-Диего, Калифорния. Он получил степень доктора технических наук в Северо-Западном университете и имеет несколько лет опыта работы консультантом по управлению, консультируя клиентов в сфере производства, финансовых услуг и энергетики. Сегодня он увлеченно работает с ключевыми клиентами из различных отраслей промышленности над разработкой и внедрением решений машинного обучения и генеративного искусственного интеллекта на AWS.

LEAVE A REPLY

Please enter your comment!
Please enter your name here