SlideShare a Scribd company logo
1 of 39
Software Engineering Challenges in
building AI-based complex systems
NTNU
Seminar: Software Engineering, AI, Ethics
2019-03-15
Ivica Crnkovic, ivica.crnkovic@chalmers.se
Ivica Crnkovic
Chalmers University of Technology | Gothenburg University
Professor in Software Engineering
Director of ICT Area of Advance@Chalmers
Director of Chalmers AI Research Centre (CHAIR)
(Mats Nordlund ©)
Chalmers AI Research Centre (CHAIR)
Ethics
Sustainability
Equality
Innovation
3
COLLABORATION PROJECTS
- with industrial partners
CHALMERS PROJECTS
Advancing CHAIR activities
A new initiative from Chalmers 370 MSEK 2019-2028
2019-03-18 Chalmers University of Technology
3
AI FOUNDATION
AI Theories and Algorithms
AI ENABLERS
AI-based Systems and Software
APPLIED AI
Transport Automation and IoT Life science and Health E.
Software Engineering forAI
Ethics
Sustainability
Equality
Innovation
4
COLLABORATION PROJECTS
- with partners
CHALMERS PROJECTS
Advancing CHAIR activities
2019-03-18 Chalmers University of Technology
4
AI FOUNDATION
AI ENABLERS
APPLIED AI
Software
Engineering
for AI
Systems are getting AI - Example: autonomous driving architecture
(Mats Nordlund ©)
Challenge:AI complexity iceberg
AI
Machine Learning
Data Science
Statistics, analysis, visualisation
System Characteristics
Performance, Real-time
System constraints
Storage capacity, memory, computation
Data engineering
Storage, finding, processing
accuracy, availability
Computational Science
Algorithms, simulation
System Requirements
Reliability, Security, Safety
Software Engineering
AI-based development, lifecycle, variations
trustworthiness, ethical values
Data Value
Domain knowledge
3/18/2019 Chalmers 7
• Trend – Overall use of AI in software applications and Software-intensive systems
• Many promising results on the functional/feature level
• Enormous expectations to build system that use AI in obtaining features
• New questions – of non technical character appear
• Which real problems can be solved using data-driven and AI-based approaches?
• How to interpret data?
• Who is owner of data?
• What are the ethical aspects of using data, and allowing machine to decide?
• New questions of technical nature
• How to efficiently collect, store, process, analyse, and present data?
• How to efficiently build the AI-based systems?
• How to ensure dependability/trustworthy of such systems?
• WHAT KIND OF SOFTWARE ENGINEERING SUPPORT IS NEEDED?
Expectations – overall use of AI
3/18/2019 Chalmers 8
Presentation based on
1 (literature)
• Machine Learning: The High-Interest Credit Card of Technical Debt, D. Sculley, G. Holt, D.
Golovin, E. Davydov, T. Phillips, D. Ebner, V. Chaudhary, M. Young
• Software Engineering Challenges of Deep Learning, Euromicro SEAA 2018, A. Arpteg, B.
Brinne, l. Crnkovic-Friis, J. Bosch
2 (empirical research at Swedish companies)
• A taxonomy of software engineering challenges for machine learning systems: An
empirical investigation, XP2019, L. Lwakatare, A. Raj, J. Bosch, H. Holmström, I.Crnkovic
• Ongoing work in “Holistic DevOps Approach” project
Software Engineering Challenges in development of AI-
based systems
3/18/2019
Chalmers 9
System architecture of non-AI systems (example )
Platform
Middleware
Subsystem A
HW
Subsystem B Subsystem C
C1
C2
C3
C4
C3
Subsystem and components
Component-based and service-based approach
- Components
- Encapsulation of data
- Encapsulation of functionality
- Dependency between components defined and controlled
3/18/2019
Chalmers 10
AI-System - system architecture (example)
Platform
Middleware
Subsystem A
HW
Subsystem B Subsystem C
C1
C2
C3
C4
C3
Subsystem and components
Components – black boxes
- Components
- Encapsulation of AI-based functionality
- Dependency between components defined and controlled
- What about data?
3/18/2019 11
AI- based components
C1
Data – used for ML
controlled
Controlled?
• The results depend not only
on the algorithms and controlled data
but also on uncontrolled/unknown data
• The AI-based functions are not continuous:
small change of data can cause big changes
2019-03-18 Chalmers University of Technology 12
Data-related challenges
1. Entanglement (Data fusion)
2. Data dependencies
• Unstable data dependencies
• Underutilized Data Dependencies
3. Hidden Feedback Loops
4. Undeclared Consumers
5. Correction Cascades
3/18/2019 Chalmers 13
• M= {f1, f2, …, fn} - system – a set of features f1…fn in an AI model
Data-related challenges: 1. Entanglement (Data fusion)
The first version of AI system is easy to obtain, but making subsequent
improvements is unexpectedly difficult.
3/18/2019 Chalmers 14
• M= {f1, f2, …, fn} - system – a set of features f1…fn in an AI model
• Changing input data for fx, requires changes in values of fi –
weights, importance, to get optimal result
• Adding a new feature may require the same change that can cause
unpredictable changes in the model
Data-related challenges: 1. Entanglement (Data fusion)
CACE principle: Changing Anything Changes Everything
3/18/2019 Chalmers 15
• Code dependency – known as a technical debt (built-in problems)
• Data dependencies – more complex
Data-related challenges – 2. Data dependencies
DATA
DATA
DATA
AI-component
AI-component
3/18/2019 Chalmers 16
• Unstable data dependencies
• Some data change over time (value, accuracy, precision)
• A common mitigation strategy
• Introduce versions of data sets
• Implication
• Version and configuration management challenges
• Not only version and configuration management of functions (code) but
also data
• how to manage data dependency? No developed tools
• Static analysis of systems with data dependencies - no tools
Data-related challenges – 2. Data dependencies
DATA
DATA
DATA
AI-component
AI-component
3/18/2019 Chalmers 19
• The system can optimise for the feedback
Data-related challenges – 3. Hidden Feedback Loops
DATA
DATA
AI-component
3/18/2019 Chalmers 20
• Changes of data can have unexpected consequences
Data-related challenges – 4. Undeclared Consumers
DATA
DATA
AI-component
C1
AI-component
C2
Problem if C1 changes
and Change data
DATA
3/18/2019 Chalmers 21
• Model m for problem P
• Model m’ for problem P’ (P´- P = DP)
• Often used solution
• m’(P’) = m(P) + Dm - by changes of data used for P break the relation
between m’ and m
Data-related challenges: 5. Correction Cascades
DATA
DATA
AI-component
AI-component
DATA
DATA
AI-component
AI-component
Dependency of data should be controlled
3/18/2019 Chalmers 22
• Heterogeneity of data (different formats, accuracy, semantics) and use of
standard ML functions require a lot Glue code
• 95% of code in AI-based systems is a glue-code (empirical data)
• Requires
• Frequent refactoring of code
• Re-implementing AI models
• Pipeline Jungles
• ML-friendly format data become a jungle of scrapes, joins, and sampling steps,
intermediate files
• Requires – a close team work of data and domain engineers
System-design anti-patterns (1)
3/18/2019 Chalmers 23
Dead Experimental Code paths
• AI solution requires a lot of experimentation
• A lot of code that will not be used later
• Problems
• Dead code
• Version management – how to preserve useful configuration
branches, and remove unnecessary
System-design anti-patterns (2)
3/18/2019 Chalmers 24
Managing Changes in the External World
System
Cloud Data
Local Data
Local Data
Local Data
Historical data
Used in ML
Continuous change of data
Challenge:
models and system behaviour
dependent of data
Examples:
- Threshold changes
- Correlation between data
Requirements: Continuous monitoring of data and system. Continuous test.
3/18/2019 Chalmers 25
Life cycle challenges
ML Code
3/18/2019 Chalmers 26
The efforts in development cycle
Amount of effort Amount of attention
2019-03-18 Chalmers University of Technology 27
Software Engineering Challenges to develop AI-base
systems
• empirical studies at Swedish industry
Requirements driven
development
- Regulatory features
- Competitor parity features
- Commodity features
Outcome/data driven
development
- Value hypothesis
- New ”flow” features
- Innovation
AI driven development
- Minimize prediction errors
- Many points in data set
- Combinatorial explosion of
alternatives
continuous
deployment
behavior
data
System in operation
AI component
SW component
continuous deployment
behavior data
Holistic DevOps Framework
Holistic DevOps Framework
Investigate the
state of art and
of practice
2019-03-18 Chalmers University of Technology 29
Study 1: Overview of studied industrial DL systems
A. Project EST: Real Estate Valuation
B. Project OIL: Predicting Oil and Gas Recovery Potential
C. Project RET: Predicting User Retention
D. Project WEA: Weather Forecasting
E. Project CCF: Credit Card Fraud Detection
F. Project BOT: Poker Bot Identification
G. Project REC: Media Recommendations
2019-03-18 Chalmers University of Technology 30
Study 1: Challenges
1. Development challenges
2. Production challenges
3. Organizational & project challenges
3/18/2019 Chalmers 31
• Experiment Management: how to keep track of all the contextual factors when running
many experiments
• Hardware, Platform, Source code, Configuration, Data sources, Training state
• Difficult to predict behaviour of ML
• Limited Transparency: neural networks give little insight into how and why they work
• Troubleshooting and Testing: large libraries, lazy execution and lack of
tooling complicate solving defects enormously.
• Glue Code and Supporting Systems
• Resource Limitations
• Memory, CPU power, Storage
Study 1: Development challenges
3/18/2019 Chalmers 32
• Dependency Management.
• Requirements on powerful computational resources that are
continuously changing
• Monitoring and Logging
• Unintended Feedback Loops
• Safety, security, and privacy
Study 1: Production challenges
3/18/2019 Chalmers 33
• Effort Estimation
• Difficult to know when the models will be sufficiently good
• Cultural Differences
• Software developers, data scientists
• Development process
• Continuous changes
• Issues with the compatibilities in changes
Study 1: Organizational & project challenges
2019-03-18 Chalmers University of Technology 34
Study 1: Engineering challenges of DL
■Dependency Management
■Glue code and supporting systems
■Unintentional feedback loops
■Monitoring and logging
●Troubleshooting
●Testing ●Limited transparency
●Experimental management
■ Organisational challenges
● Development challenges
◆ Development challenges
◆Effort estimation
◆Cultural differences
Hard to solve
Easier to solveLower business impact High business impact
●Resource Limitations
◆Privacy and Safety/security
2019-03-18 Chalmers University of Technology 35
Study 2: Overview of studied industrial ML systems
System Use case of ML components
Software for automated
driving
Interpreting sensor data to understand the contained information at a high level
AI web platform Predicting quality of end product based on different measurements from machines, IoT devices
Automating tagging of sentiments in online music library
Annotation web platform Collaborative annotation of training data and predicting quality of annotations
Mobile network operations Predicting failures at site to give insights into mobile network operations e.g., predicting
degradation of key performance indicators (latency, throughput) and predicting site’s sustenance
to power outage
Sales engagement web
platform
Automating information extraction from out-of-office reply to optimize communication between
sales reps and prospects
Experimentation web
platform
Models of ML components of e.g., web search engine, are compared using important metrics
through A/B tests
2019-03-18 Chalmers University of Technology 36
Study 2: A taxonomy of evolution of use of ML in industry
Experimentation
and prototyping
Non-critical
deployment
Critical
deployment
Cascading
deployment
Autonomous
ML
components
2019-03-18 Chalmers University of Technology 37
Study 2: Challenges summary
Difficulty in ML/DL pipeline implementation e.g., toolchain for scheduling training jobs, diagnosis and monitoring of ML models
Difficulty in debugging models and subsequently testing DL systems e.g., due to unexplainable/limited transparency of NN
Unestablished KPIs for monitoring the quality of deployed models
Partial trust in the results of ML/DL systems e.g., unreliable results make it unsuitable/require other techniques for regulated products
Extreme overconfidence in technology and Limited number of persons with overlap skills between SE and ML
Difficulty in eliciting ML/DL use case and desired outcome (s)
Inability to take at start end-to-end ML/DL use case due to large scale and complex environment
Difficulty in getting access to training data due to e.g., regulation, ownership by client or other teams.
Limited approaches for selecting and cleaning training data from large data collection e.g., to annotate in automotive
Limited approaches for validating training data e.g., measures for accuracy and consistency of annotations, identifying missing values
Data
Devel.
Trust
2019-03-18 Chalmers University of Technology 38
Study 2: Challenges mapped to the taxonomy
A taxonomy of software engineering challenges for machine learning systems: An empirical investigation, XP2019, Lucy Ellen Lwakatare, Aiswarya Raj, Jan Bosch, Helena Holmström Olsson and Ivica Crnkovic
3/18/2019 Chalmers 39
• New lifecycle and development approach
• New technologies, new communities
• Gaps between prototypes and full lifecycle support
Example of question:
• How to manage continuous deployment in trustworthy and efficient way?
• How easily can an entirely new algorithmic approach be tested at full scale?
• How precisely can the impact of a new change to the system be measured?
• Does improving one model or signal degrade others?
• How quickly can new members of the team be brought up to speed?
A lot of new challenges in (software) development
Conclusion
3/18/2019 Chalmers 40
Software Engineering Challenges in building AI-based complex systems

More Related Content

What's hot

Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement SpecificationVishal Singh
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
SaaS Architecture.pdf
SaaS Architecture.pdfSaaS Architecture.pdf
SaaS Architecture.pdfSimform
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecturetyrantbrian
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesGanesh Samarthyam
 
User Requirements, Functional and Non-Functional Requirements
User Requirements, Functional and Non-Functional RequirementsUser Requirements, Functional and Non-Functional Requirements
User Requirements, Functional and Non-Functional RequirementsMark Opanasiuk
 
Review of object orientation
Review of object orientationReview of object orientation
Review of object orientationGurbakash Phonsa
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and viewsDr Reeja S R
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
software-architecture-patterns
software-architecture-patternssoftware-architecture-patterns
software-architecture-patternsPallav Kumar
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architectureLilia Sfaxi
 

What's hot (20)

Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Solution Architecture
Solution ArchitectureSolution Architecture
Solution Architecture
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
SaaS Architecture.pdf
SaaS Architecture.pdfSaaS Architecture.pdf
SaaS Architecture.pdf
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Software Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and PracticesSoftware Architecture: Principles, Patterns and Practices
Software Architecture: Principles, Patterns and Practices
 
User Requirements, Functional and Non-Functional Requirements
User Requirements, Functional and Non-Functional RequirementsUser Requirements, Functional and Non-Functional Requirements
User Requirements, Functional and Non-Functional Requirements
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Review of object orientation
Review of object orientationReview of object orientation
Review of object orientation
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
Unit 2
Unit 2Unit 2
Unit 2
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Chapter1
Chapter1Chapter1
Chapter1
 
Sdlc
SdlcSdlc
Sdlc
 
software-architecture-patterns
software-architecture-patternssoftware-architecture-patterns
software-architecture-patterns
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architecture
 

Similar to Software Engineering Challenges in building AI-based complex systems

2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challanges2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challangesIvica Crnkovic
 
Ai engineering icsoc -2019-10-30
Ai engineering icsoc -2019-10-30Ai engineering icsoc -2019-10-30
Ai engineering icsoc -2019-10-30Ivica Crnkovic
 
AI challanges - Cse day-2018.04.12
AI challanges - Cse day-2018.04.12AI challanges - Cse day-2018.04.12
AI challanges - Cse day-2018.04.12Ivica Crnkovic
 
Data Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data ScienceData Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data SciencePouria Amirian
 
Data Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data ScienceData Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data SciencePouria Amirian
 
AI4SE: Challenges and opportunities in the integration of Systems Engineering...
AI4SE: Challenges and opportunities in the integration of Systems Engineering...AI4SE: Challenges and opportunities in the integration of Systems Engineering...
AI4SE: Challenges and opportunities in the integration of Systems Engineering...CARLOS III UNIVERSITY OF MADRID
 
Challenges in the integration of Systems Engineering and the AI/ML model life...
Challenges in the integration of Systems Engineering and the AI/ML model life...Challenges in the integration of Systems Engineering and the AI/ML model life...
Challenges in the integration of Systems Engineering and the AI/ML model life...CARLOS III UNIVERSITY OF MADRID
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsAxel Reichwein
 
DutchMLSchool. ML for Energy Trading and Automotive Sector
DutchMLSchool. ML for Energy Trading and Automotive SectorDutchMLSchool. ML for Energy Trading and Automotive Sector
DutchMLSchool. ML for Energy Trading and Automotive SectorBigML, Inc
 
Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...Obeo
 
Practical machine learning
Practical machine learningPractical machine learning
Practical machine learningFaizan Javed
 
Project FMEA for Recognizing Difficulties in Machine Learning Application Sys...
Project FMEA for Recognizing Difficulties in Machine Learning Application Sys...Project FMEA for Recognizing Difficulties in Machine Learning Application Sys...
Project FMEA for Recognizing Difficulties in Machine Learning Application Sys...Naoshi Uchihira
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Lionel Briand
 
Sailing the V: Engineering digitalization through task automation and reuse i...
Sailing the V: Engineering digitalization through task automation and reuse i...Sailing the V: Engineering digitalization through task automation and reuse i...
Sailing the V: Engineering digitalization through task automation and reuse i...CARLOS III UNIVERSITY OF MADRID
 
CK: from ad hoc computer engineering to collaborative and reproducible data s...
CK: from ad hoc computer engineering to collaborative and reproducible data s...CK: from ad hoc computer engineering to collaborative and reproducible data s...
CK: from ad hoc computer engineering to collaborative and reproducible data s...Grigori Fursin
 
Test-Driven Machine Learning
Test-Driven Machine LearningTest-Driven Machine Learning
Test-Driven Machine LearningC4Media
 
AI for Software Engineering
AI for Software EngineeringAI for Software Engineering
AI for Software EngineeringMiroslaw Staron
 

Similar to Software Engineering Challenges in building AI-based complex systems (20)

2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challanges2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challanges
 
Ai engineering icsoc -2019-10-30
Ai engineering icsoc -2019-10-30Ai engineering icsoc -2019-10-30
Ai engineering icsoc -2019-10-30
 
AI challanges - Cse day-2018.04.12
AI challanges - Cse day-2018.04.12AI challanges - Cse day-2018.04.12
AI challanges - Cse day-2018.04.12
 
INCOSE IS 2019: AI and Systems Engineering
INCOSE IS 2019: AI and Systems EngineeringINCOSE IS 2019: AI and Systems Engineering
INCOSE IS 2019: AI and Systems Engineering
 
Data Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data ScienceData Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data Science
 
Data Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data ScienceData Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data Science
 
AI4SE: Challenges and opportunities in the integration of Systems Engineering...
AI4SE: Challenges and opportunities in the integration of Systems Engineering...AI4SE: Challenges and opportunities in the integration of Systems Engineering...
AI4SE: Challenges and opportunities in the integration of Systems Engineering...
 
Challenges in the integration of Systems Engineering and the AI/ML model life...
Challenges in the integration of Systems Engineering and the AI/ML model life...Challenges in the integration of Systems Engineering and the AI/ML model life...
Challenges in the integration of Systems Engineering and the AI/ML model life...
 
Deep learning in manufacturing predicting and preventing manufacturing defect...
Deep learning in manufacturing predicting and preventing manufacturing defect...Deep learning in manufacturing predicting and preventing manufacturing defect...
Deep learning in manufacturing predicting and preventing manufacturing defect...
 
SESE 2021: Where Systems Engineering meets AI/ML
SESE 2021: Where Systems Engineering meets AI/MLSESE 2021: Where Systems Engineering meets AI/ML
SESE 2021: Where Systems Engineering meets AI/ML
 
Enabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standardsEnabling the digital thread using open OSLC standards
Enabling the digital thread using open OSLC standards
 
DutchMLSchool. ML for Energy Trading and Automotive Sector
DutchMLSchool. ML for Energy Trading and Automotive SectorDutchMLSchool. ML for Energy Trading and Automotive Sector
DutchMLSchool. ML for Energy Trading and Automotive Sector
 
Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...
 
Practical machine learning
Practical machine learningPractical machine learning
Practical machine learning
 
Project FMEA for Recognizing Difficulties in Machine Learning Application Sys...
Project FMEA for Recognizing Difficulties in Machine Learning Application Sys...Project FMEA for Recognizing Difficulties in Machine Learning Application Sys...
Project FMEA for Recognizing Difficulties in Machine Learning Application Sys...
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.
 
Sailing the V: Engineering digitalization through task automation and reuse i...
Sailing the V: Engineering digitalization through task automation and reuse i...Sailing the V: Engineering digitalization through task automation and reuse i...
Sailing the V: Engineering digitalization through task automation and reuse i...
 
CK: from ad hoc computer engineering to collaborative and reproducible data s...
CK: from ad hoc computer engineering to collaborative and reproducible data s...CK: from ad hoc computer engineering to collaborative and reproducible data s...
CK: from ad hoc computer engineering to collaborative and reproducible data s...
 
Test-Driven Machine Learning
Test-Driven Machine LearningTest-Driven Machine Learning
Test-Driven Machine Learning
 
AI for Software Engineering
AI for Software EngineeringAI for Software Engineering
AI for Software Engineering
 

More from Ivica Crnkovic

ICSE 2018 opening session
ICSE 2018 opening sessionICSE 2018 opening session
ICSE 2018 opening sessionIvica Crnkovic
 
Beyond digitalisation 2016-06-07
Beyond digitalisation  2016-06-07Beyond digitalisation  2016-06-07
Beyond digitalisation 2016-06-07Ivica Crnkovic
 
ICSE2018 presentation 2016-05-20
ICSE2018 presentation 2016-05-20ICSE2018 presentation 2016-05-20
ICSE2018 presentation 2016-05-20Ivica Crnkovic
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Ivica Crnkovic
 
European Conference on Software Architecture - ECSA 2015 Announcement
European Conference on Software Architecture - ECSA 2015 AnnouncementEuropean Conference on Software Architecture - ECSA 2015 Announcement
European Conference on Software Architecture - ECSA 2015 AnnouncementIvica Crnkovic
 
Rapid Continuous Software Engineering - Meeting the challenges of modern sof...
Rapid Continuous Software Engineering - Meeting the challenges of modern sof...Rapid Continuous Software Engineering - Meeting the challenges of modern sof...
Rapid Continuous Software Engineering - Meeting the challenges of modern sof...Ivica Crnkovic
 
Software Assurance: What Should We Do next? - Software Design for Reliability
Software Assurance: What Should We Do next?  - Software Design for ReliabilitySoftware Assurance: What Should We Do next?  - Software Design for Reliability
Software Assurance: What Should We Do next? - Software Design for ReliabilityIvica Crnkovic
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component modelsIvica Crnkovic
 
Teaching in multicultural classromre
Teaching in multicultural  classromreTeaching in multicultural  classromre
Teaching in multicultural classromreIvica Crnkovic
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseIvica Crnkovic
 
Resilient systems - predicatbility ane evolution
Resilient systems - predicatbility ane evolutionResilient systems - predicatbility ane evolution
Resilient systems - predicatbility ane evolutionIvica Crnkovic
 
Empirical se 2013-01-17
Empirical se 2013-01-17Empirical se 2013-01-17
Empirical se 2013-01-17Ivica Crnkovic
 
Crnkovic cbse-impact.pptx
Crnkovic cbse-impact.pptxCrnkovic cbse-impact.pptx
Crnkovic cbse-impact.pptxIvica Crnkovic
 
Ten Tips to Succeed in Global Software Engineering Education
Ten Tips to Succeed in Global Software Engineering EducationTen Tips to Succeed in Global Software Engineering Education
Ten Tips to Succeed in Global Software Engineering EducationIvica Crnkovic
 

More from Ivica Crnkovic (16)

ICSE 2018 opening session
ICSE 2018 opening sessionICSE 2018 opening session
ICSE 2018 opening session
 
Beyond digitalisation 2016-06-07
Beyond digitalisation  2016-06-07Beyond digitalisation  2016-06-07
Beyond digitalisation 2016-06-07
 
ICSE2018 presentation 2016-05-20
ICSE2018 presentation 2016-05-20ICSE2018 presentation 2016-05-20
ICSE2018 presentation 2016-05-20
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
 
European Conference on Software Architecture - ECSA 2015 Announcement
European Conference on Software Architecture - ECSA 2015 AnnouncementEuropean Conference on Software Architecture - ECSA 2015 Announcement
European Conference on Software Architecture - ECSA 2015 Announcement
 
Rapid Continuous Software Engineering - Meeting the challenges of modern sof...
Rapid Continuous Software Engineering - Meeting the challenges of modern sof...Rapid Continuous Software Engineering - Meeting the challenges of modern sof...
Rapid Continuous Software Engineering - Meeting the challenges of modern sof...
 
Software Assurance: What Should We Do next? - Software Design for Reliability
Software Assurance: What Should We Do next?  - Software Design for ReliabilitySoftware Assurance: What Should We Do next?  - Software Design for Reliability
Software Assurance: What Should We Do next? - Software Design for Reliability
 
Sa past-future
Sa past-futureSa past-future
Sa past-future
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
 
Teaching in multicultural classromre
Teaching in multicultural  classromreTeaching in multicultural  classromre
Teaching in multicultural classromre
 
The challenges and opportunities in open source reuse
The challenges and opportunities in open source reuseThe challenges and opportunities in open source reuse
The challenges and opportunities in open source reuse
 
Resilient systems - predicatbility ane evolution
Resilient systems - predicatbility ane evolutionResilient systems - predicatbility ane evolution
Resilient systems - predicatbility ane evolution
 
Empirical se 2013-01-17
Empirical se 2013-01-17Empirical se 2013-01-17
Empirical se 2013-01-17
 
SPL in Clouds
SPL in CloudsSPL in Clouds
SPL in Clouds
 
Crnkovic cbse-impact.pptx
Crnkovic cbse-impact.pptxCrnkovic cbse-impact.pptx
Crnkovic cbse-impact.pptx
 
Ten Tips to Succeed in Global Software Engineering Education
Ten Tips to Succeed in Global Software Engineering EducationTen Tips to Succeed in Global Software Engineering Education
Ten Tips to Succeed in Global Software Engineering Education
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

Software Engineering Challenges in building AI-based complex systems

  • 1. Software Engineering Challenges in building AI-based complex systems NTNU Seminar: Software Engineering, AI, Ethics 2019-03-15 Ivica Crnkovic, ivica.crnkovic@chalmers.se
  • 2. Ivica Crnkovic Chalmers University of Technology | Gothenburg University Professor in Software Engineering Director of ICT Area of Advance@Chalmers Director of Chalmers AI Research Centre (CHAIR) (Mats Nordlund ©)
  • 3. Chalmers AI Research Centre (CHAIR) Ethics Sustainability Equality Innovation 3 COLLABORATION PROJECTS - with industrial partners CHALMERS PROJECTS Advancing CHAIR activities A new initiative from Chalmers 370 MSEK 2019-2028 2019-03-18 Chalmers University of Technology 3 AI FOUNDATION AI Theories and Algorithms AI ENABLERS AI-based Systems and Software APPLIED AI Transport Automation and IoT Life science and Health E.
  • 4. Software Engineering forAI Ethics Sustainability Equality Innovation 4 COLLABORATION PROJECTS - with partners CHALMERS PROJECTS Advancing CHAIR activities 2019-03-18 Chalmers University of Technology 4 AI FOUNDATION AI ENABLERS APPLIED AI Software Engineering for AI
  • 5. Systems are getting AI - Example: autonomous driving architecture (Mats Nordlund ©)
  • 6. Challenge:AI complexity iceberg AI Machine Learning Data Science Statistics, analysis, visualisation System Characteristics Performance, Real-time System constraints Storage capacity, memory, computation Data engineering Storage, finding, processing accuracy, availability Computational Science Algorithms, simulation System Requirements Reliability, Security, Safety Software Engineering AI-based development, lifecycle, variations trustworthiness, ethical values Data Value Domain knowledge
  • 7. 3/18/2019 Chalmers 7 • Trend – Overall use of AI in software applications and Software-intensive systems • Many promising results on the functional/feature level • Enormous expectations to build system that use AI in obtaining features • New questions – of non technical character appear • Which real problems can be solved using data-driven and AI-based approaches? • How to interpret data? • Who is owner of data? • What are the ethical aspects of using data, and allowing machine to decide? • New questions of technical nature • How to efficiently collect, store, process, analyse, and present data? • How to efficiently build the AI-based systems? • How to ensure dependability/trustworthy of such systems? • WHAT KIND OF SOFTWARE ENGINEERING SUPPORT IS NEEDED? Expectations – overall use of AI
  • 8. 3/18/2019 Chalmers 8 Presentation based on 1 (literature) • Machine Learning: The High-Interest Credit Card of Technical Debt, D. Sculley, G. Holt, D. Golovin, E. Davydov, T. Phillips, D. Ebner, V. Chaudhary, M. Young • Software Engineering Challenges of Deep Learning, Euromicro SEAA 2018, A. Arpteg, B. Brinne, l. Crnkovic-Friis, J. Bosch 2 (empirical research at Swedish companies) • A taxonomy of software engineering challenges for machine learning systems: An empirical investigation, XP2019, L. Lwakatare, A. Raj, J. Bosch, H. Holmström, I.Crnkovic • Ongoing work in “Holistic DevOps Approach” project Software Engineering Challenges in development of AI- based systems
  • 9. 3/18/2019 Chalmers 9 System architecture of non-AI systems (example ) Platform Middleware Subsystem A HW Subsystem B Subsystem C C1 C2 C3 C4 C3 Subsystem and components Component-based and service-based approach - Components - Encapsulation of data - Encapsulation of functionality - Dependency between components defined and controlled
  • 10. 3/18/2019 Chalmers 10 AI-System - system architecture (example) Platform Middleware Subsystem A HW Subsystem B Subsystem C C1 C2 C3 C4 C3 Subsystem and components Components – black boxes - Components - Encapsulation of AI-based functionality - Dependency between components defined and controlled - What about data?
  • 11. 3/18/2019 11 AI- based components C1 Data – used for ML controlled Controlled? • The results depend not only on the algorithms and controlled data but also on uncontrolled/unknown data • The AI-based functions are not continuous: small change of data can cause big changes
  • 12. 2019-03-18 Chalmers University of Technology 12 Data-related challenges 1. Entanglement (Data fusion) 2. Data dependencies • Unstable data dependencies • Underutilized Data Dependencies 3. Hidden Feedback Loops 4. Undeclared Consumers 5. Correction Cascades
  • 13. 3/18/2019 Chalmers 13 • M= {f1, f2, …, fn} - system – a set of features f1…fn in an AI model Data-related challenges: 1. Entanglement (Data fusion)
  • 14. The first version of AI system is easy to obtain, but making subsequent improvements is unexpectedly difficult. 3/18/2019 Chalmers 14 • M= {f1, f2, …, fn} - system – a set of features f1…fn in an AI model • Changing input data for fx, requires changes in values of fi – weights, importance, to get optimal result • Adding a new feature may require the same change that can cause unpredictable changes in the model Data-related challenges: 1. Entanglement (Data fusion) CACE principle: Changing Anything Changes Everything
  • 15. 3/18/2019 Chalmers 15 • Code dependency – known as a technical debt (built-in problems) • Data dependencies – more complex Data-related challenges – 2. Data dependencies DATA DATA DATA AI-component AI-component
  • 16. 3/18/2019 Chalmers 16 • Unstable data dependencies • Some data change over time (value, accuracy, precision) • A common mitigation strategy • Introduce versions of data sets • Implication • Version and configuration management challenges • Not only version and configuration management of functions (code) but also data • how to manage data dependency? No developed tools • Static analysis of systems with data dependencies - no tools Data-related challenges – 2. Data dependencies DATA DATA DATA AI-component AI-component
  • 17. 3/18/2019 Chalmers 19 • The system can optimise for the feedback Data-related challenges – 3. Hidden Feedback Loops DATA DATA AI-component
  • 18. 3/18/2019 Chalmers 20 • Changes of data can have unexpected consequences Data-related challenges – 4. Undeclared Consumers DATA DATA AI-component C1 AI-component C2 Problem if C1 changes and Change data DATA
  • 19. 3/18/2019 Chalmers 21 • Model m for problem P • Model m’ for problem P’ (P´- P = DP) • Often used solution • m’(P’) = m(P) + Dm - by changes of data used for P break the relation between m’ and m Data-related challenges: 5. Correction Cascades DATA DATA AI-component AI-component DATA DATA AI-component AI-component Dependency of data should be controlled
  • 20. 3/18/2019 Chalmers 22 • Heterogeneity of data (different formats, accuracy, semantics) and use of standard ML functions require a lot Glue code • 95% of code in AI-based systems is a glue-code (empirical data) • Requires • Frequent refactoring of code • Re-implementing AI models • Pipeline Jungles • ML-friendly format data become a jungle of scrapes, joins, and sampling steps, intermediate files • Requires – a close team work of data and domain engineers System-design anti-patterns (1)
  • 21. 3/18/2019 Chalmers 23 Dead Experimental Code paths • AI solution requires a lot of experimentation • A lot of code that will not be used later • Problems • Dead code • Version management – how to preserve useful configuration branches, and remove unnecessary System-design anti-patterns (2)
  • 22. 3/18/2019 Chalmers 24 Managing Changes in the External World System Cloud Data Local Data Local Data Local Data Historical data Used in ML Continuous change of data Challenge: models and system behaviour dependent of data Examples: - Threshold changes - Correlation between data Requirements: Continuous monitoring of data and system. Continuous test.
  • 23. 3/18/2019 Chalmers 25 Life cycle challenges ML Code
  • 24. 3/18/2019 Chalmers 26 The efforts in development cycle Amount of effort Amount of attention
  • 25. 2019-03-18 Chalmers University of Technology 27 Software Engineering Challenges to develop AI-base systems • empirical studies at Swedish industry
  • 26. Requirements driven development - Regulatory features - Competitor parity features - Commodity features Outcome/data driven development - Value hypothesis - New ”flow” features - Innovation AI driven development - Minimize prediction errors - Many points in data set - Combinatorial explosion of alternatives continuous deployment behavior data System in operation AI component SW component continuous deployment behavior data Holistic DevOps Framework Holistic DevOps Framework Investigate the state of art and of practice
  • 27. 2019-03-18 Chalmers University of Technology 29 Study 1: Overview of studied industrial DL systems A. Project EST: Real Estate Valuation B. Project OIL: Predicting Oil and Gas Recovery Potential C. Project RET: Predicting User Retention D. Project WEA: Weather Forecasting E. Project CCF: Credit Card Fraud Detection F. Project BOT: Poker Bot Identification G. Project REC: Media Recommendations
  • 28. 2019-03-18 Chalmers University of Technology 30 Study 1: Challenges 1. Development challenges 2. Production challenges 3. Organizational & project challenges
  • 29. 3/18/2019 Chalmers 31 • Experiment Management: how to keep track of all the contextual factors when running many experiments • Hardware, Platform, Source code, Configuration, Data sources, Training state • Difficult to predict behaviour of ML • Limited Transparency: neural networks give little insight into how and why they work • Troubleshooting and Testing: large libraries, lazy execution and lack of tooling complicate solving defects enormously. • Glue Code and Supporting Systems • Resource Limitations • Memory, CPU power, Storage Study 1: Development challenges
  • 30. 3/18/2019 Chalmers 32 • Dependency Management. • Requirements on powerful computational resources that are continuously changing • Monitoring and Logging • Unintended Feedback Loops • Safety, security, and privacy Study 1: Production challenges
  • 31. 3/18/2019 Chalmers 33 • Effort Estimation • Difficult to know when the models will be sufficiently good • Cultural Differences • Software developers, data scientists • Development process • Continuous changes • Issues with the compatibilities in changes Study 1: Organizational & project challenges
  • 32. 2019-03-18 Chalmers University of Technology 34 Study 1: Engineering challenges of DL ■Dependency Management ■Glue code and supporting systems ■Unintentional feedback loops ■Monitoring and logging ●Troubleshooting ●Testing ●Limited transparency ●Experimental management ■ Organisational challenges ● Development challenges ◆ Development challenges ◆Effort estimation ◆Cultural differences Hard to solve Easier to solveLower business impact High business impact ●Resource Limitations ◆Privacy and Safety/security
  • 33. 2019-03-18 Chalmers University of Technology 35 Study 2: Overview of studied industrial ML systems System Use case of ML components Software for automated driving Interpreting sensor data to understand the contained information at a high level AI web platform Predicting quality of end product based on different measurements from machines, IoT devices Automating tagging of sentiments in online music library Annotation web platform Collaborative annotation of training data and predicting quality of annotations Mobile network operations Predicting failures at site to give insights into mobile network operations e.g., predicting degradation of key performance indicators (latency, throughput) and predicting site’s sustenance to power outage Sales engagement web platform Automating information extraction from out-of-office reply to optimize communication between sales reps and prospects Experimentation web platform Models of ML components of e.g., web search engine, are compared using important metrics through A/B tests
  • 34. 2019-03-18 Chalmers University of Technology 36 Study 2: A taxonomy of evolution of use of ML in industry Experimentation and prototyping Non-critical deployment Critical deployment Cascading deployment Autonomous ML components
  • 35. 2019-03-18 Chalmers University of Technology 37 Study 2: Challenges summary Difficulty in ML/DL pipeline implementation e.g., toolchain for scheduling training jobs, diagnosis and monitoring of ML models Difficulty in debugging models and subsequently testing DL systems e.g., due to unexplainable/limited transparency of NN Unestablished KPIs for monitoring the quality of deployed models Partial trust in the results of ML/DL systems e.g., unreliable results make it unsuitable/require other techniques for regulated products Extreme overconfidence in technology and Limited number of persons with overlap skills between SE and ML Difficulty in eliciting ML/DL use case and desired outcome (s) Inability to take at start end-to-end ML/DL use case due to large scale and complex environment Difficulty in getting access to training data due to e.g., regulation, ownership by client or other teams. Limited approaches for selecting and cleaning training data from large data collection e.g., to annotate in automotive Limited approaches for validating training data e.g., measures for accuracy and consistency of annotations, identifying missing values Data Devel. Trust
  • 36. 2019-03-18 Chalmers University of Technology 38 Study 2: Challenges mapped to the taxonomy A taxonomy of software engineering challenges for machine learning systems: An empirical investigation, XP2019, Lucy Ellen Lwakatare, Aiswarya Raj, Jan Bosch, Helena Holmström Olsson and Ivica Crnkovic
  • 37. 3/18/2019 Chalmers 39 • New lifecycle and development approach • New technologies, new communities • Gaps between prototypes and full lifecycle support Example of question: • How to manage continuous deployment in trustworthy and efficient way? • How easily can an entirely new algorithmic approach be tested at full scale? • How precisely can the impact of a new change to the system be measured? • Does improving one model or signal degrade others? • How quickly can new members of the team be brought up to speed? A lot of new challenges in (software) development Conclusion

Editor's Notes

  1. (1) Hardware (e.g. GPU models primarily) (2) Platform (e.g. operating system and installed packages) (3) Source code (e.g. model training and pre-processing) (4) Configuration (e.g. model configuration and pre-processing settings) (5) Data sources (e.g. input signals and target values) (6) Training state (e.g. versions of trained model). Traditional management of software is usually light