paint-brush
Uma nova esperança para a experimentação de MLpor@yashnayak
1,589 leituras
1,589 leituras

Uma nova esperança para a experimentação de ML

por Yashaswi Nayak2022/07/04
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

DVC VSCode Extension combina o poder dos comandos DVC para gerenciamento de dados, controle de versão e experimentação com a experiência de codificação elegante e elegante do Visual Studio Code. O DVC é uma excelente ferramenta para rastrear seus experimentos, modelos e artefatos relacionados, mas é uma CLI - com a qual muitos na comunidade de ciência de dados podem não se sentir confortáveis ou familiarizados.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Uma nova esperança para a experimentação de ML
Yashaswi Nayak HackerNoon profile picture


Olá!


Considere um cenário - um Cientista de Dados solitário trabalha em seu sistema tentando percorrer uma enorme quantidade de dados; limpeza, classificação, processamento e, em seguida, construção de um modelo para executar a previsão nos dados recém-processados. A cientista tem várias ferramentas à sua disposição - Jupyter Notebooks, Airflow, Anaconda, Pandas, armazenamento de dados e uma máquina virtual em nuvem.


Ela treina por horas e horas, apenas para ficar aquém da perfeição - o modelo não funciona tão bem quanto deveria. Ela olha pela janela - já é noite. Ela ainda precisa testar seu modelo com um conjunto diferente de parâmetros e rastrear um conjunto de métricas diferentes de seus experimentos.


Ela desliga o sistema, encerra o dia e tenta no dia seguinte com outro modelo, uma abordagem diferente com um monte de novos dados e parâmetros. Este é um longo processo que pode se estender por dias... semanas... e meses.


É difícil voltar a um ponto em que ela tentou uma combinação específica de parâmetros para o experimento, às vezes o conhecimento é perdido, pois todos os experimentos e todos os artefatos relacionados ao modelo podem não ser salvos. O rastreamento é crucial para a melhoria do modelo de ML.


Acho que esse cenário de cavaleiro solitário pode ser evitado se tivermos um ambiente de estilo IDE abrangente onde possamos executar vários experimentos, fazer gerenciamento de dados e rastrear nosso código, métricas de experimentos, plotagens, modelo e artefatos de dados também. Quão legal isso seria?

Parece bom demais para ser verdade, mas é isso que o DVC VSCode Extension está tentando fazer.


O DVC é uma excelente ferramenta para rastrear seus experimentos, modelos e artefatos relacionados, mas é uma CLI - com a qual muitos na comunidade de ciência de dados podem não se sentir confortáveis ou familiarizados.


Longe vão os dias em que você tinha que aprender um monte de comandos irritantes da CLI como este:


Usar o DVC ficou muito mais fácil e divertido.


Extensão DVC VSCode

O Iterative Team traz para você uma extensão do VS Code que combina o poder dos comandos DVC CLI para gerenciamento de dados, controle de versão e experimentação com a experiência de codificação elegante e elegante do Visual Studio Code IDE.


A extensão em sua forma atual fornece os seguintes recursos:


1. Paleta de Comandos

Integrado ao menu da paleta de comandos do VS Code. Pressione F1 para abrir a paleta e digite DVC para visualizar vários comandos relacionados a DVC à sua disposição.


2. Tabela de experimentos

Oferece uma visão detalhada dos experimentos executados no espaço de trabalho. O equivalente ao comando dvc exp show no modo CLI.


3. Tramas / Tramas ao Vivo

Você pode visualizar os gráficos gerados pelo experimento executado no espaço de trabalho. Pode comparar os gráficos de diferentes experimentos. Visualize ainda as parcelas atualizadas em tempo real.


4. Gerenciamento de controle de origem

Você pode verificar o status do espaço de trabalho usando esse recurso. Você pode dvc checkout , dvc commit , dvc add , dvc push & dvc pull a partir desta visualização.


5. Artefatos rastreados - conjuntos de dados, modelos e tokenizadores

Uma pequena janela para rastrear seus recursos no espaço de trabalho. A partir daqui, você pode executar ações de arquivo, push e pull recursos específicos e gerenciar os dados em conjuntos de dados rastreados.


6. DVC View Container/Bandeja

O View Container pode ser ativado clicando no ícone DVC na barra de ícones do VS Code. Ele fornece informações gerais sobre os experimentos e recursos no espaço de trabalho.


Aqui estão algumas vantagens em comparação com o CLI sozinho quando você usa a extensão:

  • Oculta a complexidade da CLI e remove o atrito da experiência.
  • Aprimorando as visualizações existentes e fornecendo visualizações extras.
  • Movendo os fluxos de trabalho de ciência de dados para o contexto de construção - menos quebras inesperadas no tempo de foco.
  • Veja o desempenho do experimento em tempo real
  • Todo mundo adora VS Code ❤️🙂


Extensão DVC - Introdução

O uso da extensão DVC pode ser resumido em 4 etapas

  1. Instalação - (Uma vez)
  2. Configurando seu projeto e dados
  3. Experimentação
  4. Plotagem de Gráficos e Avaliação de Modelos


Instalação

Certifique-se de ter o DVC instalado em seu sistema. Você pode executar o seguinte comando em seu terminal:


 $ pip3 install dvc


Ou você pode seguir o guia fornecido aqui para instalação específica do sistema operacional .


Vá para VS Code e no menu de extensão, procure por DVC. Clique em Instalar.


https://www.youtube.com/watch?v=INjOkuanRpc


Agora você tem a extensão DVC pronta para uso. Para se familiarizar com o uso da extensão, faremos o download de um projeto de ML de amostra


Baixar projeto de amostra

Você pode baixar o projeto de amostra do repositório . Abra a pasta no VS Code. A extensão DVC deve detectar o binário DVC e o ambiente python.


Se você tiver um ambiente específico, pode pressionar F1 e selecionar DVC: Setup The Workspace de trabalho

Forneça o caminho do compilador e o caminho binário do ambiente Python.


Usando a extensão DVC

Você pode visualizar os experimentos DVC no espaço de trabalho atual na guia DVC view container.


Extraindo Dados

Para começar nossa experimentação, precisamos extrair os dados. Pressione F1 para abrir a paleta de comandos do VS Code e selecione DVC: Pull


Você pode visualizar a saída selecionando DVC: Show DVC Output


Observação: a equipe ainda está trabalhando na opção de armazenamento remoto DVC no plug-in do VS Code, você terá que definir seu armazenamento remoto via linha de comando ou arquivo de configuração


Experimentação

Você pode alterar os parâmetros no arquivo params.yaml e selecionar DVC: Modify Experiment Param(s),Rest and Run na paleta de comandos do VS Code.


https://www.youtube.com/watch?v=buuoKsGZvvo


Tramas / Tramas ao vivo

Você pode verificar seus experimentos e visualizar os gráficos plotados usando a extensão também.

E a cereja no topo é que a extensão permite que você escolha seus experimentos. Trocadilho pretendido!


https://www.youtube.com/watch?v=N0VdjyQCo3Q


Isso não é tudo, você pode executar experimentos individuais e alterar parâmetros específicos.

Se você deseja visualizar seus gráficos ao vivo, para experimentos que levam muito tempo - digamos, um modelo DL talvez com muitas épocas.


Você também pode visualizá-los em tempo real. Basta executar seu experimento e clicar no botão de gráficos na bandeja do DVC.


https://www.youtube.com/watch?v=ov5ScDPV6Rw


Quando tudo estiver bem feito, você também pode confirmar e enviar suas alterações.

A equipe iterativa adicionará mais recursos interessantes à extensão em breve. Fique ligado.


Não nos deixe mantê-lo, vá em frente e comece a experimentar. Feliz tempo de DVC!



Um pouco de filosofia de despedida

Como praticante de ML Ops, enfrento vários desafios ao trabalhar com diferentes equipes de ciência de dados. Existem várias ferramentas disponíveis no mercado - pagas e de código aberto. Costumo me inclinar para ferramentas de código aberto, pois há um parentesco com uma comunidade que está ajudando ativamente estranhos em todo o mundo a resolver problemas semelhantes.


Essa abordagem é de grande importância para a comunidade de ML, pois ainda estamos na fase de adoção, onde uma boa ferramenta pode ajudá-lo a resolver seus problemas com mais rapidez e confiança. Uma ferramenta centralizada integrada com vários estágios do pipeline de ML ajuda muito as equipes de ciência de dados a resolver problemas; eles podem se concentrar mais na melhoria do modelo do que na infraestrutura e nas configurações - foi isso que me atraiu para a ferramenta DVC.


Um agradecimento à equipe da Iterative por criar esta extensão maravilhosa, esperando ver mais mágica no futuro.