Principles of AI Engineering#

Introduction#

Content/Inhalt:
This microcredit introduces the topic of AI Engineering. I uses a small case study to motivate the topic. Then, it discusses the skill set required for AI Engineering and the difficulty with engineering systems with AI components.

Learning Objectives/Qualifikationsziele:
After completion of this microcredit, the students know the basic concepts of AI Engineering. They are able to explain the difference between AI Engineering and Software Engineering. They can describe the skill set required for AI Engineering. They can define the term AI Engineering.

Link to the repositories/Link zum Repository:
Check out aieng-lab/principles-of-ai-engineering.git or

git clone https://github.com/aieng-lab/principles-of-ai-engineering.git

Previous microcredits/Empfohlene Voraussetzung: None
Next microcredits/Fortsetzungsempfehlung: Principles of AI Engineering - Systems with Machine Learning

Extent/Arbeitsumfang: 0.25 ECTS
Responsible/Verantwortlichkeit: Prof. Dr. Steffen Herbold

Systems with Machine Learning#

Content/Inhalt:
This microcredit discusses different aspects of systems with machine learning components. It starts with a discussion of the role of machine learning within a system. Afterwards, the difference between system goals and model goals is considered. Based on this, the chapter covers how such systems are embedded in the real world, how they interact with humans, and how they need to be operated. Finally, the chapter discusses how software engineering typically handles complexity and how this is different for systems with machine learning components.

Learning Objectives/Qualifikationsziele:
After completion of this microcredit, the students know the basic concepts of systems with machine learning components. They are able to explain the difference between system goals and model goals. They can describe the role of machine learning within a system. They know the different modes in which machine learning can interact with humans. They can explain how software engineering typically handles complexity and how this is different for systems with machine learning components.

Link to the repositories/Link zum Repository:
Check out aieng-lab/principles-of-ai-engineering.git or

git clone https://github.com/aieng-lab/principles-of-ai-engineering.git

Previous microcredits/Empfohlene Voraussetzung: Principles of AI Engineering - Introduction
Next microcredits/Fortsetzungsempfehlung: Principles of AI Engineering - Model quality

Extent/Arbeitsumfang: 0.75 ECTS
Responsible/Verantwortlichkeit: Prof. Dr. Steffen Herbold

Model quality#

Content/Inhalt:
Ths microcredit discusses different aspects of model quality. The model quality is first considered from a data science perspective, including a discussion of generalization and pitfalls for the evaluation. Then, the model quality is considered from a software engineering perspective, including a discussion of the role of testing, the oracle problem, and metamorphic testing.

Learning Objectives/Qualifikationsziele:
The students know the basic concepts of model quality. They are able to explain the difference between data science and software engineering perspective on model quality. They know the typical problems with generalization and how to avoid typical pitfalls for the model evaluation. They can describe the role of testing for model quality. They can explain the oracle problem and how metamorphic testing can be used to address it.

Link to the repositories/Link zum Repository:
Check out aieng-lab/principles-of-ai-engineering.git or

git clone https://github.com/aieng-lab/principles-of-ai-engineering.git

Previous microcredits/Empfohlene Voraussetzung: Principles of AI Engineering - Systems with Machine Learning
Next microcredits/Fortsetzungsempfehlung: Principles of AI Engineering - Goals

Extent/Arbeitsumfang: 1 ECTS
Responsible/Verantwortlichkeit: Prof. Dr. Steffen Herbold

Goals#

Content/Inhalt:
This microcredit discusses different aspects of goals. The chapter opens with a discussion on when to use machine learning. Afterwards, system goals are considered on different levels. The chapter then discusses measurement (of goals) and the typical risks associated with measurements.

Learning Objectives/Qualifikationsziele:
The students know the different types levels of goals within an organization. They know how to decide when to use machine learning. They can describe measurement and the typical risks associated with measurements.

Link to the repositories/Link zum Repository:
Check out aieng-lab/principles-of-ai-engineering.git or

git clone https://github.com/aieng-lab/principles-of-ai-engineering.git

Previous microcredits/Empfohlene Voraussetzung: Principles of AI Engineering - Model quality
Next microcredits/Fortsetzungsempfehlung: Principles of AI Engineering - Requirements and Risks

Extent/Arbeitsumfang: 0.5 ECTS
Responsible/Verantwortlichkeit: Prof. Dr. Steffen Herbold

Requirements and Risks#

Content/Inhalt:
This microcredit discusses different aspects of requirements and risks with respect to systems with machine learning components. The chapter discusses the role of requirements for machine learning. Then, there is a strong focus on handling risks and strategies to mitigate them by handling faults. Afterwards, the importance of constratins and trade-offs is dicussed.

Learning Objectives/Qualifikationsziele:
The students know how software requirements, specifications, and the environment are related and what the difficulties for systems with machine learning components are. They can analyze the risks of such components and know common strategies on how to handle and mitigate them. The can explain various typical constraints for such systems and the trade-offs between different aspects.

Link to the repositories/Link zum Repository:
Check out aieng-lab/principles-of-ai-engineering.git or

git clone https://github.com/aieng-lab/principles-of-ai-engineering.git

Previous microcredits/Empfohlene Voraussetzung: Principles of AI Engineering - Goals
Next microcredits/Fortsetzungsempfehlung: Principles of AI Engineering - Model deployment and software architecture

Extent/Arbeitsumfang: 0.75 ECTS
Responsible/Verantwortlichkeit: Prof. Dr. Steffen Herbold

Model deployment and software architecture#

Content/Inhalt:
This microcredit discusses different aspects of model deployment and software architecture. The chapter starts with a discussion of the role of software architecture for systems with machine learning components. It demonstrates how it can be trivial to deploy machine learning models, but that such deployments are often to simple for real-world applications. The chapter then discusses different aspects of software architecture and design decisions relevant for systems with machine learning components, including the documentation of machine learning interfaces.

Learning Objectives/Qualifikationsziele:
The students know the role of software architecture for systems with machine learning components. They can explain the difference between trivial and real-world deployments of machine learning models. They can describe different aspects of software architecture and design decisions relevant for systems with machine learning components. They can explain the importance of documenting machine learning interfaces and know standard methods for this tasks.

Link to the repositories/Link zum Repository:
Check out aieng-lab/principles-of-ai-engineering.git or

git clone https://github.com/aieng-lab/principles-of-ai-engineering.git

Previous microcredits/Empfohlene Voraussetzung: Principles of AI Engineering - Requirements and Risks
Next microcredits/Fortsetzungsempfehlung: Principles of AI Engineering - Ethics

Extent/Arbeitsumfang: 0.5 ECTS
Responsible/Verantwortlichkeit: Prof. Dr. Steffen Herbold

Ethics#

Content/Inhalt:
This microcredit discusses different aspects of ethics. The chapter introduces basic notions of ethics and their relation to systems that use machine learning, with a focus on how this is often at odds with organizational objectives. Then, fairness is defined and how this can be estimated for machine learning components, how this can be achieved, and what typical sources of bias are.

Learning Objectives/Qualifikationsziele:
The students know the basic notions of ethics and their relation to systems that use machine learning. They can explain the difference between organizational objectives and ethical objectives. They can define fairness and explain how this can be estimated for machine learning components. They can explain how fairness can be achieved and what typical sources of bias are.

Link to the repositories/Link zum Repository:
Check out aieng-lab/principles-of-ai-engineering.git or

git clone https://github.com/aieng-lab/principles-of-ai-engineering.git

Previous microcredits/Empfohlene Voraussetzung: Principles of AI Engineering - Model deployment and software architecture
Next microcredits/Fortsetzungsempfehlung: None

Extent/Arbeitsumfang: 0.75 ECTS
Responsible/Verantwortlichkeit: Prof. Dr. Steffen Herbold