Dimensionando modelos MATLAB e Simulink com Databricks e Mathworks


Quer você venha do setor de saúde, aeroespacial, industrial, governamental ou de qualquer outro setor, o termo massive information não é um conceito estranho; no entanto, como esses dados são integrados ao seu modelo MATLAB ou Simulink existente em escala pode ser um desafio que você enfrenta hoje. É por isso Parceria Databricks e Mathwork foi criado em 2020 e continua a oferecer suporte aos clientes para obter insights significativos e mais rápidos de seus dados em escala. Isso permite que os engenheiros continuem a desenvolver seus algoritmos/modelos no Mathworks sem ter que aprender novo código, aproveitando ao mesmo tempo a Databricks Information Intelligence Platform para executar esses modelos em escala para realizar análises de dados e treinar e testar iterativamente esses modelos.

Por exemplo, no setor industrial, a manutenção preditiva é uma aplicação essential. Os engenheiros utilizam algoritmos MATLAB sofisticados para analisar dados de máquinas, permitindo-lhes prever possíveis falhas de equipamentos com notável precisão. Esses sistemas avançados podem prever falhas iminentes de bateria com até duas semanas de antecedência, permitindo a manutenção proativa e minimizando o tempo de inatividade dispendioso nas operações de veículos e máquinas.

Neste weblog, abordaremos uma lista de verificação pré-voo, algumas opções de integração populares, instruções de “primeiros passos” e uma arquitetura de referência com as práticas recomendadas do Databricks para implementar seu caso de uso.

Lista de verificação pré-voo

Aqui está um conjunto de perguntas a serem respondidas para iniciar o processo de integração. Forneça as respostas aos seus contatos de suporte técnico na Mathworks e Databricks para que eles possam adaptar o processo de integração para atender às suas necessidades.

  • Você está usando o Catálogo Unity?
  • Você está usando um SDK do compilador MATLAB? Você tem uma licença do MATLAB Compiler SDK?
  • Você está no MacOS ou no Home windows?
  • Que tipos de modelos ou algoritmos você está usando? Os modelos são construídos em MATLAB ou Simulink ou ambos?
  • Quais caixas de ferramentas MATLAB/Simulink esses modelos estão usando?
  • Para modelos Simulink, existem variáveis/parâmetros de estado armazenados como arquivos *.mat que precisam ser carregados? Os modelos estão gravando estados/resultados intermediários em arquivos *.mat?
  • Em qual versão do tempo de execução do MATLAB você está?
  • A quais versões do Databricks Runtime você tem acesso? O mínimo necessário é X

Implantando modelos MATLAB no Databricks

Existem muitas maneiras diferentes de integrar modelos MATLAB no Databricks; entretanto, neste weblog discutiremos algumas arquiteturas de integração populares que os clientes implementaram. Para começar você precisa instalar o Interface MATLAB para Databricks para explorar os métodos de integração, como SQL Interface, RestAPI e Databricks Join para teste e desenvolvimento, e a opção Compiler para casos de uso de produção.

Dimensionando modelos MATLAB e Simulink com Databricks e Mathworks

Visão geral dos métodos de integração

Interface SQL para Databricks

A interface SQL é mais adequada para volumes de dados modestos e fornece acesso rápido e fácil com semântica de banco de dados. Os usuários podem acessar dados na plataforma Databricks diretamente do MATLAB usando o Database Toolbox.

Interface SQL para Databricks

RestAPI para Databricks

A API REST permite ao usuário controlar trabalhos e clusters dentro do ambiente Databricks, como controle de recursos do Databricks, automação e fluxos de trabalho de engenharia de dados.

RestAPI para Databricks

Interface de conexão do Databricks com Databricks

A interface Databricks Join (DB Join) é mais adequada para volumes de dados modestos a grandes e utiliza uma sessão native do Spark para executar consultas no cluster Databricks.

Interface de conexão do Databricks com Databricks

Implante o MATLAB para execução em escala no Databricks usando MATLAB Compiler SDK

MATLAB Compiler SDK traz computação MATLAB para os dados, escalando by way of spark para usar grandes volumes de dados para produção. Os algoritmos implantados podem ser executados sob demanda, programados ou integrados em pipelines de processamento de dados.

Databricks usando MATLAB Compiler SDK

Para obter instruções mais detalhadas sobre como começar a usar cada um desses métodos de implantação, entre em contato com a equipe MATLAB e Databricks.

Começando

Instalação e configuração

  1. Navegue até Interface MATLAB para Databricks e position para baixo e clique no botão “Baixar a interface MATLAB para Databricks” para baixar a interface. Ele será baixado como um arquivo zip.
  2. Extraia a pasta compactada e compactada “matlab-databricks-v4-0-7-build-…” dentro de Arquivos de Programas MATLAB. Uma vez extraído você verá o “matlab-databricks” pasta. Certifique-se de que as pastas estejam nesta pasta e nesta hierarquia:
    Interface MATLAB para Databricks
  3. Inicie o aplicativo MATLAB a partir do aplicativo Desktop native por meio da barra de pesquisa e certifique-se de executar como administrador
    Aplicação MATLAB
  4. Vá para a interface de linha de comando no MATLAB e digite “ver” para verificar se você possui todas as dependências necessárias:
    Interface de linha de comando no MATLAB
  5. Em seguida, você está pronto para instalar o tempo de execução no cluster Databricks:
    • Navegue até este caminho: C:Program FilesMATLABmatlab-databricksSoftwareMATLAB: cd
    • Você deverá ver na barra superior ao lado do ícone das pastas o caminho do diretório atual. Certifique-se de que esse caminho se pareça com o caminho escrito acima e você poderá ver set up.m disponível na pasta atual.
      Cluster de blocos de dados
  6. Chamar set up() do terminal MATLAB
  7. Você receberá diversas perguntas para configurar a rotação do cluster.
    • Método de autenticação, nome de usuário do Databricks, fornecedor de nuvem que hospeda o Databricks, ID da organização do Databricks, and so on.
      Terminal MATLAB
  8. Quando solicitado com “Insira o caminho native para o arquivo zip baixado para este pacote (aponte para aquele em sua máquina native)”
    • Você deve fornecer o caminho para o arquivo zip compactado do MATLAB. Por exemplo: C:UserssomeuserDownloadsmatlab-databricks-v1.2.3_Build_A1234567.zip
  9. Um trabalho será criado no Databricks automaticamente conforme mostrado abaixo (Certifique-se de que o tempo limite do trabalho esteja definido para 30 minutos ou mais para evitar erros de tempo limite)
    Zíper compactado MATLAB

    um.

    Blocos de dados Matlab

    b.

  10. Assim que esta etapa for concluída com êxito, seu pacote deverá estar pronto para uso. Você precisará reiniciar o MATLAB e executar startup() que deve validar suas definições e configurações.

Validando a instalação e empacotando seu código MATLAB para Databricks

  1. Você pode testar uma opção de integração, Databricks-Join, simplesmente com as seguintes etapas:
    • spark = getDatabricksSession
    • ds = spark.vary(10)
    • Ds.present
    • Se algum deles não funcionar, o problema mais provável é não estar conectado a uma computação suportada (DBR14.3LTS foi usado para teste) e precisar modificar os arquivos de configuração listados no cabeçalho de autorização da saída `startup()` .
  2. Carregue seu arquivo .whl para volumes do Databricks
  3. Crie um pocket book e anexe o “cluster de instalação MATLAB” ao pocket book e importe suas funções de seu arquivo wrapper .whl

Arquitetura de referência de um caso de uso em lote/tempo actual em Databricks usando modelos MATLAB

Databricks usando modelos MATLAB

A arquitetura apresenta uma implementação de referência para um lote de ML de ponta a ponta ou casos de uso de streaming em Databricks que incorporam modelos MATLAB. Esta solução aproveita a plataforma Databricks Information Intelligence em todo o seu potencial:

  • A plataforma permite streaming ou ingestão de dados em lote no Unity Catalog (UC).
  • Os dados recebidos são armazenados em uma tabela Bronze, representando dados brutos e não processados.
  • Após o processamento e validação inicial, os dados são promovidos para uma tabela Silver, representando dados limpos e padronizados.
  • Os modelos MATLAB são empacotados como arquivos .whl para que estejam prontos para uso como pacotes personalizados em fluxos de trabalho e clusters interativos. Esses arquivos wheel são carregados em volumes UC, conforme descrito anteriormente, e o acesso agora pode ser controlado pelo UC.
  • Com o modelo MATLAB disponível no UC, você pode carregá-lo em seu cluster como uma biblioteca com escopo de cluster a partir do caminho de Volumes.
  • Em seguida, importe a biblioteca MATLAB para seu cluster e crie um objeto de modelo pyfunc MLflow personalizado para prever. Registrar o modelo em experimentos MLflow permite salvar e rastrear diferentes versões do modelo e as versões correspondentes da roda python de maneira simples e reproduzível.
  • Salve o modelo em um esquema UC junto com seus dados de entrada, agora você pode gerenciar permissões de modelo em seu modelo MATLAB como qualquer outro modelo personalizado em UC. Essas podem ser permissões separadas daquelas que você definiu no modelo MATLAB compilado que foi carregado nos volumes UC.
  • Uma vez registrados, os modelos são implantados para fazer previsões.
    • Para lote e streaming – carregue o modelo em um pocket book e chame o prever função.
    • Para tempo actual: forneça o modelo usando os endpoints do Mannequin Serving sem servidor e consulte-o usando a API REST.
  • Orquestre seu trabalho usando um fluxo de trabalho para agendar uma ingestão em lote ou ingerir continuamente os dados recebidos e executar inferência usando seu modelo MATLAB.
  • Armazene suas previsões na tabela Gold no Unity Catalog para serem consumidas pelos usuários downstream.
  • Aproveite o Lakehouse Monitoring para monitorar suas previsões de produção.

Conclusão

Se você deseja integrar o MATLAB em sua plataforma Databricks, abordamos as diferentes opções de integração que existem hoje e apresentamos um padrão de arquitetura para implementação ponta a ponta e discutimos opções para experiências de desenvolvimento interativo. Ao integrar o MATLAB à sua plataforma, você pode aproveitar os benefícios da computação distribuída no Spark, acesso aprimorado a dados e recursos de engenharia com delta, além de gerenciar com segurança o acesso aos seus modelos MATLAB com o Unity Catalog.

Confira estes recursos adicionais:
Tudo o que você queria saber sobre processamento de Massive Information (mas tinha medo de perguntar) » Developer Zone – MATLAB & Simulink
Insights práticos para engenheiros e cientistas em escala de Massive Information com Databricks e MathWorks
Transformando a detecção de falhas elétricas: o poder dos Databricks e do MATLAB

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *