Escolher uma framework de desenvolvimento de IA é tão importante como escolher desenhos de construção para um construtor, e para ser honesto, as escolhas são realmente confusas. Há alguns dias, alguns amigos desenvolvedores conversaram e reclamaram que o TensorFlow e o PyTorch "se amam", assim como a guerra entre iOS e Android. Mas o problema é que esta decisão pode levar a que a experiência de desenvolvimento subsequente seja muito diferente, e até afetar diretamente o sucesso ou o fracasso do projeto. Afinal de contas, cada estrutura tem a sua própria filosofia de design e cenários de aplicação únicos, pelo que não se pode olhar apenas para a reputação ao escolher.
Os requisitos do projeto estão no centro
No ano passado, uma equipa de uma startup de IA na área dos cuidados de saúde caiu num grande buraco por ter escolhido uma estrutura inadequada. Foram diretamente para o TensorFlow, apenas para descobrir que a estrutura de "nível industrial" era demasiado pesada para o seu pequeno projeto de iteração rápida. Não é invulgar as equipas optarem pela mais recente estrutura JAX, apenas para descobrirem que a documentação e o apoio da comunidade ainda são muito imaturos. Por isso, o meu conselho é que se descubra primeiro a natureza do projeto: trata-se de uma experiência rápida para investigação? Ou precisa de ser implementado no ambiente de produção de aplicações empresariais? A escolha errada pode ter de pagar duas ou três vezes os custos de desenvolvimento.
Indicadores práticos que não devem ser ignorados
No que diz respeito aos critérios de seleção, para além do desempenho da própria estrutura, alguns factores periféricos são frequentemente ignorados. Por exemplo, o ponto de atividade da comunidade - talvez não imagine, a resolução de problemas do PyTorch no GitHub é mais rápida do que a do TensorFlow quase 40%, o que é um salva-vidas quando se trata de problemas urgentes. Outro caso da vida real: uma empresa nacional de IA eliminou uma vez duas alternativas diretamente devido à falta de documentação chinesa para a estrutura. Além disso, a pilha de tecnologia dos membros da equipa também é uma consideração fundamental, forçando a introdução de uma pilha de tecnologia completamente nova pode trazer uma curva de aprendizagem desastrosa.
A compatibilidade de hardware é igualmente importante. Fizemos testes e o PyTorch é realmente excelente em GPUs NVIDIA, mas se quiser executar modelos em TPUs, então o TensorFlow pode ser a escolha mais segura. Também se resume a possíveis planos de expansão futuros - certo? Por vezes, escolher uma estrutura é, na verdade, pagar pelo hardware.
Não há necessidade de perseguir cegamente o novo
Agora, no mercado, de tempos a tempos, surgem novas frameworks, como as recentes MindSpore e OneFlow, mas a experiência de várias mudanças tecnológicas no desenvolvimento antigo dir-lhe-á que a estabilidade é muitas vezes mais importante do que a novidade. Uma vez, tive um projeto que foi adiado durante meio ano para poder utilizar a estrutura mais recente, o que foi uma verdadeira lição aprendida. A minha experiência pessoal diz-me que, para os projectos de produção, é necessário ter pelo menos 2-3 anos de maturidade antes de considerar a adoção. Para os projectos de investigação, é possível experimentar com ousadia, afinal, este tempo para aprender novas tecnologias é mais importante do que a estabilidade do projeto.
No fim de contas, não existe uma resposta padrão para a escolha de uma estrutura de IA, tal como não existe uma solução para tudo. Depende de tudo, desde a sua equipa, projeto, recursos e desenvolvimento futuro. Talvez a única certeza seja: vale a pena gastar um ou dois dias de pesquisa adequada na escolha, em vez de simplesmente pegar a estrutura mais popular e usá-la. Afinal de contas, nesta era de explosão de IA, escolher a ferramenta certa pode significar metade da batalha.
评论列表 (0条):
加载更多评论 Carregando...