14 pontos por kwonhl0211 2024-07-15 | Ainda não há comentários. | Compartilhar no WhatsApp
  • 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.

Ainda não há comentários.