Palestra "Diferenças entre modelos de AI e programação tradicional" apresentada no The Developer's Conference (TDC) Summit IA Brasília.
utilize o PDF - Portuguese ou PDF - English - Auto translated , abaixo é apenas um conversão em Markdown
Entender como a IA altera o paradigma de desenvolvimento de software e destacar as principais diferenças no desenvolvimento utilizando modelos de IA e tradicional.
- AI Engineer em uma startup da Califórnia
- 16 anos de experiência em desenvolvimento de software
- 8 anos de experiência com Inteligência Artificial
- Engenheiro de IA, Cientista de Dados, Desenvolvedor Full Stack, Fundador de startup, etc.
- MBA em Ciência de Dados pela USP
- Bacharel em Ciência da Computação pela UNESP
Problemas complexos, com muitas variáveis e grandes volumes e/ou variações de dados.
A IA busca padrões e relações que seriam muito difíceis ou até impossíveis de serem determinadas por humanos e transformadas em código.
- Reconhecimento de imagens: Como escrever regras estáticas para identificar gatos?
- Reconhecimento de voz: Como escrever regras estáticas para identificar palavras e frases em um áudio?
- Identificação e prevenção de fraudes: apps de bancos, e-commerces
- Recomendações: e-commerces, ads, redes sociais
- Análise de sentimentos: reviews, SAC
- Tradução de idiomas: apps de tradução, SAC
- Diagnóstico médico: apps de saúde, hospitais
- Reconhecimento de voz: assistentes virtuais, acessibilidade
- Reconhecimento de imagens: segurança, redes sociais
- Sumarização de texto: apps de notícias, SAC
- Chatbots: SAC, e-commerces
- Otimização de processos: indústrias, logística
- Segurança: controle de acesso, reconhecimento facial, prevenção de roubos
- Tradicional: Entradas previsíveis e controladas via GUI.
- IA: Entradas variadas e imprevisíveis, como texto livre, imagens, áudio.
- Tradicional: Determinística - mesma entrada produz mesma saída.
- IA: Não determinística - pequenas variações na entrada podem gerar variações imprevisíveis na saída.
- Tradicional: Dependente de dados, mas com foco em lógica e estrutura.
- IA: Totalmente dependente de dados - qualidade diretamente ligada aos dados.
- Tradicional: Caminho de execução claro e previsível.
- IA: "Caixa preta" - difícil entender como chegou a determinada decisão.
- Tradicional: Atualizações e correções diretas no código.
- IA: Necessário retreino com novos dados; processo complexo e imprevisível.
- Tradicional: Mais fácil identificar e corrigir erros.
- IA: Erros difíceis de identificar e corrigir - pode exigir ajustes de dados e modelo.
- Tradicional: Escala previsível com otimizações de código.
- IA: Escalabilidade menos previsível devido à natureza probabilística das saídas.
- Tradicional: Viés está no código e pode ser corrigido diretamente.
- IA: Viés introduzido nos dados, difícil de identificar e corrigir.
- Tradicional: Saídas inesperadas resultam de erros no código.
- IA: Alucinações podem surgir e são difíceis de corrigir.
- Tradicional: Versionamento direto e reversível.
- IA: Versionamento possível, mas retreino pode alterar o modelo.
- Tradicional: Testes diretos com caminhos predefinidos.
- IA: Testes probabilísticos com métricas de avaliação.
- Tradicional: Feedback geralmente em forma de bugs.
- IA: Feedback direto do usuário fundamental para melhorias.
- Tradicional: Notebooks comuns suficientes para desenvolvimento.
- IA: Necessita GPUs/TPUs para treino e inferência, exigindo mais recursos.
- Análise de requisitos
- Desenho de arquitetura
- Desenvolvimento
- Testes
- Deploy
- Manutenção e atualizações
- Análise de requisitos
- Coleta e preparação de dados
- Treinamento/Fine-tuning do modelo
- Avaliação e validação do modelo
- Deploy do modelo
- Monitoramento e re-treinamento
- Análise de requisitos
- Coleta e preparação de dados
- Fine-tuning do modelo ou prompt engineering
- Avaliação e validação do modelo
- Deploy do modelo/API
- Monitoramento e re-fine-tuning