"Machine learning (ML) models are deployed for production use cases with ever increasing pace, driving the growing need for machine learning operations (MLOps) for the deployment, monitoring, and explainability of ML models at scale. With the rise of the data-centric AI movement, businesses are seeking solutions that will provide them with highly discoverable and available data for monitoring, governance, and compliance.
In this talk, we identify dataflow architectural principles to address these demands and discuss their application in an open-source ecosystem. We show how to create a decentralized dataflow engine underpinned by Kafka and the Kafka Streams client library, and how this can be leveraged for building flexible data processing pipelines on-the-fly.
We explore the challenges faced in creating such a dataflow engine and reflect on our journey with the Kafka ecosystem. We consider managing dynamically-created Kafka Streams topologies, multiplexing hundreds or even thousands of these topologies onto individual JVM instances, and the integration between Kafka and Kotlin, amongst other things."
8. Core V1 - Central orchestration
8 8
Dataflows for machine learning operations
9. Dataflow architecture
9 9
Dataflows for machine learning operations
Dean, J. & Ghemawat, S. (2008). MapReduce: simplified data processing on large clusters. Communications of the ACM, 51(1), 107-113.
10. Dataflow vs control flow
10
“In control flow, the processor follows
explicit order, executing instructions one
after another. In dataflow, by contrast, an
instruction is ready to execute as soon as
all its inputs are available.”
M. Schwarzkopf, The Remarkable Utility of Dataflow Computing
10
Dataflows for machine learning operations
11. Dataflow features
11
Separation of data
and operations
Data as a first
class citizen
Dataflow graph of
the entire system
Decentralisation
11
Dataflows for machine learning operations
22. Anatomy of a Topic Name
22
<prefix>.<namespace>.<pipeline|model>.<name>.<inputs|outputs>
seldon.default.pipeline.foo.inputs
seldon.recommendations.model.bar.outputs
<prefix>.<namespace>.errors.errors
ml.default.errors.errors
22
Dataflows for machine learning operations
23. Anatomy of an Inference Message
23 23
Dataflows for machine learning operations
37. How Many Is Too Many?
37 37
Dataflows for machine learning operations
38. How Many Is Too Many?
38 38
Dataflows for machine learning operations
KSQL Limitations in Confluent Cloud
Kafka Summit 2022 - Modular Topologies
KIP-809 (Modular Topologies)