Inteligência de dados generativa

Implantar grandes modelos de linguagem para um caso de uso de tecnologia de saúde no Amazon SageMaker | Amazon Web Services

Data:

Em 2021, a indústria farmacêutica gerou US$ 550 bilhões em receitas nos EUA. As empresas farmacêuticas vendem uma variedade de medicamentos diferentes, muitas vezes novos, no mercado, onde podem ocorrer eventos adversos graves, por vezes não intencionais.

Esses eventos podem ser relatados em qualquer lugar, em hospitais ou em casa, e devem ser monitorados de forma responsável e eficiente. O processamento manual tradicional de eventos adversos torna-se um desafio devido à quantidade crescente de dados e custos de saúde. No geral, estima-se que US$ 384 bilhões sejam o custo das atividades de farmacovigilância para o setor de saúde em geral até 2022. Para apoiar atividades abrangentes de farmacovigilância, nossos clientes farmacêuticos desejam usar o poder do aprendizado de máquina (ML) para automatizar a detecção de eventos adversos a partir de várias fontes de dados. , como feeds de mídia social, telefonemas, e-mails e notas manuscritas, e acionar ações apropriadas.

Nesta postagem, mostramos como desenvolver uma solução baseada em ML usando Amazon Sage Maker para detectar eventos adversos usando o conjunto de dados de reações adversas a medicamentos disponível publicamente no Hugging Face. Nesta solução, ajustamos uma variedade de modelos no Hugging Face que foram pré-treinados em dados médicos e usamos o modelo BioBERT, que foi pré-treinado no Conjunto de dados Pubmed e tem o melhor desempenho dentre os testados.

Implementamos a solução usando o Kit de desenvolvimento em nuvem da AWS (AWSCDK). No entanto, não abordamos os detalhes da construção da solução nesta postagem. Para obter mais informações sobre a implementação desta solução, consulte Crie um sistema para detectar eventos adversos em tempo real usando Amazon SageMaker e Amazon QuickSight.

Esta postagem se aprofunda em várias áreas principais, fornecendo uma exploração abrangente dos seguintes tópicos:

  • Os desafios de dados encontrados pelos serviços profissionais da AWS
  • O cenário e a aplicação de grandes modelos de linguagem (LLMs):
    • Transformadores, BERT e GPT
    • Abraçando o rosto
  • A solução LLM ajustada e seus componentes:
    • Preparação de dados
    • Treinamento de modelo

desafio de dados

A distorção de dados costuma ser um problema ao elaborar tarefas de classificação. Idealmente, você gostaria de ter um conjunto de dados balanceado e este caso de uso não é exceção.

Nós abordamos essa distorção com IA generativa modelos (Falcon-7B e Falcon-40B), que foram solicitados a gerar amostras de eventos com base em cinco exemplos do conjunto de treinamento para aumentar a diversidade semântica e aumentar o tamanho da amostra de eventos adversos rotulados. É vantajoso para nós usar os modelos Falcon aqui porque, ao contrário de alguns LLMs no Hugging Face, o Falcon fornece o conjunto de dados de treinamento que eles usam, para que você possa ter certeza de que nenhum dos exemplos do seu conjunto de testes está contido no conjunto de treinamento do Falcon e evitar dados contaminação.

O outro desafio de dados para os clientes do setor de saúde são os requisitos de conformidade da HIPAA. A criptografia em repouso e em trânsito deve ser incorporada à solução para atender a esses requisitos.

Transformadores, BERT e GPT

A arquitetura do transformador é uma arquitetura de rede neural usada para tarefas de processamento de linguagem natural (PNL). Foi introduzido pela primeira vez no jornal “Atenção é tudo que você precisa” por Vaswani et al. (2017). A arquitetura do transformador é baseada no mecanismo de atenção, que permite ao modelo aprender dependências de longo alcance entre palavras. Os transformadores, conforme exposto no artigo original, consistem em dois componentes principais: o codificador e o decodificador. O codificador toma a sequência de entrada como entrada e produz uma sequência de estados ocultos. O decodificador então toma esses estados ocultos como entrada e produz a sequência de saída. O mecanismo de atenção é usado tanto no codificador quanto no decodificador. O mecanismo de atenção permite que o modelo atenda a palavras específicas na sequência de entrada ao gerar a sequência de saída. Isso permite que o modelo aprenda dependências de longo alcance entre palavras, o que é essencial para muitas tarefas de PNL, como tradução automática e resumo de texto.

Uma das arquiteturas de transformadores mais populares e úteis, Bidirecional Encoder Representations from Transformers (BERT), é um modelo de representação de linguagem que foi introduzida em 2018. O BERT é treinado em sequências onde algumas palavras de uma frase estão mascaradas, e deve preencher essas palavras levando em consideração as palavras anteriores e posteriores às palavras mascaradas. O BERT pode ser ajustado para uma variedade de tarefas de PNL, incluindo resposta a perguntas, inferência de linguagem natural e análise de sentimentos.

A outra arquitetura de transformador popular que conquistou o mundo é o Generative Pre-trained Transformer (GPT). O primeiro modelo GPT foi introduzido em 2018 pela OpenAI. Ele funciona sendo treinado para prever estritamente a próxima palavra em uma sequência, ciente apenas do contexto antes da palavra. Os modelos GPT são treinados em um enorme conjunto de dados de texto e código e podem ser ajustados para uma variedade de tarefas de PNL, incluindo geração de texto, resposta a perguntas e resumo.

Em geral, o BERT é melhor em tarefas que requerem uma compreensão mais profunda do contexto das palavras, enquanto GPT é mais adequado para tarefas que exigem geração de texto.

Abraçando o rosto

Hugging Face é uma empresa de inteligência artificial especializada em PNL. Ele fornece uma plataforma com ferramentas e recursos que permitem aos desenvolvedores construir, treinar e implantar modelos de ML focados em tarefas de PNL. Uma das principais ofertas do Hugging Face é sua biblioteca, transformadores, que inclui modelos pré-treinados que podem ser ajustados para diversas tarefas linguísticas, como classificação de texto, tradução, resumo e resposta a perguntas.

Hugging Face se integra perfeitamente ao SageMaker, que é um serviço totalmente gerenciado que permite que desenvolvedores e cientistas de dados construam, treinem e implantem modelos de ML em escala. Essa sinergia beneficia os usuários, fornecendo uma infraestrutura robusta e escalonável para lidar com tarefas de PNL com os modelos de última geração que o Hugging Face oferece, combinados com os serviços de ML poderosos e flexíveis da AWS. Você também pode acessar os modelos Hugging Face diretamente de JumpStart do Amazon SageMaker, tornando conveniente começar com soluções pré-construídas.

Visão geral da solução

Usamos a biblioteca Hugging Face Transformers para ajustar modelos de transformadores no SageMaker para a tarefa de classificação de eventos adversos. O trabalho de treinamento é construído usando o estimador SageMaker PyTorch. O SageMaker JumpStart também possui algumas integrações complementares com o Hugging Face que facilitam a implementação. Nesta seção, descrevemos as principais etapas envolvidas na preparação de dados e treinamento de modelo.

Preparação de dados

Usamos os dados de reações adversas a medicamentos (ade_corpus_v2) dentro do conjunto de dados Hugging Face com uma divisão de treinamento/teste 80/20. A estrutura de dados necessária para o treinamento e inferência do nosso modelo possui duas colunas:

  • Uma coluna para conteúdo de texto como dados de entrada do modelo.
  • Outra coluna para a classe label. Temos duas classes possíveis para um texto: Not_AE e Adverse_Event.

Treinamento e experimentação de modelo

Para explorar com eficiência o espaço de possíveis modelos de Hugging Face para ajustar nossos dados combinados de eventos adversos, construímos um trabalho de otimização de hiperparâmetros (HPO) do SageMaker e passamos diferentes modelos de Hugging Face como um hiperparâmetro, junto com outros hiperparâmetros importantes como tamanho do lote de treinamento, comprimento da sequência, modelos e taxa de aprendizado. Os trabalhos de treinamento usaram uma instância ml.p3dn.24xlarge e levaram em média 30 minutos por trabalho com esse tipo de instância. As métricas de treinamento foram capturadas através do Experimentos Amazon SageMaker ferramenta, e cada trabalho de treinamento durou 10 épocas.

Especificamos o seguinte em nosso código:

  • Tamanho do lote de treinamento – Número de amostras que são processadas juntas antes dos pesos do modelo serem atualizados
  • Comprimento de sequência – Comprimento máximo da sequência de entrada que o BERT pode processar
  • Taxa de Aprendizagem – A rapidez com que o modelo atualiza seus pesos durante o treinamento
  • Modelos – Modelos pré-treinados 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)

Resultados

O modelo que teve o melhor desempenho em nosso caso de uso foi o monologg/biobert_v1.1_pubmed modelo hospedado no Hugging Face, que é uma versão da arquitetura BERT que foi pré-treinada no conjunto de dados Pubmed, que consiste em 19,717 publicações científicas. O pré-treinamento do BERT neste conjunto de dados dá a este modelo experiência extra quando se trata de identificar o contexto em torno de termos científicos relacionados à medicina. Isso aumenta o desempenho do modelo para a tarefa de detecção de eventos adversos porque ele foi pré-treinado em uma sintaxe específica do ponto de vista médico que aparece frequentemente em nosso conjunto de dados.

A tabela a seguir resume nossas métricas de avaliação.

Modelo Precisão Recordar F1
Base BERT 0.87 0.95 0.91
BioBert 0.89 0.95 0.92
BioBERT com HPO 0.89 0.96 0.929
BioBERT com HPO e evento adverso gerado sinteticamente 0.90 0.96 0.933

Embora estas sejam melhorias relativamente pequenas e incrementais em relação ao modelo BERT básico, isto demonstra algumas estratégias viáveis ​​para melhorar o desempenho do modelo através destes métodos. A geração de dados sintéticos com o Falcon parece ser muito promissora e potencial para melhorias de desempenho, especialmente à medida que esses modelos generativos de IA melhoram com o tempo.

limpar

Para evitar incorrer em cobranças futuras, exclua quaisquer recursos criados como o modelo e os endpoints do modelo que você criou com o seguinte código:

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

Conclusão

Muitas empresas farmacêuticas hoje gostariam de automatizar o processo de identificação de eventos adversos nas interações com os clientes de forma sistemática, a fim de ajudar a melhorar a segurança e os resultados dos clientes. Como mostramos nesta postagem, o LLM BioBERT aprimorado com eventos adversos gerados sinteticamente adicionados aos dados classifica os eventos adversos com altas pontuações F1 e pode ser usado para construir uma solução compatível com HIPAA para nossos clientes.

Como sempre, a AWS agradece seus comentários. Por favor, deixe suas idéias e perguntas na seção de comentários.


Sobre os autores

Zack Peterson é cientista de dados em AWS Professional Services. Ele vem entregando soluções de aprendizado de máquina aos clientes há muitos anos e tem mestrado em Economia.

Dr. é cientista de dados sênior em saúde e ciências biológicas na AWS. Sua experiência está em métodos de IA/ML reproduzíveis e de ponta a ponta, implementações práticas e em ajudar clientes globais de saúde a formular e desenvolver soluções escalonáveis ​​para problemas interdisciplinares. Possui duas pós-graduação em Física e doutorado em Engenharia.

Ekta Walia Bhullar, PhD, é consultor sênior de IA/ML na unidade de negócios de serviços profissionais AWS Healthcare and Life Sciences (HCLS). Ela tem vasta experiência na aplicação de IA/ML na área de saúde, especialmente em radiologia. Fora do trabalho, quando não está discutindo IA em radiologia, ela gosta de correr e caminhar.

Homem Han é gerente sênior de ciência de dados e aprendizado de máquina da AWS Professional Services, baseado em San Diego, CA. Ele tem doutorado em Engenharia pela Northwestern University e vários anos de experiência como consultor de gestão assessorando clientes em manufatura, serviços financeiros e energia. Hoje, ele trabalha apaixonadamente com clientes importantes de diversos setores verticais do setor para desenvolver e implementar soluções de ML e IA generativa na AWS.

local_img

Inteligência mais recente

local_img