1 pontos por GN⁺ 2023-12-16 | 1 comentários | Compartilhar no WhatsApp

A melhor forma de investir no desenvolvimento de habilidades em inteligência artificial/machine learning

  • Pergunta pedindo opiniões sobre a melhor forma de investir esse tempo e energia ao dedicar cerca de 1 hora por dia ao desenvolvimento de habilidades em inteligência artificial (IA)/machine learning (ML).
  • São apresentados vários métodos, e são solicitados exemplos concretos ou recomendações para cada um deles.
    • Construir pequenos projetos (o que construir?)
    • Ler blogs/newsletters (o que ler?)
    • Fazer cursos (quais cursos fazer?)
    • Ler livros didáticos (quais livros ler?)
    • Participar de competições no Kaggle
    • Participar de fóruns/comunidades de IA/ML
    • Combinação dos itens acima (se possível, compartilhar a proporção/ponderação do tempo)
  • Essa pergunta costuma ser feita para ajudar engenheiros de software a desenvolver capacidade na área de ML.

Opinião do GN⁺

  • Importância: inteligência artificial e machine learning estão entre as áreas de crescimento mais rápido no mundo da tecnologia atualmente e se tornaram habilidades essenciais para engenheiros de software. Desenvolver competências nessa área pode ajudar muito no avanço da carreira.
  • Interesse: IA/ML está trazendo inovação para diversos setores e áreas de aplicação, e estudar e praticar nesse campo oferece oportunidades para criar projetos criativos e desafiadores.
  • Variedade de métodos de aprendizado: os métodos apresentados podem ser ajustados com flexibilidade de acordo com o estilo de aprendizado e os objetivos de cada pessoa, e essa diversidade pode ajudar a encontrar o caminho de aprendizado ideal para cada um.

1 comentários

 
GN⁺ 2023-12-16
Comentários do Hacker News
  • Compartilhando a experiência de um diploma

    • Obteve um mestrado em ML (machine learning) em uma boa universidade. O que aprendeu na universidade também poderia ter aprendido sozinho, mas a universidade ofereceu foco e pressão que não teria por conta própria.
    • Implementar artigos foi a experiência de maior aprendizado. Aulas e livros didáticos são apenas palavras; fazer na prática proporciona um conhecimento muito mais profundo.
    • Dá para sugerir vários currículos, mas a melhor coisa é 1 hora de resolução concentrada de problemas.
    • Algumas sugestões de projetos: treinar uma rede neural pequena para aprender funções simples, um classificador de dígitos MNIST, fine-tuning do GPT2 com um corpus específico, treinar uma rede siamesa para medir similaridade visual etc.
    • A recomendação é não perder tempo escrevendo sua própria rede neural e backpropagation, e sim aprender a usar ferramentas de profiling e debugging.
  • Conselhos de um pesquisador de IA e fundador técnico

    • Partindo do pressuposto de que se trata de acompanhar os avanços mais recentes, recomenda não seguir um caminho linear. Faça um curso e um pequeno projeto, defina um prazo e tente concluir.
    • Encontre uma área de pesquisa interessante, execute o código correspondente no GitHub e procure maneiras de melhorá-lo ou usá-lo em um aplicativo.
    • Sugere fazer o curso da fast.ai, ler posts do blog do Karpathy e cursar Stanford cs231n e cs234.
    • Encontre um projeto de seu interesse e coloque-o para rodar.
  • A importância de colocar ML em prática

    • Muitos comentários vão enfatizar as partes de baixo nível de ML, mas o que ML precisa hoje são pessoas inteligentes no nível de implementação.
    • É importante e necessário usar a tecnologia LLM existente para criar software que pessoas comuns possam usar.
    • A prática diária inclui rascunhar aplicações, estruturar prompts e function calling, aprender a comercializar o que você criou e construir ferramentas que vão de zero a um.
    • Como exemplos, cita aplicar a técnica de livros comuns da época de Aristóteles à era moderna dos embeddings e entender uma especificação MD pura para integrar um modelo de geração por streaming.
  • Transformando AI/ML em trabalho do dia a dia

    • Procure colocar AI/ML no caminho crítico do seu trabalho. Assim como aprender uma nova língua, nada é tão eficaz quanto a imersão total.
    • Se você ainda não tem base suficiente para conseguir um emprego na área, a melhor alternativa é encontrar um projeto por paixão e continuar pensando em novas formas de resolvê-lo.
    • Por fim, considere voltar a estudar. Leva mais de 1 hora por dia, mas permite ver resultados muito mais rápidos e concretos do que outras estratégias de aprendizado.
  • Roteiro típico de um estudante de ML/AI

    • É preciso ter estudos prévios em matemática, ciência da computação etc. Isso normalmente inclui cálculo, álgebra linear, probabilidade e estatística, programação, programação orientada a objetos, estruturas de dados e algoritmos.
    • Depois de um curso básico de ML, passa-se às partes fundamentais de DL (deep learning), que mudam rapidamente.
    • Há uma divisão entre engenharia de ML e pesquisa em ML. A engenharia foca nos aspectos técnicos ligados ao pipeline de ML, enquanto a pesquisa se concentra na própria ciência.
    • Como outras pessoas disseram, implementar usando ferramentas é divertido e útil. Tentar implementar todos os modelos pode trazer muita dificuldade.
    • Ao aprender ML “prático”, tenta-se implementar modelos de forma que seja possível enviar dados via API e receber resultados. Isso envolve desafios de processamento de dados, desenvolvimento e hospedagem de software, desenvolvimento de API etc.
  • Reconhecendo os limites de AI/ML

    • Não solte demais a imaginação nem tenha confiança excessiva sobre o que AI/ML pode fazer.
    • Após participar por 2 anos de projetos de ML em uma grande empresa, percebeu que eles não melhoravam em relação aos métodos estatísticos existentes e que, sem capacidade de entender a “caixa-preta” do ML, não havia melhoria real no processo.
    • Muito trabalho em ML era uma solução à procura de um problema.
    • É importante entender como usar bancos de dados (SQL e NoSQL). Para usar ML de forma eficaz, é preciso ser muito bom em programar grandes volumes de dados com bom desempenho.
  • Como estudar AI/ML

    • Leia do começo ao fim "An Introduction to Statistical Learning with Applications in R/Python", de Hastie e outros, e entenda os conceitos/ideias/nuances/sutilezas explicados.
    • Tenha livros de matemática/estatística à mão e, sempre que surgir uma técnica matemática desconhecida, consulte-os imediatamente ou assista a um vídeo curto no YouTube para entender o conceito e como usá-lo.
    • Essa é a forma mais simples e direta de estudar e entender AI/ML. Todo o resto mencionado neste tópico deve vir depois disso.
  • A combinação de ML e engenharia

    • Vale observar a interseção entre ML e engenharia.
    • Considere MLOps, aplicação de DevOps, testes e ci/cd no espaço de ML, como treinar em várias GPUs e, em especial, como hospedar LLMs em grande escala e a baixo custo.
    • Na academia há centenas de candidatos com formação teórica forte, mas pouquíssimos engenheiros experientes capazes de transformar essas ambições em realidade.
  • Foco em deep learning

    • A maioria dos LLMs usa a arquitetura transformer. É possível aprender isso visualmente, por meio de posts de blog ou dos posts e materiais de Andrej Karpathy.
    • Lê resumos todos os domingos para se manter em dia com os artigos publicados a cada semana.
    • Para aprender mais sobre o lado de engenharia, pode entrar no servidor do Discord da EleutherAI ou acompanhar as discussões no GitHub de projetos como llama.cpp.
    • Talvez a forma mais eficiente de evoluir seja reimplementar os principais artigos da área. Há um objetivo claro, sinais claros de sucesso e muitas implementações para verificar, comparar e aprender.
  • Quiz para iniciantes em LLM

    • Recentemente deu uma aula introdutória sobre LLMs para pós-graduandos não formados em CS (biomedicina). Queria passar um quiz como tarefa, mas não encontrou um bom e acabou criando um quiz de múltipla escolha. O quiz é “diabólico” e pode derrubar quem não tiver uma compreensão sólida. Algumas perguntas têm nuances que ajudam no aprendizado ao tentar encontrar a resposta correta. É um formulário do Google que não coleta e-mails.