Engineering Data-DrivenApplications: Mit Struktur zur KI ... · Marc Hesenius -Engineering...

18
Engineering Data-Driven Applications: Mit Struktur zur KI-Anwendung Marc Hesenius

Transcript of Engineering Data-DrivenApplications: Mit Struktur zur KI ... · Marc Hesenius -Engineering...

Engineering Data-Driven Applications: Mit Struktur zur KI-Anwendung

Marc Hesenius

Marc Hesenius - Engineering Data-Driven Applications 2

Künstliche Intelligenz ...

EDDA – Engineering Data-Driven Applications

§ ... ist nicht immer smart!

Marc Hesenius - Engineering Data-Driven Applications 3

Bildquelle Fahrzeug: https://pixabay.com/en/racing-car-ferrari-red-top-view-296772/, CC0 Creative Commons

Künstliche Intelligenz ...

EDDA – Engineering Data-Driven Applications

§ ... ist nicht immer smart!

§ Beispiel: Kreuzungsteuerung§ Autonome Fahrzeuge§ Ziel: Keine Kollisionen

Marc Hesenius - Engineering Data-Driven Applications 4

Bildquelle Fahrzeug: https://pixabay.com/en/racing-car-ferrari-red-top-view-296772/, CC0 Creative Commons

Künstliche Intelligenz ...

EDDA – Engineering Data-Driven Applications

§ ... ist nicht immer smart!

§ Beispiel: Kreuzungsteuerung§ Autonome Fahrzeuge§ Ziel: Keine Kollisionen§ Ergebnis: Fahrzeuge blieben

irgendwann alle stehen

0 km/h

0 km/h

0 km/h

Marc Hesenius - Engineering Data-Driven Applications 5

Bildquelle Fahrzeug: https://pixabay.com/en/racing-car-ferrari-red-top-view-296772/, CC0 Creative Commons

Künstliche Intelligenz ...

EDDA – Engineering Data-Driven Applications

§ ... ist nicht immer smart!

§ Beispiel: Kreuzungsteuerung§ Autonome Fahrzeuge§ Ziel: Keine Kollisionen§ Ergebnis: Fahrzeuge blieben

irgendwann alle stehen§ Hintergrund: Falsche Belohnungs-

funktion

0 km/h

0 km/h

0 km/h

0,75

1

0,56

0,56 0,420,42

Geschwin-digkeit=0

Kollisionen=0

Marc Hesenius - Engineering Data-Driven Applications 6

Bildquelle Fahrzeug: https://pixabay.com/en/racing-car-ferrari-red-top-view-296772/, CC0 Creative Commons

Künstliche Intelligenz ...

EDDA – Engineering Data-Driven Applications

§ ... ist nicht immer smart!

§ Die Entwicklung von KI-Lösungen erfordert § die explizite Betrachtung

fachlicher Aspekte§ zugeschnittene Engineering-

Methoden§ iteratives Vorgehen und konstantes Testen

Marc Hesenius - Engineering Data-Driven Applications 7

§ Die Entwicklung von KI/ML-Anwendungen erfordert neue Werkzeuge und Methoden§ Der Einsatz von KI/ML vereinfacht Probleme

nicht prinzipiell§ Es findet hauptsächlich eine Verschiebung der

geforderten Kenntnisse und Arbeiten statt.§ Weitere (neue) Spezialisten müssen in den

Entwicklungsprozess integriert werden§ Typische Metriken des Software Engineering

werden für KI/ML-Anwendungen relevant§ Wiederverwendbarkeit, Erweiterbarkeit,

Produktivität, ...

Künstliche Intelligenz und Software Engineering

EDDA – Engineering Data-Driven Applications

Is Machine Learning suitable?

Data Exploration

Model Requirements

Model Development

Model Integration Operation

RequirementsEngineering

Specification and Design Implementation System Test Operation

triggers Integrate ML-Component Operate ML-Component

Software Engineering Process

EDDA Process

Mit Struktur zur KI-Anwendung

EDDA – Engineering Data-Driven Applications

Marc Hesenius - Engineering Data-Driven Applications 8

Rollen und Beteiligte

EDDA – Engineering Data-Driven Applications

Marc Hesenius - Engineering Data-Driven Applications 9

Software Engineer

§ Definiert und entwickelt technische Komponenten

§ Hat grundlegende Kenntnisse der Datenanalyse

§ Kennt technischeKomplexität der Daten

Data Domain Expert

§ Kennt sich mit den Datenstrukturen des Unternehmens und der Branche aus

Data Scientist

§ Hat KI-Kenntnisse§ Beherrscht Techniken der

Datenanalyse§ Hat grundlegende

Kenntnisse der Software-Entwicklung

Domain Expert

§ Kennt sich mit den Geschäftsprozessen des Unternehmens und der Branche aus

Marc Hesenius - Engineering Data-Driven Applications 10

§ Prüfung, ob ein Problem mit KI/ML überhaupt gelöst werden kann

§ Verantwortlich: Data Scientist

§ Vorbereitung für spätere Phasen

§ Drei potentielle Ergebnisse:§ Ja§ Nein§ Unbekannt à Data Exploration

Is Data available?

Can ML solve the problem?

Can ML solve the problem?

noyes

ML Data Exploration

yes ??

Can data be acquired?

yes

No ML ML

no

no

no yes

Ist ML passend?

EDDA – Engineering Data-Driven ApplicationsIs Machine Learning

suitable?

Data Exploration

Model Requirements

Model Development

Model Integration Operation

RequirementsEngineering

Specification and Design Implementation System Test Operation

triggers Integrate ML-Component Operate ML-Component

Software Engineering Process

EDDA Process

Marc Hesenius - Engineering Data-Driven Applications 11

§ Verfügbare Daten nach (unbekannten) Verbindungen und potentiellen Lösungen durchsuchen

§ Verantwortlich: Data Scientist

§ Visualisierung von Daten und Zusammenhängen für andere Team-Mitglieder

§ Weekly Data Scrum, um Erkenntnisse zu diskutieren und Daten zu plausibilisieren

§ Data Report, um Wissen über Daten und Zusammenhänge zu dokumentieren

Data Exploration

EDDA – Engineering Data-Driven ApplicationsIs Machine Learning

suitable?

Data Exploration

Model Requirements

Model Development

Model Integration Operation

RequirementsEngineering

Specification and Design Implementation System Test Operation

triggers Integrate ML-Component Operate ML-Component

Software Engineering Process

EDDA Process

Data Exploration

Adjust/reify goals

“Weekly Data Scrum” to make data

relationships plausible

Identify data relationships

Visualize data for DE and DDE

Backlog with goals and success

estimates

Data Report

Marc Hesenius - Engineering Data-Driven Applications 12

§ Anforderungen an die KI/ML-Komponente erfassen und Architektur für eine potentielle Lösung skizzieren

§ Verantwortlich: Software Engineer§ Komponente muss in die Anwendung passen!

§ Vorgehen im Detail und wichtige Fragen abhängig vom Typ der KI/ML-Komponente§ Regression: Können offensichtlich falsche

Vorhersagen zuverlässig erkannt werden?§ Anomaliedetektion: Bedeutung von false

positives/false negatives

Anforderungen an das Modell

EDDA – Engineering Data-Driven ApplicationsIs Machine Learning

suitable?

Data Exploration

Model Requirements

Model Development

Model Integration Operation

RequirementsEngineering

Specification and Design Implementation System Test Operation

triggers Integrate ML-Component Operate ML-Component

Software Engineering Process

EDDA Process

§ Zwei zentrale Artefakte

§ Data Story§ Verknüpft Daten und Use Case§ Enthält weitere Informationen über Daten,

z. B. Datenqualität oder Anforderungen an Genauigkeit

§ Architecture Sketch§ Abhängigkeiten von anderen Komponenten

und Datenquellen§ Eventuell nötige Fallback-Mechanismen§ Integration neuer Daten

Marc Hesenius - Engineering Data-Driven Applications 13

§ Prototyping eines ersten Modells§ Auswahl von Algorithmen§ Definition der notwendigen Daten-Sets§ Feature Engineering§ ...

§ Verantwortlich: Data Scientist§ Entwicklung notwendiger Tests, um Qualität

des Modells sicherzustellen§ Fokus liegt auf mehr auf Definition des

Modells als auf Entwicklung der finalen Komponente

Entwicklung des Modells

EDDA – Engineering Data-Driven ApplicationsIs Machine Learning

suitable?

Data Exploration

Model Requirements

Model Development

Model Integration Operation

RequirementsEngineering

Specification and Design Implementation System Test Operation

triggers Integrate ML-Component Operate ML-Component

Software Engineering Process

EDDA Process

Feature Engineering Prototyping

Evaluate Algorithms

Choose Algorithm

Choose Model Type

Data Partitioning

“Weekly Data SCRUM”Clustering of faulty Test Data

Implem

ent Data Interfaces

Marc Hesenius - Engineering Data-Driven Applications 14

§ Implementierung der finalen Komponente und Integration in die Anwendung

§ Verantwortlich: Software Engineer

§ Wenn nötig: Neuentwicklung prototypischer Komponenten

§ Klassisches Software Engineering

Integration des Modells

EDDA – Engineering Data-Driven ApplicationsIs Machine Learning

suitable?

Data Exploration

Model Requirements

Model Development

Model Integration Operation

RequirementsEngineering

Specification and Design Implementation System Test Operation

triggers Integrate ML-Component Operate ML-Component

Software Engineering Process

EDDA Process

Connect Data Sources

Train Final Model

Evaluate Model (Software Tests)

Integrate Model into Application

Implement Final Model

Implemented Component

Marc Hesenius - Engineering Data-Driven Applications 15

Breck, E., Cai, S., Nielsen, E., Salib, M., Sculley, D., 2017. The ML test score: A rubric for ML production readiness and technical debt reduction, in: 2017 IEEE International Conference on Big Data (Big Data). Presented at the 2017 IEEE International Conference on Big Data (Big Data), IEEE, Boston, MA, pp. 1123–1132. https://doi.org/10.1109/BigData.2017.8258038

Integration des Modells

EDDA – Engineering Data-Driven ApplicationsIs Machine Learning

suitable?

Data Exploration

Model Requirements

Model Development

Model Integration Operation

RequirementsEngineering

Specification and Design Implementation System Test Operation

triggers Integrate ML-Component Operate ML-Component

Software Engineering Process

EDDA Process

Marc Hesenius - Engineering Data-Driven Applications 16

§ Verhalten bei Sammlung weiterer Daten kontrollieren§ Verhält sich das Model wie gewünscht?§ Sind Entscheidungen/Vorhersagen/

Ergebnisse nachvollziehbar?

§ Prüfen, ob das Model noch in der angedachten Umgebung einsetzt wird§ Ist das Verhalten in neuer Umgebung

erwünscht?

Betrieb

EDDA – Engineering Data-Driven ApplicationsIs Machine Learning

suitable?

Data Exploration

Model Requirements

Model Development

Model Integration Operation

RequirementsEngineering

Specification and Design Implementation System Test Operation

triggers Integrate ML-Component Operate ML-Component

Software Engineering Process

EDDA Process

Marc Hesenius - Engineering Data-Driven Applications 17

§ Entwicklung von KI/ML-Anwendungen benötigen spezifische Methoden und Werkzeuge

§ EDDA ist ein Ansatz, der die grundlegenden Tätigkeiten strukturiertà Spezialisierungen sind je nach Art der Anwendung notwendig

§ Potential für den Einsatz von KI/ML im eigenen Unternehmen? Sprechen Sie mich an!

Fazit

EDDA – Engineering Data-Driven Applications

ML Tasks

Classification/Regression

AnomalyDetection Recommender

ClusteringReinforcement Learning

Marc Hesenius - Engineering Data-Driven Applications 18

Fragen und Diskussion

EDDA – Engineering Data-Driven Applications

Dr. Marc HeseniusUniversität [email protected]@mhesenius