Tempo de leitura: 32 minutos
O Software Engineering Institute (SEI) é uma organização de pesquisa e desenvolvimento afiliada à Universidade Carnegie Mellon, nos Estados Unidos. Fundado em 1984, o SEI é reconhecido globalmente por seu trabalho na melhoria da engenharia de software e da segurança cibernética.
O instituto se concentra no desenvolvimento de práticas e tecnologias de ponta para auxiliar organizações a melhorar a qualidade, a segurança e a eficácia de seus sistemas de software. Entre suas contribuições mais notáveis estão o desenvolvimento do modelo CMMI (Capability Maturity Model Integration) e várias iniciativas para promover a adoção de melhores práticas na indústria de software.
O SEI também desempenha um papel crucial na pesquisa e desenvolvimento de inteligência artificial e segurança cibernética, colaborando com organizações governamentais, militares e comerciais para enfrentar desafios tecnológicos complexos.
A Engenharia de IA é uma disciplina emergente focada no desenvolvimento de ferramentas, sistemas e processos para possibilitar a aplicação da inteligência artificial em contextos do mundo real.
O que muda em relação a Engenharia de Software adotada até então?
Ao contrário da abordagem usada até então para desenvolver capacidades e ferramentas individuais, a Engenharia de IA levanta questões como:
- Como a IA pode ajudar os humanos a alcançar objetivos?
- Quais são os limites práticos dos sistemas de IA hoje?
- Como garantir que padrões éticos sejam mantidos ao implementar sistemas de IA?
O aumento do poder computacional e da disponibilidade de grandes volumes de dados permitiu a criação de novos modelos de IA capazes de tomar decisões rápidas e impactantes. No entanto, muitas vezes, essas capacidades funcionam apenas em ambientes controlados e são difíceis de replicar e validar no mundo real.
Há uma necessidade urgente de uma disciplina de engenharia para orientar o desenvolvimento e a implementação de capacidades de IA.
A Engenharia de IA busca então fornecer uma estrutura e ferramentas para projetar sistemas de IA que funcionem efetivamente em ambientes complexos e dinâmicos. Essa disciplina visa capacitar profissionais a desenvolver sistemas que atendam às necessidades humanas, garantindo que sejam compreensíveis, éticos e confiáveis!
Os Pilares do SEI para a Engenharia de IA
A Engenharia de IA é um campo de pesquisa e prática que combina os princípios da engenharia de sistemas, engenharia de software, ciência da computação e design centrado no ser humano para criar sistemas de IA que atendam às necessidades humanas e alcancem os objetivos desejados.
Por meio de conversas com parceiros, a equipe do SEI desenvolveu três pilares que orienta a abordagem à Engenharia de IA.
IA Centrada no Humano
Fundamental para a implementação de IA em contextos reais é uma compreensão profunda das pessoas que utilizarão a tecnologia. Este pilar examina como os sistemas de IA são projetados para se alinhar aos seres humanos, seus comportamentos e valores.
Existem diferenças consideráveis no resultado sentido pelo ser humanto em um Sistema de Recomendação Musical e um Sistema de Recomendação de Hipotecas. No de músicas, a frustração e o impacto na recomendação de uma faixa que você não goste pode ser beeem menor que a limitação na contratação de uma hipoteca.
Sistemas de IA centrados no humano são projetados para trabalhar com e para as pessoas. Os ambientes operacionais do mundo real, nos quais equipes e organizações esperam integrar sistemas de IA, são dinâmicos e complexos, com espaços de decisão ambíguos.
Os humanos — seus comportamentos, influências, decisões e ações — são centrais nesses ambientes . À medida que o desejo de usar sistemas de IA cresce, os princípios de engenharia centrados no humano são fundamentais para orientar o desenvolvimento do sistema em direção a uma implementação eficaz e minimizar as consequências indesejadas.
Desafios da IA Centrada no Humano:
- O estado da arte da tecnologia de IA está em constante evolução
- O nível desejado de interdependência entre humanos e máquinas leva a desafios de confiança e transparência
- Os sistemas de IA serão implantados ao lado de humanos em contextos operacionais desconhecidos e imprevisíveis
- Diretrizes e heurísticas são escassas para entender e implementar o nível de supervisão necessário para criar e manter sistemas de IA éticos.
Qual o contexto?
Sistemas de software tradicionais se comportam de acordo com um conjunto cuidadosamente elaborado de regras que direcionam o sistema a produzir um resultado.
Para criar um sistema de aprendizado de máquina (ML), que é um tipo comum de sistema de IA, os desenvolvedores:
- Selecionam dados
- Selecionam um um algoritmo de aprendizado
- Selecionam uma função objetivo (tipicamente descrições matemáticas do resultado desejado e seu propósito)
- Para produzir um modelo
- Que possa tomar decisões automaticamente no contexto aplicado.
Quando tudo corre bem, o modelo aprendido proporciona o resultado desejado (recomendações, identificação de padrões, etc.)!!!
Dado o papel do modelo, uma das influências mais poderosas em um sistema de ML é como a equipe define a função objetivo ou o propósito do sistema.
Infelizmente, para os desenvolvedores de sistemas de IA, capturar com precisão o que os humanos valorizam como resultados é um desafio significativo, e esses valores tendem a mudar ao longo do tempo. Os campos de design centrado no humano e de interação humano-computador (HCI) há muito tempo estabelecem a dificuldade que os humanos têm em articular as decisões que tomam e os motivadores que orientam o comportamento.
“O que os usuários dizem que fazem e o que realmente fazem pode variar significativamente, especialmente quando estão fora do contexto relevante. As pessoas têm dificuldade em refletir sobre, ou até mesmo perceber, as atividades cotidianas e habituais da vida diária. Elas relatam com convicção o que acreditam ser verdade, mas não necessariamente o que é verdade.”
As Lacunas
Os desenvolvedores precisam de métodos para determinar a adequação dos dados e do comportamento observado para uso em um sistema de IA, bem como uma maior conscientização sobre o frequente descompasso entre o comportamento humano e suas verdadeiras intenções.
Outras lacunas críticas incluem:
- Identificar Maneiras de medir como os comportamentos do sistema refletem a compreensão humana da funcionalidade geral e das intenções,
- Manter a clareza entre humanos e máquinas na intenção operacional e mecanismos para adaptar e evoluir sistemas com base em contextos dinâmicos e nas necessidades dos usuários.
Enfrentar esses desafios pode contribuir para a capacidade dos sistemas de aprender com os humanos, melhorar o desempenho ao longo do tempo ou reconhecer quando os sistemas não são mais apropriados devido a uma mudança nas necessidades dos usuários.
A IA centrada no humano exige compreender as necessidades dos usuários, o contexto de uso e o modelo mental do trabalho!
A pesquisa centrada no humano
Métodos de pesquisa baseados em etnografia ajudam a entender por que as pessoas agem de determinada maneira e as crenças que orientam seus comportamentos.
A Engenharia de IA precisa desenvolver processos e práticas que integrem esses insights humanos na função de recompensa dos sistemas de IA e pesquisem estratégias para que os sistemas se ajustem aos objetivos reais dos usuários, evoluam com suas necessidades e melhorem continuamente os resultados desejados.
A pesquisa centrada no humano é realizada por profissionais de diversas áreas, como interação humano-máquina, experiência do usuário (UX) e antropologia digital, entre outros. Para garantir que os sistemas de IA atendam às necessidades dos usuários, as equipes devem conduzir pesquisas centradas no humano, como observações e entrevistas, com os usuários principais antes de começar o desenvolvimento. Embora essas pesquisas exijam um esforço significativo, elas são essenciais para evitar o desenvolvimento de sistemas que sejam frustrantes ou que não atendam corretamente às necessidades dos usuários.
Entender o contexto para o desenvolvimento de IA é um processo contínuo que requer pesquisa constante com usuários e aprendizagem do comportamento dos mesmos. Como a IA é parte de sistemas mais amplos, é essencial alternar o foco entre o comportamento imediato dos usuários e o sistema maior. É necessária pesquisa para encontrar maneiras de coletar informações e entender a intenção dos usuários em sistemas complexos.
Como ficam as equipes?
A IA centrada no humano requer a criação de sistemas que trabalhem em equipe com habilidades humanas, oferecendo suporte onde a inteligência humana é limitada e aproveitando suas forças únicas. Isso envolve definir um propósito comum, estabelecer interdependência e responsabilidade mútua, e garantir a integração dos componentes em sistemas maiores. Pesquisas são necessárias para entender como facilitar o compartilhamento de informações, alinhar propósitos, promover adaptabilidade e apoiar a tomada de decisões descentralizada em equipes mistas de humanos e máquinas.
As equipes homem-máquina não são iguais em termos de responsabilidade; os humanos devem ter a responsabilidade final por decisões e resultados, conforme os princípios éticos do Departamento de Defesa dos EUA. Para isso, é necessário que humanos compreendam bem os sistemas de IA para prever seu comportamento. Transparência, previsibilidade e interpretabilidade são essenciais, especialmente em contextos de alto impacto. É crucial fornecer informações claras sobre o funcionamento e as limitações dos sistemas de IA e definir responsabilidades entre humanos e máquinas. Além disso, são necessárias pesquisas para desenvolver estratégias de explicação de decisões de IA, avaliar modelos em cenários críticos e garantir que humanos possam intervir ou reverter decisões de IA. Ferramentas e diretrizes são necessárias para usar IA em decisões que impactam significativamente a vida humana. A adoção de IA depende da confiança que os usuários têm no sistema, que deve ser transparente e responsável.
Para reforçar
O desenvolvimento e a implementação de uma IA centrada no humano, que considera o contexto dos sistemas e promove a colaboração homem-máquina, exigem uma força de trabalho que compreenda os sistemas de IA e suas limitações. A ética tecnológica é um passo inicial para garantir que os sistemas de IA sejam robustos e seguros, mas é essencial que as equipes sejam capazes de prever e mitigar problemas. A força de trabalho em Engenharia de IA deve estar preparada para todo o ciclo de vida da IA, e incluir não apenas especialistas em aprendizado de máquina e ciência de dados, mas também arquitetos de sistemas, gerentes de produto, cientistas sociais e especialistas em ética.
IA Escalável
Sistemas de IA eficazes requerem grandes investimentos de tempo e dinheiro para serem desenvolvidos. Este pilar examina como a infraestrutura, os dados e os modelos de IA podem ser reutilizados em diferentes domínios de problemas e implantações.
Grandes melhorias nos recursos de computação e na capacidade de armazenamento de dados nos permitem criar modelos de inteligência artificial (IA) que abrangem bilhões de parâmetros. Pessoas, organizações e governos estão aplicando cada vez mais modelos de IA para resolver problemas complexos e de ampla escala, como o gerenciamento da rede elétrica nacional, o monitoramento de surtos de doenças durante pandemias e o combate ao bullying online. Esses problemas multifacetados envolvem um grande número de pessoas, múltiplas fontes de dados, várias localizações geográficas, diferentes escalas de tempo e outros inputs complexos.
As soluções para esses problemas devem considerar as interconexões embutidas e a escala para atender ao escopo dos desafios. Não é tão simples quanto encontrar o que funciona para pequenas instâncias de um problema e aplicar os mesmos métodos para instâncias maiores. (Se fosse o caso, não haveria diferença entre gerenciar uma equipe de 10 funcionários e uma equipe de 100.)
Portanto, ao criar sistemas escaláveis de qualquer tipo, devemos reconhecer que as propriedades do sistema mudam conforme o tamanho muda. Consequentemente, é necessário considerar cuidadosamente como criar e guiar o desenvolvimento do sistema em uma escala proporcional ao tamanho dos problemas que enfrentamos
O conceito de Escalabildiade em Engenharia de IA
Escalabilidade é um conceito crítico em muitas disciplinas de engenharia e é fundamental para a realização de capacidades operacionais de IA. Identificamos três áreas de foco para avançar na IA escalável:
- Gestão escalável de dados e modelos: superar desafios de escassez e coleta de dados e promover a reutilização e recombinação de capacidades para escalabilidade em diferentes missões.
- Escalabilidade empresarial no desenvolvimento e implantação de IA: inclui o estabelecimento de pipelines de produção, arquiteturas de sistema extensíveis e práticas modernas de políticas e aquisição para manter capacidades avançadas e aproveitar a rápida inovação nas tecnologias de IA.
- Algoritmos e infraestrutura escaláveis: aplicar plenamente o poder da IA a missões críticas, incluindo capacidades centralizadas de data center e aplicações habilitadas para nuvem e rede distribuída para dispositivos de borda.
Gestão escalável de dados e modelos
A gestão eficaz de dados e modelos é fundamental para a adoção escalável e responsável da IA. Os dados são a força motriz do aprendizado de máquina moderno e são igualmente críticos para outras abordagens de IA, como grafos de conhecimento para suporte ao raciocínio. Os modelos de IA codificam processos de decisão ou inferência e, no aprendizado de máquina, são o resultado de algoritmos treinados em conjuntos de dados. Para garantir o uso responsável e escalável da IA, é essencial coletar e organizar conjuntos de dados cuidadosamente, versionar dados e modelos, reutilizar capacidades, e criar políticas que incentivem a descoberta e o compartilhamento.
A supervisão escalável é um desafio significativo na coleta e curadoria de conjuntos de dados para uso em sistemas de IA. Criar conjuntos de dados úteis é uma tarefa demorada, cara, suscetível a erros e que demanda muito trabalho. A supervisão escalável busca métodos que reduzam o tempo, custo, erros e esforço envolvidos na coleta e curadoria de dados. Este desafio é particularmente pronunciado em aplicações onde os dados são escassos, difíceis ou caros de coletar, ou exigem expertise especializada para rotulação ou síntese, como em modelos de previsão e padrões de vida que requerem distribuições de eventos normais e anômalos.
Duas abordagens comuns para supervisão escalável em aplicações de IA na indústria são o crowdsourcing e a coleta de interações regulares de usuários com aplicativos da Internet.
Embora essas técnicas sejam amplamente usadas por empresas privadas de tecnologia, organizações públicas e governamentais também têm oportunidades significativas para coletar dados das interações diárias de sua força de trabalho.
A coleta adequada de dados e a instrumentação dessas interações poderiam reduzir significativamente o esforço necessário para criar e rotular conjuntos de dados para o desenvolvimento de novas capacidades de missão habilitadas para IA. No entanto, preocupações de segurança têm historicamente impedido a adoção de processos de supervisão escalável em operações.
Escalar a IA com sucesso exige que conjuntos de dados e modelos sejam descobertos, compartilhados, reutilizados e recombinados em diversas capacidades de missão. Isso implica o desenvolvimento de políticas e mecanismos institucionais para gerenciar, rastrear, versionar e analisar capacidades reutilizadas e derivadas. A adoção de mecanismos de gestão escalável permite o uso de técnicas poderosas para aplicar aprendizado de máquina em contextos onde há dados rotulados limitados ou inexistentes. Técnicas como o aprendizado por transferência são frequentemente usadas para adaptar modelos treinados em um domínio de origem com dados abundantes para um domínio-alvo com dados limitados.
O aprendizado por transferência
O aprendizado por transferência permite que um modelo treinado para um problema específico em um domínio seja reutilizado para um problema diferente em outro domínio, potencialmente com algum retreinamento. Este método é especialmente útil quando o domínio de origem possui muitos dados rotulados e um modelo bem treinado, enquanto o domínio-alvo possui poucos dados. Além disso, o aprendizado com poucos exemplos (few-shot learning) é outra técnica que pode ser aplicada quando há escassez de dados rotulados, aplicando aprendizado de máquina a conjuntos de dados com um número reduzido de instâncias rotuladas.
Promover o compartilhamento, a reutilização e a recombinação de capacidades de IA por meio de políticas e mecanismos adequados facilita a adoção de técnicas como aprendizado por transferência e aprendizado com poucos exemplos. O apoio organizacional para a gestão escalável de dados e modelos democratiza a adoção e o uso de capacidades de IA, resultando em aplicações mais robustas e generalizáveis em uma variedade de missões. Para isso, é essencial que as organizações desenvolvam abordagens estruturadas para superar desafios relacionados à coleta de dados, obsolescência de ferramentas e infraestrutura, garantindo que as capacidades de IA possam ser escaladas de forma eficiente e eficaz.
Escalabilidade empresarial no desenvolvimento e implantação de IA
À medida que a Engenharia de IA cresce e se desenvolve, as organizações que adotam suas práticas podem promover um desenvolvimento e uso mais democráticos e responsáveis das capacidades de IA em toda a empresa. Isso vai além da gestão escalável de dados e modelos, incluindo também a adoção de processos, ferramentas, e estruturas para suportar a escalabilidade da IA no nível empresarial. Essas práticas incluem desenvolvimento iterativo, pipelines de desenvolvimento reutilizáveis, arquiteturas de sistema extensíveis compatíveis com IA, e políticas de aquisição modernizadas.
Adaptar as práticas de DevOps para IA e aprendizado de máquina é essencial para apoiar o desenvolvimento iterativo e os pipelines reutilizáveis. O design cuidadoso e o gerenciamento de pipelines de produção, bem como o ciclo de vida do desenvolvimento, são fundamentais para essa adaptação. A proliferação recente do aprendizado de máquina levou ao desenvolvimento de MLOps, uma extensão do DevOps que inclui etapas como o processamento de dados, treinamento de modelos, implantação de modelos e monitoramento contínuo, garantindo que os componentes de aprendizado de máquina funcionem conforme o esperado no mundo real.
Embora o MLOps seja um conjunto relativamente novo de práticas e ferramentas, ele continua a evoluir com o envolvimento de mais profissionais e organizações focados na produção e operação de IA e aprendizado de máquina. A adoção do MLOps como prática padrão, com pipelines de desenvolvimento replicáveis e compartilháveis, facilita diretamente a escalabilidade da IA dentro das organizações. Isso é essencial para garantir que as capacidades de IA possam ser escaladas de maneira eficiente e eficaz em toda a empresa.
Para expandir o MLOps como prática, é necessário investir em treinamento e educação sobre o design de sistemas de aprendizado de máquina voltados para produção. Existe uma diferença significativa entre criar um modelo de aprendizado de máquina e implantá-lo em produção, e essa necessidade de capacitação foi reconhecida por instituições como Stanford e DeepLearning.ai, que ofereceram cursos pioneiros em aprendizado de máquina para produção. A evolução contínua desse campo requer o acompanhamento dos esforços educacionais e a unificação dos currículos de ensino.
A escalabilidade também influencia o design e o desenvolvimento de sistemas que incorporam componentes de IA e os métodos de aquisição de sistemas de IA pelas organizações. As arquiteturas de sistemas e software precisam ser flexíveis o suficiente para permitir que as capacidades de IA evoluam ao longo do tempo, como o retrenamento periódico de modelos para considerar novos dados ou mudanças no contexto operacional. Arquiteturas que facilitam a troca de modelos ou a operação de múltiplos modelos para redundância são fundamentais para essa adaptabilidade.
Trabalhos recentes sobre padrões de design para aprendizado de máquina são um passo inicial importante para estabelecer melhores práticas na engenharia de sistemas de IA. Ao criar uma base sólida de padrões e práticas, a Engenharia de IA pode garantir que os sistemas sejam projetados para evoluir de maneira robusta e adaptável, atendendo às necessidades dinâmicas das missões empresariais e operacionais.
Algoritmos e infraestrutura escaláveis
O foco renovado no potencial da IA na última década se deve principalmente à disponibilidade de grandes volumes de dados e ao avanço dos recursos computacionais capazes de suportar as demandas das técnicas modernas de IA, como o treinamento de redes neurais profundas de grande escala. Essa evolução aumentou exponencialmente a necessidade de recursos computacionais. Por exemplo, a OpenAI identificou em 2018 uma tendência de aumento exponencial nos recursos necessários para treinar os maiores modelos de IA, com um crescimento anual de dez vezes. Modelos avançados como o GPT-3, com 175 bilhões de parâmetros, refletem essa demanda crescente, sendo estimado em US$ 12 milhões o custo de seu treinamento.
A capacidade de escalar a infraestrutura computacional é essencial para o desenvolvimento e a implantação de modelos de IA e promove inovações contínuas. No entanto, as demandas computacionais intensas representam um desafio significativo para a comunidade de defesa e segurança nacional, que precisa manter a infraestrutura necessária para suportar a complexidade e a variedade das missões. A expansão contínua dessa infraestrutura pode não ser sustentável, exigindo o desenvolvimento de novos paradigmas de computação, algoritmos alternativos e métodos mais eficientes para aprimorar as capacidades dos sistemas de IA.
O mercado de computação específica para IA está crescendo rapidamente, com muitas inovações emergindo. Nos últimos anos, GPUs (unidades de processamento gráfico) têm sido amplamente utilizadas para treinar modelos de IA, enquanto CPUs lidam com a maioria das inferências. Contudo, fabricantes de ASICs (Circuitos Integrados de Aplicação Específica) estão explorando melhorias de desempenho em relação às GPUs e CPUs, especialmente utilizando arquiteturas antigas como Arrays Sistólicos e novas arquiteturas como Unidades de Processamento de Tensores.
Além do desafio de escalar para grandes infraestruturas, a comunidade de defesa e segurança nacional busca também escalabilidade de IA para operar em dispositivos de borda usados por combatentes e para operações distribuídas globalmente. Em ambientes com recursos limitados, como aqueles que são atrasados, desconectados ou de baixa largura de banda, desenvolver capacidades de IA requer pesquisa em protocolos de comunicação, arquiteturas específicas para IA, aprendizado federado e TinyML.
A computação de borda, que inclui a capacidade de executar IA em dispositivos próximos ao local de coleta de dados, está se expandindo rapidamente, impulsionada pela tentativa de tornar a IA acessível para todos em qualquer lugar. Esta área se divide em três categorias: empurrar da nuvem, puxar da Internet das Coisas e análises híbridas de nuvem-borda. Muito trabalho tem sido dedicado à redução do tamanho dos modelos de aprendizado profundo para que possam ser operados de maneira eficiente em dispositivos de borda, como demonstrado pelos esforços da tinyML Foundation.
O aprendizado federado é uma abordagem emergente que utiliza dispositivos de borda no treinamento de modelos, mantendo os dados de treinamento localizados e privados. Essa abordagem contrasta com o aprendizado de máquina tradicional realizado em grandes data centers, pois tenta treinar modelos globais usando dispositivos remotos. Desafios como custo de comunicação, heterogeneidade dos sistemas, e preocupações com privacidade são questões críticas para o aprendizado federado em larga escala. Futuras direções de pesquisa incluem novos modelos de comunicação, redução de comunicação, diagnósticos de heterogeneidade, restrições de privacidade mais detalhadas e o estabelecimento de benchmarks específicos para aprendizado federado.
IA Robusta e Segura
Um dos maiores desafios para a ampla adoção de tecnologias e sistemas de IA é garantir que eles funcionem conforme o esperado quando implantados fora de ambientes de desenvolvimento, laboratórios e testes altamente controlados. Este pilar examina como desenvolvemos e testamos sistemas de IA resilientes.
Todos os sistemas, incluindo os de IA, eventualmente falham, independentemente do rigor no design e desenvolvimento. Sistemas de IA podem ser suscetíveis a falhas inesperadas, como a incapacidade de um carro autônomo de reconhecer placas de pare devido a pequenos adesivos, ou a manipulação de um chatbot por meio de linguagem racista em redes sociais. Essas falhas revelam fragilidades nos componentes do sistema e a falta de versatilidade, mesmo em ambientes controlados. Portanto, é crucial desenvolver sistemas de IA robustos e seguros, especialmente em contextos complexos e de alta consequência, como na segurança nacional.
Sistemas de IA robustos e seguros são projetados para operar de maneira confiável, mesmo diante de incertezas e ameaças. Esses sistemas incorporam mecanismos que previnem, evitam ou mitigam os perigos identificados por modelos de ameaça específicos. A robustez não elimina totalmente o risco de falhas, mas permite que os usuários e desenvolvedores mitiguem falhas comuns e saibam responder adequadamente quando estas ocorrerem. O desafio é garantir que o comportamento do sistema atenda às expectativas de qualidade, evitando comportamentos emergentes inesperados.
Para a ampla adoção da IA, é fundamental garantir que esses sistemas funcionem de maneira previsível em ambientes não controlados. Desenvolvedores precisam confiar na IA ao longo de todo o ciclo de vida do sistema, desde o design até a operação, o que exige novas ferramentas, processos e práticas para teste, avaliação, verificação e validação (TEV&V). Construir essa confiança é crucial, pois não há garantias de soluções perfeitas ou de que os conjuntos de dados de treinamento reflitam todos os aspectos dos cenários reais de uso.
As práticas de teste e avaliação atuais, focadas principalmente na precisão dos modelos em fases de avaliação, são limitadas. É necessário ampliar essas práticas para incluir um conjunto mais amplo de qualidades específicas da missão, garantindo que o desempenho seja confiável em condições incertas. A expansão das capacidades de teste e avaliação ao longo de todo o ciclo de vida dos sistemas de IA permitirá a adoção responsável dessas tecnologias, especialmente para aplicações de defesa e segurança nacional, promovendo o desenvolvimento iterativo e incremental de capacidades avançadas de missão.
O SEI identificou três áreas específicas de foco para avançar na IA Robusta e Segura para defesa e segurança nacional:
- Melhorar a robustez dos componentes e sistemas de IA e a necessidade de ir além das medições de precisão para capturar o alcance dos resultados da missão.
- Projetar para desafios de segurança em sistemas de IA modernos, incluindo novas superfícies e padrões de ataque, bem como estratégias de mitigação de riscos.
- Desenvolver processos e ferramentas para testar, avaliar e analisar sistemas de IA e adotar abordagens abrangentes de teste e avaliação.
Robustez de Componentes e Sistemas de IA
Existem duas abordagens principais para garantir a robustez dos sistemas de IA: proteger contra erros de modelo e contra fenômenos não modelados.
Erros de modelo: incluem problemas como hiperparâmetros incorretos, enquanto fenômenos não modelados se referem a mudanças imprevisíveis no ambiente, como alterações climáticas. Para corrigir esses erros, são utilizadas técnicas como otimização robusta e regularização.
Fenômenos não modelados: Para lidar com esses fenômenos, estratégias como o uso de portfólios de modelos e monitoramento contínuo de desempenho são empregadas. Embora essas técnicas sejam estudadas academicamente e testadas em laboratório, muitas ainda não foram implementadas em ferramentas práticas para melhorar a robustez dos sistemas de IA.
Um desafio significativo para a robustez em sistemas modernos de aprendizado de máquina (ML) é a subespecificação, onde múltiplas soluções para um problema de otimização podem apresentar desempenho similar. Essa diversidade de soluções pode introduzir vieses ocultos e falhas que resultam em comportamentos inesperados quando os modelos são implantados.
Outro aspecto crucial da robustez dos modelos de ML é entender e confiar nas medidas de incerteza. Desvios no conjunto de dados, onde os dados operacionais são diferentes dos dados de treinamento, podem resultar em previsões excessivamente confiantes e, portanto, imprecisas. Estudos mostram quedas significativas no desempenho dos modelos quando o contexto dos dados muda. Técnicas de calibração são usadas para ajustar essas previsões de incerteza, permitindo que os modelos “saibam quando não sabem” e ajustem suas previsões de forma mais precisa.
A robustez é fundamental para sistemas de IA que operam em ambientes dinâmicos e desafiadores. É necessário desenvolver ferramentas e práticas aceitas para medir e melhorar a robustez dos sistemas de IA ao longo de todo o ciclo de vida, desde a concepção e avaliação até a implantação e operação. Isso inclui a construção de robustez no design de sistemas por meio de estratégias como redundância e o uso de portfólios de modelos. Além disso, o monitoramento contínuo do desempenho dos sistemas de IA durante a operação pode ajudar a garantir que eles permaneçam robustos frente a incertezas e mudanças no ambiente.
Desafios de Segurança em Sistemas de IA Modernos
A segurança é um aspecto crítico no desenvolvimento de sistemas de IA robustos, especialmente para proteger contra subversões intencionais e falhas forçadas.
Como sistemas de software e ciberfísicos, os sistemas de IA incluem componentes de IA construídos a partir de software e dados, além de outros componentes de software. Portanto, os engenheiros de IA devem aproveitar as melhores práticas de segurança de software existentes e considerar as implicações específicas de segurança para componentes de IA.
O aprendizado de máquina adversarial é um campo que estuda como modelos de ML podem ser atacados e como defender-se contra esses ataques. Ataques adversariais em ML são classificados em três categorias:
- induzir o aprendizado de comportamentos errados
- manipular dados operacionais para provocar ações incorretas
- extrair informações confidenciais usadas no treinamento.
Para mitigar esses ataques, diversas estratégias e políticas de segurança precisam ser aplicadas nos sistemas onde os modelos de ML são implantados.
Com o avanço da IA adversarial, os desenvolvedores e operadores de sistemas enfrentam trade-offs na defesa contra ataques. Há um equilíbrio a ser alcançado entre a disponibilidade de informações para atacantes e defensores e as políticas de defesa, como “fazer”, “aprender” e “revelar”.
Pesquisas recentes mostraram que modelos treinados para se comportarem corretamente podem ser mais vulneráveis a revelar informações sobre seus dados de treinamento, destacando a necessidade de considerar esses trade-offs e de desenvolver ferramentas que ajudem os desenvolvedores de sistemas de IA a entender as implicações de segurança.
Além das novas superfícies de ataque específicas para algoritmos e modelos de ML, o aumento da quantidade de IA em sistemas reais exige uma atenção especial às implicações de segurança. Isso inclui expandir a coordenação de vulnerabilidades de segurança para cobrir novos tipos de vulnerabilidades provenientes de tecnologias de IA e melhorar as capacidades de red teaming, que são valiosas para entender e melhorar a segurança em sistemas de software tradicionais.
Processos e Ferramentas para Testar, Avaliar e Analisar Sistemas de IA
Para garantir a robustez e a segurança dos sistemas de IA, é necessário ir além do exame dos fundamentos técnicos, algorítmicos e matemáticos das técnicas específicas de IA.
Do ponto de vista da Engenharia de IA, há uma demanda crescente por ferramentas, processos, padrões de design e melhores práticas que promovam o desenvolvimento e a operação seguros desses sistemas. Engenheiros de IA precisam de ferramentas similares às usadas na engenharia de software tradicional, como análise de código estática e dinâmica, testes fuzz e abordagens padrão para testes de unidade, regressão e integração.
Adicionalmente, essas ferramentas devem ser integradas aos processos modernos de desenvolvimento de software, como ambientes de DevOps e MLOps, bem como aos sistemas de Integração Contínua e Entrega Contínua (CI/CD). A incorporação do Monitoramento Contínuo (CM) nos frameworks de CI/CD é essencial para avaliar e assegurar a robustez e a segurança dos sistemas de IA ao longo de todo o seu ciclo de vida, permitindo mitigações, melhorias incrementais, retreinamento de modelos ou redesenho do sistema conforme necessário.
Para finalizar
A robustez e a segurança são essenciais no desenvolvimento de sistemas de IA para garantir que eles alcancem os resultados desejados e mantenham qualidades como segurança, confiabilidade e ética, especialmente no contexto do Departamento de Defesa dos EUA (DoD). Para integrar a IA, os métodos atuais de testes e avaliações de desenvolvimento (DT&E) e operacionais (OT&E) precisam evoluir, considerando requisitos específicos para sistemas robustos e seguros, assim como a necessidade de monitoramento contínuo.
As equipes de desenvolvimento devem se engajar em ciclos rigorosos de investigação, aprendizado, construção e teste para identificar falhas e melhorar a robustez e resiliência dos modelos de IA. À medida que a IA é usada em contextos de alto risco, a importância da robustez e segurança cresce, tornando necessário adotar uma abordagem multifacetada e uma cultura de experimentação para garantir que os sistemas de IA alcancem seu potencial máximo de impacto ao longo do tempo.
Fonte: https://www.sei.cmu.edu/our-work/artificial-intelligence-engineering/