Obtivemos sucesso em uma abordagem combinada para o desenvolvimento de produtos – uma união das habilidades e conhecimentos das equipes de dados, IA, análise e engenharia de software – para construir uma plataforma alimentada por IA componentizada.
A IA tornou-se o núcleo de tudo o que fazemos na Intuit.
Há alguns anos, decidimos incorporar IA em nossa plataforma de desenvolvimento com o objetivo de acelerar a velocidade de desenvolvimento e aumentar a satisfação individual do desenvolvedor. Construir recursos de produtos baseados em IA é um processo complexo e demorado, por isso precisávamos simplificá-lo para permitir que as equipes de desenvolvimento o fizessem com velocidade e escala. Obtivemos sucesso em uma abordagem combinada para o desenvolvimento de produtos - uma união das habilidades e conhecimentos de dados, IA, análise e equipes de engenharia de software - para construir uma plataforma alimentada por IA componentizada - o que nós da Intuit chamamos de Serviços de IA reutilizáveis ( RAISE) e experiências nativas de IA reutilizáveis (RAIN). Isso permite que os desenvolvedores forneçam novos recursos para os clientes rapidamente e criem e integrem a IA em produtos sem os típicos pontos problemáticos ou lacunas de conhecimento.
Hoje, não são apenas nossos clientes que se beneficiam de nossa plataforma de tecnologia orientada por IA; nossos desenvolvedores também. Seja criando experiências de produtos inteligentes ou mantendo o design consistente em vários produtos , nosso investimento em uma infraestrutura robusta de IA possibilitou que os tecnólogos de toda a empresa construíssem recursos de IA em produtos Intuit em escala para nossos mais de 100 milhões de consumidores globais e pequenos clientes empresariais.
Neste artigo, compartilharemos a jornada da Intuit para democratizar a IA em nossa organização, juntamente com as lições aprendidas ao longo do caminho.
Simplificando o caminho para a integração da IA
No começo, quando nossos desenvolvedores queriam adicionar recursos de IA a seus projetos, eles não podiam simplesmente conectar uma biblioteca ou chamar um serviço. Eles tiveram que entrar em contato com nossos cientistas de dados para criar ou integrar um modelo. A maioria dos modelos de aprendizado de máquina (ML) é criada sob medida porque os dados geralmente são específicos de um processo ou domínio e não se traduzem bem fora do cenário identificado. Embora isso esteja mudando com a IA multimodal , na prática, a maioria dos sistemas ainda treina em um corpus específico onde se espera que eles sejam executados (imagens, texto, voz etc.).
Percebemos que, para tornar mais fácil para nossos desenvolvedores integrar a IA da mesma forma que fariam com qualquer outro recurso ou componente, tínhamos que superar três desafios principais:
- Comunicação entre domínios
- Padrões de qualidade de dados
- Melhorias de processo
Comunicação entre domínios: colocando desenvolvedores e cientistas de dados na mesma página (e pilha de tecnologia)
Como as equipes de desenvolvimento de produtos trabalham de maneiras diferentes, alinhar-se a uma linguagem comum e inclusiva ao discutir como integrar a IA ao processo de desenvolvimento foi fundamental para promover a colaboração.
Engenheiros de software e cientistas de dados usam vocabulário diferente em seu trabalho diário. A terminologia da ciência de dados, por exemplo, é muito precisa, especialmente em torno de conceitos como desempenho do modelo, e pode ser difícil de entender para não especialistas. As equipes de dados podem usar termos como ROC (curva característica de operação do receptor), macro-F1 ou perda de hamming. Da mesma forma, os engenheiros de software geralmente se concentram na durabilidade, escalabilidade e comportamentos de sistemas distribuídos. Essa linguagem tecnicamente específica pode perder o significado na tradução.
Simplificar essa terminologia técnica — e ter uma boa documentação para explicar o que significa — facilitou muito a comunicação entre desenvolvedores e cientistas de dados. Com o tempo, os desenvolvedores adquirirão novos conhecimentos à medida que seu nível de conforto específico de domínio melhorar. Mas não queremos que todo desenvolvedor e cientista de dados tenha que aprender todo um novo conjunto de jargões apenas para começar.
Para resolver isso, ajustamos a forma como nos comunicamos com base no contexto: usando linguagem precisa quando necessário (para fins de precisão) e verborragia mais aproximada quando a mesma mensagem pode ser transmitida por meio de termos mais acessíveis. Por exemplo, quando os cientistas de dados descreviam entidades de dados, descobrimos que era mais rápido para os engenheiros entenderem uma vez que eles eram traduzidos em linhas, colunas e campos, bem como em objetos e valores de variáveis.
Também descobrimos que mapear tópicos complexos para terminologia específica de negócios ajudou a colocar todos na mesma página. Por exemplo, traduzir termos como classificação, regressão e pontuações de propensão em casos de uso de negócios, como previsões de preços ou probabilidade de nova assinatura, tornou os conceitos mais acessíveis. Por fim, descobrimos que investir em encontrar um terreno comum e criar uma abordagem mais inclusiva para a comunicação resultou em melhor colaboração.
Igualmente crucial para o nosso sucesso foi unir os mundos dos desenvolvedores de software e cientistas de dados, integrando perfeitamente a IA aos processos existentes. Tínhamos que encontrar uma maneira de oferecer suporte às pilhas de tecnologia com as quais nossos desenvolvedores estavam acostumados, então mapeamos as interfaces no mundo da IA em construções com as quais eles estavam familiarizados. Construímos pipelines de integração/entrega contínua (CI/CD), APIs REST (Representational State Transfer) e GraphQL e fluxos de dados para criar confiança na integração da plataforma em vários domínios.
Com todos falando o mesmo idioma e trabalhando nos mesmos fluxos de trabalho, voltamos nossa atenção para os dados dos quais dependemos para criar recursos orientados por IA.
Qualidade dos dados: ser bons administradores de dados significa alinhar-se aos padrões de qualidade
Como uma empresa fintech que lida com informações confidenciais dos clientes, temos um nível mais alto de acesso a dados do que pode
.png)
.png)
.png)
.png)