Skip to content

Latest commit

 

History

History
112 lines (95 loc) · 11.6 KB

01.Prepare for AI engineering.MD

File metadata and controls

112 lines (95 loc) · 11.6 KB

Define AI

  • AI is increasingly prevalent in the software applications we use every day; including digital assistants in our homes and cellphones, automotive technology in the vehicles that take us to work, and smart productivity applications that help us do our jobs when we get there.

  • So what actually is artificial intelligence? AI as software that exhibits one or more human-like capabilities, as shown in the following table:

    Capability Description
    Visual perception - The ability to use computer vision capabilities to accept, interpret, and process input from images, video streams, and live cameras.
    Text analysis - The ability to use natural language processing (NLP) to not only "read", but also extract semantic meaning from text-based data.
    Speech - The ability to recognize speech as input and synthesize spoken output. The combination of speech capabilities together with the ability to apply NLP analysis of text enables a form of human-compute interaction that's become known as conversational AI, in which users can interact with AI agents (usually referred to as bots) in much the same way they would with another human.
    Decision making - The ability to use past experience and learned correlations to assess situations and take appropriate actions. For example, recognizing anomalies in sensor readings and taking automated action to prevent failure or system damage.

Understand AI-related terms

  • Data science - Focuses on the processing and analysis of data; applying statistical techniques to uncover and visualize relationships and patterns in the data, and defining experimental models that help explore those patterns. Example

    1. a data scientist collect data about the population of an endangered species in a geographical area, and combine it with data about levels of industrialization and economic demographics in the same area.
    2. The data can then be analyzed, using statistical techniques to extrapolate from the samples to understand trends and relationships between human activities and wildlife, and test hypotheses using models that show the likely impact of human activity on the wildlife population.
    3. By doing so, the data scientists may help determine optimal policies that balance the need for economic wellbeing for the human population with the need for conservation of the endangered wildlife.
  • Machine learning - It's a subset of data science that deals with the training and validation of predictive models.

    1. Typically, a data scientist prepares the data and then uses it to train a model based on an algorithm that exploits the relationships between the features in the data to predict values for unknown labels. Example
    2. a data scientist use collected data to train a model that predicts the annual growth or decline in population of a species based on factors such as the number of nesting sites observed, the area of land designated as protected, the human population in the local area, the daily volume of traffic on local roads, and so on.
    3. This predictive model can then be used as a tool to evaluate plans for housing, infrastructure, and industrial development in the local area and assess their likely impact on the local wildlife.
  • Artificial intelligence - usually (but not always) builds on ML to create software that emulates one or more characteristics of human intelligence. Example

    1. Balancing the need for wildlife conservation against economic development requires accurate monitoring of the population of the endangered species being protected.
    2. It may not be feasible to rely on human experts who can positively identify the animal in question, or to monitor a large area over a sufficient period of time to get an accurate count.
    3. Indeed, the presence of human observers may deter animals and prevent their detection.
    4. In this case, a predictive model could be trained to analyze image data taken by motion-activated cameras in remote locations, and predict whether a photograph contains a sighting of the animal.
    5. The model could then be used in a software application that responds to automated identification of animals to track animal sightings across a large geographical area, identifying areas with dense animal populations that may be candidates for protected status.

Understand considerations for AI Engineers

  • Model training and inferencing
    1. After the model has been trained, submit new data that includes known feature values and have the model predict the most likely label. Using the model to make predictions is referred to as inferencing.
  • Probability and confidence scores
    1. The predictions made by ML models are based on probability. Predictions have an associated confidence score that reflects the probability on which the prediction is being made.
    2. Developers should make use of confidence score values to evaluate predictions and apply appropriate thresholds to optimize application reliability.
  • Responsible AI and ethics
  • Fairness - AI systems should treat all people fairly.
  • Reliability and safety
  • Privacy and security
  • Inclusiveness
  • Transparency
  • Accountability

Understand capabilities of Azure ML

  • Azure provides the Azure ML service - a cloud-based platform for running experiments at scale to train predictive models from data, and publish the trained models as services.
  • Azure Machine Learning provides the following features and capabilities:
Feature Capability
Automated machine learning This feature enables non-experts to quickly create an effective machine learning model from data.
Azure Machine Learning designer A graphical interface enabling no-code development of machine learning solutions.
Data and compute management Cloud-based data storage and compute resources that professional data scientists can use to run data experiment code at scale.
Pipelines Data scientists, software engineers, and IT operations professionals can define pipelines to orchestrate model training, deployment, and management tasks.
  • Data scientists can use Azure ML throughout the entire ML lifecycle to:

    1. Ingest and prepare data.
    2. Run experiments to explore data and train predictive models.
    3. Deploy and manage trained models as web services.
  • Software engineers may interact with Azure ML in the following ways:

    1. Using Automated ML or Azure ML designer to train ML models and deploy them as REST services that can be integrated into AI-enabled applications.
    2. Collaborating with data scientists to deploy models based on common frameworks such as Scikit-Learn, PyTorch, and TensorFlow as web services, and consume them in applications.
    3. Using Azure MLg SDKs or CLI scripts to orchestrate DevOps processes that manage versioning, deployment, and testing of ML models as part of an overall application delivery solution.

Understand capabilities of Azure AI Services

  • Azure AI Services are cloud-based services that encapsulate AI capabilities.
  • Azure AI Services as a set of individual services that you can use as building blocks to compose sophisticated, intelligent applications.
Natural language processing Knowledge mining and document intelligence Computer vision Decision support Generative AI
Text analysis Cognitive Search Image analysis Anomaly detection Azure OpenAI Service
Question answering Document Intelligence Video analysis Content moderation DALL-E image generation
Language understanding Custom Document Intelligence Image classification Content personalization
Translation Custom skills Object detection
Named entity recognition Facial analysis
Custom text classification Optical character recognition
Speech Azure AI Video Indexer
Speech Translation

Understand capabilities of the Azure Bot Service

  • Bots are AI-powered software agents that can engage in conversational interactions.
  • Example : a web site may include a chat bot interface in which users can submit questions using natural language and receive conversational responses
  • Example : an organization might use a bot to answer incoming phone calls and gather initial information before forwarding the call to the appropriate operator.
  • The Azure Bot Service is an Applied AI service for developing and delivering bot solutions that support conversational interactions across multiple channels, such as web chat, email, Microsoft Teams, and others.
  • Develop Bots by writing code, using the Bot Framework SDK. Or use the Bot Framework Composer to develop complex bots using a visual design interface.

Understand capabilities of Azure Cognitive Search

  • Searching for information is a common requirement in many applications, from dedicated search engine web sites to mobile apps that can find context-appropriate information based on where you are and what you want to accomplish.
  • Azure Cognitive Search is an Applied AI Service that enables you to ingest and index data from various sources, and search the index to find, filter, and sort information extracted from the source data.
  • Azure Cognitive Search enables you to define an enrichment pipeline that uses AI skills to enhance the index with insights derived from the source data - for example, by using computer vision and NLP capabilities to generate descriptions of images, extract text from scanned documents, and determine key phrases in large documents that encapsulate their key points.
  • Not only does this AI enrichment produce a more useful search experience, the insights extracted by your enrichment pipeline can be persisted in a knowledge store for further analysis or integration into a data pipeline for a BI solution.

Quiz

  1. Which of the following best describes the predictions made by a machine learning model?
    • Absolutely correct values based on conditional logic.
    • Randomly selected values with an equal chance of selection.
    • Probabilistic values based on correlations found in training data.
  2. A data scientist has used Azure Machine Learning to train a machine learning model. How can you use the model in your application?
    • Use Azure Machine Learning to publish the model as a web service.
    • Export the model as an Azure AI service.
    • You must build your application using the Azure Machine Learning designer.
  3. You want to index a collection of text documents, and search them from a mobile application. Which service should you use to create the index?
    • The Azure AI service
    • Azure Cognitive Search
    • Azure Bot Service