Machine Learning in Power BI

Power BI and Azure ML have native integration with each other, which means not only you can consume the model deploy in Power BI but also use the resources/tools in Azure ML to manage the MLOps process. There is a misconception that you need Power BI Premium to use Azure ML. In this session I show that's not the case. Below are the topics covered:

  • Limitation of using Python or R in Power BI

    • Formula firewall
    • Privacy setting of the datasource must be Public
    • 30 min query timeout
    • Have to use personal gateway
    • Cannot use enhanced metadata
    • Dependency management
    • Not scaleable
    • No MLOps
  • Steps to access Azure ML models in Power BI

    • Give Azure ML access to Power BI tenant in IAM
    • Use scoring script with input/output schema

aml

Topics Covered:

  • Invoking Azure ML models in Power Query in Desktop and using dataflow in service

  • Thoughts on batch-scoring

  • Other considerations:

    • Azure ML models can only be called for real-time inference.
    • Use ACI for small models and AKS for large models that requore GPU, scaleable compute, low latency, high availability
    • Real-time inferencing is expensive! Use batch scoring if real-time is not needed
    • Incremental refreshes in Power BI will work with models invoked from Azure ML but watch out for (query) performance
    • With Azure Arc, you can use your own Kubernets service! Deploy the model in Azure ML but use your own K8 (AWS, GCP etc.)
    • Premium Per User gives you access to Auto ML. If you have access to PPU, it may be worth first experimenting with AutoML before using Azure ML model to save cost. PPU Automl doesn't offer the same level of MLOps capabilities though.