Como a Notion desenvolve recursos de IA (Linus Lee)
(youtube.com)-
A experiência de Linus Lee no desenvolvimento de IA
- Linus Lee trabalha na Notion como engenheiro líder de IA.
- Antes da Notion, ele realizou muitas pesquisas sobre NLP, machine learning e HCI, além de atuar bastante com prototipagem e escrita.
- Na Notion, desenvolveu os recursos Q&A, Autofill e AI Writing, e também vem pesquisando modelos de espaço latente.
-
Visão geral do desenvolvimento de IA na Notion
- Desde a época da universidade, Linus Lee desenvolve diversos projetos de web e ferramentas de produtividade.
- Ao longo de 2022, começou a ler artigos e pesquisar IA de forma independente.
- Em outubro de 2022, passou a participar do projeto beta do AI Writer da Notion.
- Quando entrou na Notion, a equipe de IA era formada por quatro pessoas, mas hoje cresceu para cerca de 20.
- Os principais projetos dos quais Linus Lee participou foram AI Writer, Autofill e Q&A, lançados em fevereiro, maio e novembro de 2023, respectivamente.
- Daqui para frente, a Notion AI pretende melhorar ainda mais a usabilidade por meio de tecnologia de agentes.
-
Apresentação dos escritórios e da equipe de IA da Notion
- A Notion tem escritórios em San Francisco e Nova York, e o escritório de San Francisco é usado para almoços e eventos.
- O escritório de Nova York é onde Linus Lee mora e trabalha, e se destaca por um ambiente de trabalho com design limpo.
- O desenvolvimento de recursos de IA na Notion começou em 2013, e o CEO e o CTO participam diretamente do desenvolvimento do produto.
- Em uma foto de uma reunião da equipe de IA no outono de 2022, aparecem o gerente, o CEO Ivan, o CTO Simon, além de gerentes de produto e designers em uma sessão de Q&A.
- Em produtos de IA, qualidade e avaliação são elementos importantes, e são usadas técnicas de avaliação que consideram o espectro entre benchmarks de pesquisa e uso real em produção.
- A Notion verifica o desempenho entre benchmarks e dados reais, e avalia com precisão a performance do modelo por meio de testes programáticos.
- Os itens de avaliação incluem a presença de palavras específicas, confiança, palavras-chave e desempenho linguístico preciso.
-
Desenvolvimento de produtos de IA na Notion
- A avaliação humana é um elemento importante no desenvolvimento dos produtos de IA da Notion.
- Em conjuntos de dados de teste, pessoas verificam os dados, e o produto é testado por meio de testes programáticos.
- Depois do desenvolvimento do produto, é necessário monitoramento contínuo com base no feedback dos usuários.
- A IA precisa oferecer funções em vários níveis para lidar de forma eficaz com coleta de casos de falha dos usuários, respostas a perguntas e outras tarefas.
- A chave para desenvolver produtos de IA de alta qualidade é a edição e a qualidade dos dados. Por isso, é importante ajustar os dados do mundo real ao modelo.
- A equipe da Notion reúne engenheiros, pesquisadores, designers e gerentes de produto para discutir e desenvolver recursos de edição.
- Usando modelos como o GPT-4, eles melhoram continuamente os modelos de edição para elevar a qualidade dos resultados.
-
Processo de desenvolvimento de recursos de IA na Notion
- Os engenheiros de IA da Notion desenvolvem modelos por meio da coleta de informações e da estruturação de dados. Por isso, precisam analisar os dados com rigor e atender às necessidades dos usuários.
- Eles estudam formas de organizar informações como notas de reunião e páginas da web dos usuários da Notion, e constroem conjuntos de dados, porque isso afeta o desempenho do modelo de IA.
- Com pesquisa, identificam casos de uso como Q&A e testam os modelos, para que possam fornecer respostas eficazes às perguntas dos usuários.
- Desenvolvem sistemas protótipo usando GPT-4 e modelos em nuvem, e fazem testes internos para identificar problemas iniciais.
- Eles analisam os casos de falha coletados no uso interno e, com base nisso, melhoram os conjuntos de dados e os modelos. Assim, aumentam a precisão do modelo por meio de testes e feedback repetidos.
-
Procedimentos de desenvolvimento e avaliação dos modelos de IA da Notion
- O processo iterativo do modelo inclui ajustes de prompt, fine-tuning do modelo e a adição de uma segunda etapa no pipeline do modelo de linguagem.
- Quando consideram que um problema foi resolvido na fase de desenvolvimento, fazem novo deploy, coletam mais casos de falha e seguem com o processo iterativo.
- Esse processo continua sendo repetido até que a qualidade das entradas e saídas esteja satisfatória no ambiente interno.
- Em determinado momento, o produto é liberado para um pequeno grupo de usuários por meio de um programa beta, e o feedback dos usuários e os dados de log coletados automaticamente são monitorados.
- Na fase inicial de construção do dataset, vários métodos são usados para verificar se ele reflete bem os casos de uso reais.
-
Etapa inicial do desenvolvimento de recursos de IA
- Um protótipo é criado e testado com a equipe interna de IA.
- Assim, por meio do uso interno, são coletadas diversas entradas e exemplos.
- O conjunto inicial de entradas não precisa representar perfeitamente os casos reais.
- Após os testes internos, ele é distribuído para um grupo maior de usuários, garantindo gradualmente dados mais realistas.
- Também é possível construir o dataset inicial com base em casos de falha previstos.
- Ao desenvolver suporte a idiomas, usam datasets de QA existentes traduzidos para outros idiomas.
-
Coleta e avaliação de dados por meio de testes internos e externos
- O dataset inicial não precisa ser totalmente realista. Por isso, dados melhores são coletados por meio de testes.
- O protótipo é testado com usuários internos ou com um pequeno grupo externo, e exemplos de saídas incorretas são coletados de várias formas.
- São feitas avaliações programáticas com base em palavras-chave ou na estrutura da saída, e logs são registrados para cada inferência de IA. Assim, é possível verificar e analisar as saídas que falharam.
- Entrevistas com usuários permitem entender os casos de uso reais e descobrir formas de uso inesperadas.
- Por exemplo, durante os testes internos do Autofill, descobriram que muitos funcionários o usavam para tradução, então desenvolveram uma versão mais otimizada para esse fim.
-
Feedback e métodos de avaliação de produtos de IA
- Botões de feedback de gostei e não gostei não são muito úteis para os usuários e, por isso, não são usados com frequência.
- Além disso, na escala de usuários da Notion, não é possível obter dados suficientes apenas com esses botões de feedback.
- Ainda assim, eles ajudam um pouco porque às vezes capturam casos excepcionais que não seriam encontrados por outros casos de uso.
- Internamente, testes adversariais são usados para avaliar o desempenho do modelo diante de entradas inesperadas.
- Os testes adversariais são úteis para entender os limites do desempenho do modelo e identificar onde os problemas surgem.
- Dados de uso real são usados para monitorar continuamente os pontos fortes e fracos do modelo.
-
Elementos centrais no desenvolvimento de produtos de IA
- Avaliação e logs são os fatores mais importantes.
- É necessário construir logs abrangentes e totalmente reproduzíveis.
- Com exemplos de saídas ruins ocorridas no uso real ou resultados de testes internos, é possível reconstruir o pipeline e fazer debugging.
- Cada exemplo é executado novamente no ambiente de desenvolvimento e testado com novos prompts ou modelos para encontrar uma solução.
- Depois que o problema é resolvido, esse exemplo é adicionado ao dataset de teste para evitar que o mesmo problema volte a acontecer.
-
Lições importantes no desenvolvimento de IA
- É preciso refinar a compreensão da tarefa usando o produto cedo e testando com frequência.
- O diferencial em IA não é o desempenho do modelo, mas a compreensão da tarefa.
- Ao construir aplicações de IA para usuários finais, a equipe de IA precisa entender profundamente a dificuldade da tarefa e os limites do modelo.
- É importante dividir a tarefa em partes menores e entender em quais pontos o modelo falha com frequência e em quais ele naturalmente se sai bem.
- A melhor forma de entender a dificuldade da tarefa é usar o produto com frequência, analisar as saídas e compreender as causas dos erros do modelo.
-
Pontos de atenção no desenvolvimento de produtos de IA
- Nas especificações do produto, além da interface e das funções, devem ser definidos também os critérios de avaliação e o que caracteriza uma boa saída.
- Os critérios de avaliação servem como ponto principal de comunicação entre responsáveis pelo produto, engenheiros e pesquisadores.
- A experiência tradicional com machine learning também pode ser aplicada a LLMs e modelos de IA generativa, trazendo mais insights do que se imagina.
- No entanto, enquanto no machine learning tradicional se lidava com grandes datasets e se analisavam clusters ou grandes subconjuntos, em modelos de linguagem é mais comum revisar casos de falha individuais e logs individuais.
- Portanto, trabalhar com modelos de linguagem exige ferramentas e workflows diferentes.
-
Importância e abordagem da avaliação de modelos de IA
- A avaliação tem como fonte da verdade os usuários e o que eles realmente fazem.
- Portanto, o material de avaliação deve refletir os casos de uso reais com base em dados de uso internos e externos.
- Um desafio importante no processo de avaliação é cobrir suficientemente todo o espaço de entradas para o qual se espera que o sistema funcione bem.
- Construir um pipeline de avaliação automática pode economizar tempo depois, ao lidar com muitos dados, mas no início é importante que os membros da equipe revisem e entendam diretamente as saídas.
- Isso ajuda a identificar as causas das falhas do modelo e suas tendências em tarefas específicas.
-
Como montar uma equipe de IA
- Existem duas abordagens principais; a primeira é transformar uma equipe existente de machine learning em uma equipe de IA.
- Nesse caso, a equipe pode se concentrar em dados, validação e benchmarks. Por isso, é importante avaliar de forma alinhada às necessidades dos usuários e às expectativas do mundo real.
- A segunda é fazer com que uma equipe de engenharia existente aprenda APIs de modelos de linguagem, como a API da OpenAI. A Notion também usou esse método. Por isso, a equipe inicial de IA era formada principalmente por engenheiros web.
- A vantagem desse tipo de equipe é a força no entendimento do usuário e em testes experimentais. No entanto, ela precisou aprender a importância de avaliações rigorosas e de datasets de alta qualidade.
- Além disso, boas práticas de higiene e workflows são importantes para a manutenção dos datasets. Portanto, garantir pontos de dados de alta qualidade é essencial.
Ainda não há comentários.