Esta postagem foi escrita em coautoria com Daniele Chiappalupi, participante da equipe de estudantes Hackathon da AWS na ETH Zürich.
Todos podem começar facilmente com o aprendizado de máquina (ML) usando JumpStart do Amazon SageMaker. Nesta postagem, mostramos como uma equipe universitária de Hackathon usou o SageMaker JumpStart para construir rapidamente um aplicativo que ajuda os usuários a identificar e remover preconceitos.
“O Amazon SageMaker foi fundamental em nosso projeto. Isso facilitou a implantação e o gerenciamento de uma instância pré-treinada do Flan, oferecendo-nos uma base sólida para nosso aplicativo. Seu recurso de escalonamento automático provou ser crucial durante períodos de alto tráfego, garantindo que nosso aplicativo permanecesse responsivo e que os usuários recebessem uma análise de polarização rápida e constante. Além disso, ao nos permitir transferir a pesada tarefa de consultar o modelo Flan para um serviço gerenciado, conseguimos manter nosso aplicativo leve e rápido, melhorando a experiência do usuário em vários dispositivos. Os recursos do SageMaker nos permitiram maximizar nosso tempo no hackathon, permitindo que nos concentrássemos na otimização de nossos prompts e aplicativo, em vez de gerenciar o desempenho e a infraestrutura do modelo.”
– Daniele Chiappalupi, participante da equipe de estudantes Hackathon da AWS na ETH Zürich.
Visão geral da solução
O tema do Hackathon é contribuir para os objetivos sustentáveis da ONU com tecnologia de IA. Conforme mostrado na figura a seguir, o aplicativo desenvolvido no Hackathon contribui para três dos Objetivos de Desenvolvimento Sustentável (educação de qualidade, combate à discriminação baseada em gênero e redução das desigualdades), ajudando os usuários a identificar e remover preconceitos de seus textos, a fim de promover a justiça. e linguagem inclusiva.
Conforme mostrado na captura de tela a seguir, após você fornecer o texto, o aplicativo gera uma nova versão livre de preconceitos raciais, étnicos e de gênero. Além disso, destaca as partes específicas do seu texto de entrada relacionadas a cada categoria de preconceito.
Na arquitetura mostrada no diagrama a seguir, os usuários inserem texto no Reagiraplicativo da web baseado em , que aciona Gateway de API da Amazon, que por sua vez invoca um AWS Lambda função dependendo da tendência no texto do usuário. A função Lambda chama o endpoint do modelo Flan no SageMaker JumpStart, que retorna o resultado de texto imparcial pela mesma rota de volta ao aplicativo front-end.
Processo de desenvolvimento de aplicativos
O processo de desenvolvimento desta aplicação foi iterativo e centrado em duas áreas principais: interface do usuário e integração do modelo de ML.
Escolhemos React para o desenvolvimento front-end devido à sua flexibilidade, escalabilidade e ferramentas poderosas para a criação de interfaces de usuário interativas. Dada a natureza da nossa aplicação – processando a entrada do usuário e apresentando resultados refinados – a arquitetura baseada em componentes do React provou ser ideal. Com o React, poderíamos construir com eficiência um aplicativo de página única que permitisse aos usuários enviar texto e ver resultados imparciais sem a necessidade de atualizações constantes de página.
O texto inserido pelo usuário precisava ser processado por um modelo de linguagem poderoso para examinar minuciosamente os preconceitos. Escolhemos o Flan por suas propriedades de robustez, eficiência e escalabilidade. Para utilizar o Flan, usamos o SageMaker JumpStart, conforme mostrado na imagem a seguir. Amazon Sage Maker facilitou a implantação e o gerenciamento de uma instância pré-treinada do Flan, permitindo-nos focar na otimização de nossos prompts e consultas, em vez de gerenciar o desempenho e a infraestrutura do modelo.
Conectar o modelo Flan ao nosso aplicativo front-end exigiu uma integração robusta e segura, que foi alcançada usando Lambda e API Gateway. Com o Lambda, criamos uma função sem servidor que se comunica diretamente com nosso modelo SageMaker. Em seguida, usamos o API Gateway para criar um endpoint seguro, escalonável e prontamente acessível para nosso aplicativo React invocar a função Lambda. Quando um usuário enviava um texto, o aplicativo acionava uma série de chamadas de API para o gateway – primeiro para identificar se havia algum preconceito presente e, em seguida, se necessário, consultas adicionais para identificar, localizar e neutralizar o preconceito. Todas essas solicitações foram roteadas por meio da função Lambda e depois para nosso modelo SageMaker.
Nossa tarefa final no processo de desenvolvimento foi a seleção de prompts para consultar o modelo de linguagem. Aqui, o conjunto de dados CrowS-Pairs desempenhou um papel fundamental porque nos forneceu exemplos reais de texto tendencioso, que utilizamos para ajustar nossas solicitações. Selecionamos os prompts por um processo iterativo, com o objetivo de maximizar a precisão na detecção de viés neste conjunto de dados.
Concluindo o processo, observamos um fluxo operacional contínuo na aplicação finalizada. O processo começa com um usuário enviando um texto para análise, que é então enviado por meio de uma solicitação POST para nosso endpoint seguro do API Gateway. Isso aciona a função Lambda, que se comunica com o endpoint SageMaker. Consequentemente, o modelo Flan recebe uma série de consultas. A primeira verifica a presença de algum preconceito no texto. Se forem detectados preconceitos, consultas adicionais serão implementadas para localizar, identificar e neutralizar esses elementos tendenciosos. Os resultados são então retornados pelo mesmo caminho – primeiro para a função Lambda, depois através do API Gateway e, por fim, de volta ao usuário. Se algum preconceito estiver presente no texto original, o usuário recebe uma análise abrangente indicando os tipos de preconceitos detectados, sejam raciais, étnicos ou de gênero. Seções específicas do texto onde esses preconceitos foram encontrados são destacadas, dando aos usuários uma visão clara das alterações feitas. Paralelamente a esta análise, é apresentada uma versão nova e imparcial do seu texto, transformando efetivamente contributos potencialmente tendenciosos numa narrativa mais inclusiva.
Nas seções a seguir, detalhamos as etapas para implementar esta solução.
Configure o ambiente React
Começamos configurando nosso ambiente de desenvolvimento para React. Para inicializar um novo aplicativo React com configuração mínima, usamos create-react-app:
npx create-react-app my-app
Construa a interface do usuário
Usando React, projetamos uma interface simples para os usuários inserirem texto, com um botão de envio, um botão de redefinição e telas sobrepostas para apresentar os resultados processados quando estiverem disponíveis.
Inicie o modelo Flan no SageMaker
Usamos o SageMaker para criar uma instância pré-treinada do modelo de linguagem Flan com um endpoint para inferência em tempo real. O modelo pode ser usado em qualquer carga útil estruturada em JSON, como a seguir:
Crie uma função Lambda
Desenvolvemos uma função Lambda que interagia diretamente com nosso endpoint SageMaker. A função foi projetada para receber uma solicitação com o texto do usuário, encaminhá-la para o endpoint do SageMaker e retornar os resultados refinados, conforme mostrado no código a seguir (ENDPOINT_NAME
foi configurado como endpoint da instância do SageMaker):
Configurar API Gateway
Configuramos uma nova API REST no API Gateway e a vinculamos à nossa função Lambda. Essa conexão permitiu que nosso aplicativo React fizesse solicitações HTTP ao API Gateway, que posteriormente acionou a função Lambda.
Integre o aplicativo React com a API
Atualizamos o aplicativo React para fazer uma solicitação POST ao API Gateway quando o botão enviar foi clicado, sendo o corpo da solicitação o texto do usuário. O código JavaScript que usamos para realizar a chamada da API é o seguinte (REACT_APP_AWS_ENDPOINT
corresponde ao endpoint do API Gateway vinculado à chamada do Lambda):
Otimizar seleção de prompt
Para melhorar a precisão da detecção de viés, testamos diferentes prompts no conjunto de dados CrowS-Pairs. Por meio desse processo iterativo, escolhemos os prompts que nos deram a maior precisão.
Implante e teste o aplicativo React no Vercel
Depois de construir o aplicativo, nós o implantamos no Vercel para torná-lo acessível ao público. Realizamos testes extensivos para garantir que o aplicativo funcionasse conforme esperado, desde a interface do usuário até as respostas do modelo de linguagem.
Essas etapas lançaram as bases para a criação de nosso aplicativo para análise e correção de texto. Apesar da complexidade inerente ao processo, o uso de ferramentas como SageMaker, Lambda e API Gateway simplificou o desenvolvimento, permitindo-nos focar no objetivo principal do projeto: identificar e eliminar distorções no texto.
Conclusão
O SageMaker JumpStart oferece uma maneira conveniente de explorar os recursos e capacidades do SageMaker. Ele fornece soluções de uma etapa selecionadas, notebooks de exemplo e modelos pré-treinados implantáveis. Esses recursos permitem que você aprenda e compreenda rapidamente o SageMaker. Além disso, você tem a opção de ajustar os modelos e implantá-los de acordo com suas necessidades específicas. O acesso ao JumpStart está disponível através Estúdio Amazon SageMaker ou programaticamente usando as APIs do SageMaker.
Nesta postagem, você aprendeu como uma equipe de estudantes do Hackathon desenvolveu uma solução em pouco tempo usando o SageMaker JumpStart, que mostra o potencial da AWS e do SageMaker JumpStart em permitir o rápido desenvolvimento e implantação de soluções sofisticadas de IA, mesmo por pequenas equipes ou indivíduos.
Para saber mais sobre como usar o SageMaker JumpStart, consulte Ajuste fino de instruções para FLAN T5 XL com Amazon SageMaker Jumpstart e Prompt zero-shot para o modelo de fundação Flan-T5 no Amazon SageMaker JumpStart.
O ETH Analytics Club organizou o 'ETH Datathon', um hackathon de IA/ML que atrai mais de 150 participantes da ETH Zurique, da Universidade de Zurique e da EPFL. O evento apresenta workshops conduzidos por líderes do setor, um desafio de codificação 24 horas por dia e valiosas oportunidades de networking com colegas estudantes e profissionais do setor. Muito obrigado à equipe do ETH Hackathon: Daniele Chiappalupi, Athina Nisioti e Francesco Ignazio Re, bem como ao restante da equipe organizadora da AWS: Alice Morano, Demir Catovic, Iana Peix, Jan Oliver Seidenfuss, Lars Nettemann e Markus Winterholer.
O conteúdo e as opiniões desta postagem são de responsabilidade do autor terceirizado e a AWS não é responsável pelo conteúdo ou precisão desta postagem.
Sobre os autores
Jun Zhang é arquiteto de soluções baseado em Zurique. Ele ajuda os clientes suíços a arquitetar soluções baseadas em nuvem para atingir seu potencial comercial. Ele tem paixão pela sustentabilidade e se esforça para resolver os desafios atuais de sustentabilidade com tecnologia. Ele também é um grande fã de tênis e gosta muito de jogar jogos de tabuleiro.
Mohan Gowda lidera a equipe de aprendizado de máquina na AWS Suíça. Ele trabalha principalmente com clientes automotivos para desenvolver soluções e plataformas inovadoras de IA/ML para veículos da próxima geração. Antes de trabalhar com a AWS, Mohan trabalhou com uma empresa de consultoria de gerenciamento global com foco em estratégia e análise. A sua paixão reside nos veículos conectados e na condução autónoma.
AlimentoThias Egli é o Chefe de Educação na Suíça. Ele é um líder de equipe entusiasmado, com ampla experiência em desenvolvimento de negócios, vendas e marketing.
Kemeng Zhang é um engenheiro de ML baseado em Zurique. Ela ajuda clientes globais a projetar, desenvolver e dimensionar aplicativos baseados em ML para capacitar seus recursos digitais para aumentar a receita comercial e reduzir custos. Ela também é apaixonada pela criação de aplicativos centrados no ser humano, aproveitando o conhecimento da ciência comportamental. Ela gosta de praticar esportes aquáticos e passear com cachorros.
Daniele Chiappalupi é recém-formado pela ETH Zürich. Ele gosta de todos os aspectos da engenharia de software, do projeto à implementação e da implantação à manutenção. Ele tem uma profunda paixão por IA e espera ansiosamente explorar, utilizar e contribuir para os mais recentes avanços na área. Em seu tempo livre, ele adora praticar snowboard nos meses mais frios e jogar basquete quando o tempo esquenta.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/innovation-for-inclusion-hack-the-bias-with-amazon-sagemaker/
- :tem
- :é
- :não
- :onde
- $UP
- 100
- 13
- 150
- 17
- 25
- 7
- 8
- 87
- 97
- 990
- a
- Capaz
- Sobre
- Acesso
- acessível
- Segundo
- precisão
- Alcançar
- alcançado
- em
- Adicional
- Adicionalmente
- avanços
- Depois de
- contra
- AI
- AI / ML
- alice
- Todos os Produtos
- permitir
- permitidas
- Permitindo
- ao lado de
- tb
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- análise
- analítica
- análise
- e
- e infra-estrutura
- antecipa
- qualquer
- api
- APIs
- app
- Aplicação
- aplicações
- arquitetura
- SOMOS
- áreas
- AS
- aspecto
- At
- autor
- auto
- automotivo
- Autônomo
- disponível
- AWS
- Axios
- em caminho duplo
- baseado
- Basquetebol
- BE
- Porque
- antes
- começou
- ser
- viés
- tendencioso
- vieses
- borda
- Board Games
- corpo
- Bound
- amplo
- construir
- Prédio
- construído
- negócio
- desenvolvimento de negócios
- botão
- by
- chamada
- chamadas
- CAN
- capacidades
- Categoria
- centralizado
- desafiar
- desafios
- Alterações
- Cheques
- escolheu
- remover filtragem
- clube
- código
- Codificação
- complexidade
- compreensivo
- conduzido
- Configuração
- configurado
- conectado
- da conexão
- Consequentemente
- constante
- consultor
- conteúdo
- contexto
- contribuir
- contribui
- contribuindo
- Conveniente
- núcleo
- corresponde
- Custo
- poderia
- crio
- criado
- Criar
- crucial
- comissariada
- Atual
- Clientes
- dados,
- profundo
- Dependendo
- implantar
- implantado
- desenvolvimento
- Design
- projetado
- Apesar de
- detalhe
- detectou
- Detecção
- desenvolver
- desenvolvido
- em desenvolvimento
- Desenvolvimento
- Dispositivos/Instrumentos
- diferente
- digital
- diretamente
- monitores
- desenha
- condução
- dois
- durante
- cada
- ansiosamente
- facilmente
- fácil
- Educação
- efetivamente
- eficiência
- eficientemente
- elementos
- eliminando
- autorizar
- habilitada
- permitindo
- Ponto final
- engenheiro
- Engenharia
- aprimorando
- garantir
- assegurando
- entrou
- entusiasta
- Meio Ambiente
- ETH
- Mesmo
- Evento
- Cada
- exemplo
- exemplos
- esperado
- vasta experiência
- explorar
- Explorando
- extenso
- feira
- ventilador
- RÁPIDO
- Característica
- Funcionalidades
- companheiro
- campo
- Figura
- final
- Empresa
- Primeiro nome
- Flexibilidade
- fluxo
- Foco
- seguinte
- segue
- Escolha
- para a frente
- encontrado
- Foundation
- Gratuito
- da
- função
- mais distante
- Games
- porta de entrada
- deu
- Gênero
- gera
- geração
- ter
- dado
- Dando
- Global
- meta
- Objetivos
- vai
- agarrar
- pós-graduação
- ótimo
- base
- cortar
- hackathon
- Ter
- he
- cabeça
- pesado
- ajuda
- ajuda
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- mais
- Destaque
- destaques
- sua
- hospedado
- Como funciona o dobrador de carta de canal
- HTML
- http
- HTTPS
- enorme
- ideal
- identificar
- if
- executar
- implementação
- importar
- melhorar
- in
- inclusão
- Inclusivo
- Crescimento
- indivíduos
- indústria
- desigualdades
- Infraestrutura
- inerente
- Inovação
- inovadores
- entrada
- instância
- instrumental
- integração
- interativo
- Interface
- interfaces de
- para dentro
- invoca
- IT
- ESTÁ
- Jan
- JavaScript
- jpg
- json
- Guarda
- Conhecimento
- língua
- mais recente
- conduzir
- líderes
- Leads
- APRENDER
- aprendido
- aprendizagem
- levou
- aproveitando
- encontra-se
- leve
- como
- gostos
- ligado
- lote
- ama
- máquina
- aprendizado de máquina
- moldadas
- a Principal
- manutenção
- fazer
- gerencia
- gerenciados
- de grupos
- gestão
- Marketing
- Maximizar
- maximizando
- mínimo
- ML
- modelo
- modelos
- mês
- mais
- NARRATIVA
- Natureza
- necessário
- você merece...
- necessário
- Cria
- networking
- Oportunidades de networking
- Novo
- Próximo
- objetivo
- of
- oferecendo treinamento para distância
- Oferece
- on
- operacional
- Opiniões
- oportunidades
- otimizando
- Opção
- or
- ordem
- organização
- original
- OS
- A Nossa
- página
- participantes
- peças
- paixão
- apaixonado
- Realizar
- atuação
- períodos
- Plataformas
- platão
- Inteligência de Dados Platão
- PlatãoData
- desempenhado
- jogar
- Publique
- potencial
- potencialmente
- poderoso
- presença
- presente
- apresentado
- principalmente
- processo
- Processado
- projeto
- a promover
- Propriedades
- provou
- fornecer
- fornecido
- fornece
- publicamente
- qualidade
- consultas
- rapidamente
- rápido
- em vez
- RE
- Reagir
- prontamente
- reais
- em tempo real
- receber
- recebido
- recebe
- recentemente
- reduzir
- Reduzido
- referir
- refinado
- relacionado
- permaneceu
- remover
- solicitar
- pedidos
- requeridos
- Recursos
- respostas
- responsável
- responsivo
- DESCANSO
- resultar
- Resultados
- retorno
- Retorna
- receita
- uma conta de despesas robusta
- robustez
- Tipo
- Rota
- sábio
- vendas
- mesmo
- AMPLIAR
- escalável
- Escala
- dimensionamento
- Ciência
- desatado
- seções
- seguro
- Vejo
- semente
- selecionado
- doadores,
- enviei
- Série
- Serverless
- serviço
- Serviços
- conjunto
- contexto
- ela
- Baixo
- mostrar
- mostrando
- Shows
- simples
- pequeno
- Software
- Engenharia de software
- sólido
- solução
- Soluções
- RESOLVER
- sofisticado
- específico
- Esportes
- começado
- estável
- Passos
- Estratégia
- simplificada
- esforça-se
- estudante
- Estudantes
- submissão
- enviar
- apresentado
- Subseqüentemente
- Sustentabilidade
- sustentável
- Desenvolvimento sustentável
- SWIFT
- suíço
- Suíça
- alvejando
- Tarefa
- Profissionais
- equipes
- Tecnologia
- teste
- testado
- testes
- texto
- do que
- obrigado
- que
- A
- deles
- Eles
- tema
- então
- Este
- De terceiros
- isto
- aqueles
- três
- Através da
- tempo
- para
- ferramentas
- transformando
- desencadeado
- VIRAR
- dois
- tipos
- Em última análise
- UN
- compreender
- universidade
- Atualizada
- us
- usar
- usava
- Utilizador
- Experiência do Usuário
- Interface de Usuário
- usuários
- utilização
- utilizar
- utilizado
- Utilizando
- Valioso
- vário
- Veículos
- versão
- muito
- via
- Ver
- caminhada
- Aquece
- foi
- Água
- Caminho..
- we
- Clima
- web
- serviços web
- BEM
- foram
- quando
- se
- qual
- de
- dentro
- sem
- trabalhou
- trabalhar
- trabalho
- Workshops
- Vocês
- investimentos
- zefirnet
- Zurique