<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <article-id pub-id-type="doi">10.1007/978-3-030-94238-0_1</article-id>
      <title-group>
        <article-title>MILKI-PSY Cloud: MLOps-based Multimodal Sensor Stream Processing Pipeline for Learning Analytics in Psychomotor Education</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michal Slupczynski</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ralf Klamma</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>RWTH Aachen University</institution>
          ,
          <addr-line>Aachen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <volume>252</volume>
      <fpage>3</fpage>
      <lpage>16</lpage>
      <abstract>
        <p>Psychomotor learning develops our bodies in organized patterns with the help of environmental signals. With modern sensor arrays, we can acquire multimodal data to compare activities with stored reference models of body motions. To do this on a large scale in an eficient way, we need cloud-based infrastructures for the storage, processing and visualization of psychomotor learning analytics data. In this paper, we propose a conceptual sensor stream processing pipeline for this purpose. The solution is based on the so-called MLOps approach, a variation of the successful DevOps model for open source software engineering for large-scale machine learning solutions based on standard components. This processing pipeline will facilitate the multimodal analysis of many training scenarios collaboratively.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;multimodal learning analytics</kwd>
        <kwd>explainable AI</kwd>
        <kwd>cloud infrastructuring</kwd>
        <kwd>machine learning as a service</kwd>
        <kwd>psychomotor learning</kwd>
        <kwd>big data</kwd>
        <kwd>MILKI-PSY</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Multimodal stream data ingestion Multimodal sensor applications generate vast amounts
of heterogeneous and multidimensional data with unique properties [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] that needs to be
transmitted, stored and analyzed in a scalable manner. Distributed communication systems such
as Apache Kafka 1 provide a foundation optimized for eficiency and low latency ingestion of
stream data [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The processing of diferent modalities is then done via data fusion, which can
be subdivided into early fusion (merging before the ML process), late fusion (learning each
modality independently, then fusing) and cross-modality fusion (learning across modalities) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Time series databases (TSDB) Time series databases (TSDB) are database systems that are
designed for storage, processing, and visualization of time series data (TSD) such as sensor
readings [
        <xref ref-type="bibr" rid="ref4 ref5 ref6">4, 5, 6</xref>
        ], which can manage big quantities of information and enable stream data
versioning, time-related searches [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and analysis mechanisms such as trend detection, or
anomaly/outlier sensing [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. One of the most notable examples of TSDB is InfluxDB 2.
Annotation of multimodal data Raw sensor data requires additional annotation to provide
labels for the ML systems to infer the prediction outcomes correctly. Usually, diferent data
modalities require specialized applications to support the annotation process. Several ofline
and online tools have been proposed for data annotation such as Mova [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], Microsoft PSI [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] or
the Visual Inspection Tool [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        Multimodal data processing pipelines The usage of processing pipelines for multimodal
ML data has been discussed and compared in several publications [
        <xref ref-type="bibr" rid="ref11 ref12 ref3">3, 11, 12</xref>
        ]. Commonly, the
pipeline phases include feature extraction, data fusion, model training and exploitation of the
trained ML applications. Implementing a user-oriented approach during the development of
multimodal learning environments is important to better align to learner needs [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. A relatively
novel addition to multimodal ML pipelines is the application of MLOps principles [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ] to
build a collaborative environment and provide immersive learning feedback in psychomotor
education.
      </p>
      <p>ML artifact management A versioning system for ML models such as DVC 3 provides
crucial tracking and managing of changes to the ML pipeline. A system like TorchServe 4 can
then be used to publish and serve the diferent versions of the ML models. While diferent
stages of the MLOps pipeline can be supported by separate tools, an integrated platform like
OpenML 5 can provide all the benefits in a central place.</p>
      <p>1https://kafka.apache.org
2https://www.influxdata.com
3https://dvc.org/
4https://github.com/pytorch/serve
5https://openml.org</p>
      <sec id="sec-2-1">
        <title>Machine Learning for IT Operations (MLOps) MLOps [13, 14] is a DevOps-based [15]</title>
        <p>
          practice that aims to reliably [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] and sustainably [17] design, deploy, test and monitor ML
models in cloud and edge systems [18, 19]. MLOps extends DevOps as follows: continuous
integration requires data and model versioning and validation, continuous delivery considers
automatic and steady delivery of the ML models, while continuous testing involves continuous
retraining of the ML models to adapt to a steady stream of input data [20, 21, 22].
Explainable AI (XAI) Explanations are meta-information in ML-based systems that describe
the meaning or significance of an input instance for a certain output categorization [ 23]. A
variety of ML mechanisms can be used on sensor-based TSD [24], while the usage of XAI
methods facilitate trust and confidence in the models applied to the TSD [25].
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. MILKI-PSY Cloud (MPC): ML-based Multimodal Sensor</title>
    </sec>
    <sec id="sec-4">
      <title>Stream Processing Pipeline for Direct Learner Feedback</title>
      <p>A multimodal sensor network produces continuous data streams with various sampling
frequencies, which should be processed in near real-time to ofer learning analytics and learner
feedback [26]. Figure 1 gives an overview of the proposed MPC infrastructure, which is
structured in three phases: data ingestion (phase 1), machine learning (phase 2) and data exploitation
(phase 3). This contribution is based on the MPC architecture [27].</p>
      <p>Feature pipeline (phase 1) - Multimodal stream data ingestion First, a data ingestion
system (1.1) should be used to provide scalable communication between the sensor devices and
the MPC. Annotating the raw sensor data is done in the next step of the pipeline (1.2) to provide
the labels necessary for the ML feature detection and decision-making. To allow repeatable ML
training, the data from multiple concurrent source streams need to be aggregated and stored
with some versioning mechanism. A TSDB provides mechanisms for versioned data storage
and analysis (1.3) and should thus be used for data ingestion and leverage.</p>
      <p>ML pipeline, continuous training (phase 2) Next, we use a Federated ML approach for
model building and evaluation (2.1) [28]. Trained and evaluated ML models need to be versioned
(2.2). Once a new version of a model is checked into the storage system, it needs to be deployed
and made available (2.3). After training and serving the ML model, the deployed pipeline needs
to be monitored and continuously evaluated for the model performance (2.4). The measures
used for this evaluation need to be defined by domain experts and calculated automatically
in the context of the project depending on the specific ML use case. Alternatively, a MLOps
solution (2.X) can provide an integrated solution for model building, versioning and serving.</p>
      <p>If a drop in accuracy or a suficiently large amount of new input data (e.g. a new expert
recording) is detected through pipeline monitoring (2.4), a retraining of the ML pipeline (phase
2) can be triggered as described by continuous training. For example, an ML algorithm could
be trained to diferentiate whether the feedback given by the system correlates with positive
learner progress and change the feedback mechanism if it does not.</p>
      <p>Data exploitation &amp; feedback (phase 3) With a properly trained and deployed ML model,
a frontend application can then use it to provide feedback to the learner (3.1), either directly
in near real-time through interactive AR/VR elements, or long-term performance reports and
other gamification elements. The usage of explainable AI principles could provide an additional
layer of context to the decisions made by the ML algorithm which would benefit the domain
experts and learners in gaining insights into the feedback mechanism. This would not only
reduce potential bias embedded in the ML model but also enhance the trust of the end-users in
the system leading to better learning results. Finally, new multimodal sensor data is generated
through learner interaction with the system (3.2) leading to a new MPC pipeline cycle with
further data ingestion.</p>
      <p>Legend
1
2
3
Data storage &amp; versioning</p>
      <p>1.3
Time-Series DB
InfluxDB</p>
      <p>Continuous
training
ML performance
monitoring</p>
      <p>2.4
Pipeline monitoring</p>
      <p>Evidently, ...</p>
      <p>Learner progress
Data generation
Multimodal sensors</p>
      <p>3.2
Offline tool
Cloud tool</p>
      <p>Data flow
1 / 1.1 nPuhmasbee/rstep</p>
      <p>Pipeline flow
Pipeline cycle
Stream data ingestion</p>
      <p>Data collection
Apache Kafka</p>
      <p>1.1
Model building
&amp; evaluation 2.1
Federated ML
PyTorch, ...</p>
      <sec id="sec-4-1">
        <title>Data pipeline</title>
        <p>Data annotation
Data annotation
PSI, VIT, ...
1.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Machine learning pipeline</title>
        <p>Model storage
&amp; versioning 2.2
Model versioning
Git, DVC, ...</p>
        <p>Model deployment
&amp; serving
Model serving
TorchServe, ...</p>
        <p>2.3</p>
        <p>OR
Integrated MLOps Platform 2.X
ClearML, MLReef, Kubeflow, MLFlow, ...</p>
      </sec>
      <sec id="sec-4-3">
        <title>Data exploitation &amp; feedback</title>
        <p>Learner feedback
Direct feedback
AR/VR, Reports, ...
3.1
Pipeline phase
Pipeline step</p>
        <sec id="sec-4-3-1">
          <title>3.0.1. Stakeholders</title>
          <p>At diferent stages of the proposed pipeline, diferent stakeholders are involved in
decisionmaking, execution and practice. The stakeholder groups involved in the project range from
domain experts to end-users, including pedagogical specialists, data science engineers, coaches,
teachers and students. Recording and annotation of training data and raw sensor readings are
performed by sports scientists due to their expertise in the psychomotor skills to be taught
using the proposed pipeline.</p>
          <p>The intricacies of the ML training and evaluation need to be executed by experienced ML
experts, while the result of the “data exploitation &amp; feedback” phase will mostly benefit coaches,
teachers and learners. For efective interaction with the toolset used in the MPC, each
stakeholder group needs to be provided with a diferent set of interfaces. Sports scientists need a
simple way to feed their data into the system and a powerful annotation engine to add meaning
to the multimodal data stream. Application developers and designers can make use of the
data stored in the TSDB together with the trained and deployed ML models to create
immersive learning environments and provide learner feedback. Since the proposed pipeline will be
running its toolset in a cloud with powerful hardware, ML experts and researchers will have
access to computing resources to process the TSD, so they can focus on model training and
development. The versioning in the MLOps pipeline enables coaches, teachers and students not
to require extensive ML expertise to make use of the best-performing version of the ML models.
The proposed cloud pipeline enables the stakeholders to collaborate on diferent aspects of the
immersive learning environment, from data ingestion and annotation over model training to
interaction with the learners.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4. Conclusions and Outlook</title>
      <p>This contribution presents a ML-based sensor data processing pipeline to facilitate direct and
long-term learner feedback in psychomotor education. Pipeline automation through MLOps is
critical in ensuring reproducibility, helping to reduce manual infrastructuring inherent with
ML development. The usage of XAI to support the ML process is beneficial in facilitating trust
and providing individualized feedback for multimodal psychomotor learning scenarios. Future
work includes further implementation and evaluation of the proposed framework in a practical
environment. We will focus on an end-user-oriented MLOps execution and evaluation.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>We thank Aleksandra Nekhviadovich for their help in the study. This work was funded by the
German Federal Ministry of Education and Research (BMBF) within the project “MILKI-PSY”6
under the project id 16DHB4015.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F. A.</given-names>
            <surname>Tsvetanov</surname>
          </string-name>
          ,
          <article-title>Storing data from sensors networks</article-title>
          ,
          <source>IOP Conference Series: Materials Science and Engineering</source>
          <volume>1032</volume>
          (
          <year>2021</year>
          )
          <article-title>012012</article-title>
          . doi:
          <volume>10</volume>
          .1088/
          <fpage>1757</fpage>
          -899x/1032/1/012012.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B. R.</given-names>
            <surname>Hiraman</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. Viresh M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. Abhijeet C.</surname>
          </string-name>
          ,
          <article-title>A study of apache kafka in big data stream processing</article-title>
          , in: 2018 International Conference on Information , Communication, Engineering and Technology (ICICET), IEEE,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>3</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICICET.
          <year>2018</year>
          .
          <volume>8533771</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>W. C. S.</given-names>
            <surname>Iv</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kapoor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ghosh</surname>
          </string-name>
          ,
          <article-title>Multimodal classification: Current landscape, taxonomy and future directions</article-title>
          ,
          <source>ACM Computing Surveys</source>
          (
          <year>2022</year>
          ). doi:
          <volume>10</volume>
          .1145/3543848.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>T.</given-names>
            <surname>Dunning</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. E.</given-names>
            <surname>Friedman</surname>
          </string-name>
          , Time series databases:
          <article-title>New ways to store and access data / Ted Dunning</article-title>
          and Ellen Friedman, first edition ed.,
          <source>O'Reilly</source>
          , Beijing,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Google</given-names>
            <surname>Cloud Architecture Center</surname>
          </string-name>
          ,
          <source>Processing streaming time series data: overview</source>
          ,
          <year>2021</year>
          . URL: https://cloud.google.com/architecture/ processing-streaming
          <article-title>-time-series-data-overview.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Jensen</surname>
          </string-name>
          , T. B.
          <string-name>
            <surname>Pedersen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Thomsen</surname>
          </string-name>
          ,
          <article-title>Time series management systems: A survey</article-title>
          ,
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>29</volume>
          (
          <year>2017</year>
          )
          <fpage>2581</fpage>
          -
          <lpage>2600</lpage>
          . doi:
          <volume>10</volume>
          .1109/ TKDE.
          <year>2017</year>
          .
          <volume>2740932</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Parviainen</surname>
          </string-name>
          ,
          <article-title>The complete guide to time series data</article-title>
          ,
          <year>2021</year>
          . URL: https://www.clarify.io/ learn/time-series-data.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>O.</given-names>
            <surname>Alemi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pasquier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Shaw</surname>
          </string-name>
          , Mova,
          <source>Proceedings of the 2014 International Workshop on Movement and Computing</source>
          (
          <year>2014</year>
          )
          <fpage>37</fpage>
          -
          <lpage>42</lpage>
          . doi:
          <volume>10</volume>
          .1145/2617995.2618002.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bohus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Andrist</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Feniello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Saw</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jalobeanu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sweeney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Thompson</surname>
          </string-name>
          , E. Horvitz,
          <source>Platform for situated intelligence</source>
          ,
          <year>2021</year>
          . doi:
          <volume>10</volume>
          .48550/arXiv.2103.15975.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Di Mitri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Klemke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Specht</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Drachsler</surname>
          </string-name>
          ,
          <article-title>Read Between the Lines</article-title>
          , in: unknown (Ed.),
          <source>Proceedings of the 9th International Conference on Learning Analytics &amp; Knowledge - LAK19</source>
          , ACM Press, New York, New York, USA,
          <year>2019</year>
          , pp.
          <fpage>51</fpage>
          -
          <lpage>60</lpage>
          . doi:
          <volume>10</volume>
          . 1145/3303772.3303776.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>T.</given-names>
            <surname>Baltrusaitis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ahuja</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.-P. Morency,</surname>
          </string-name>
          <article-title>Multimodal machine learning: A survey and taxonomy</article-title>
          ,
          <source>IEEE transactions on pattern analysis and machine intelligence</source>
          <volume>41</volume>
          (
          <year>2019</year>
          )
          <fpage>423</fpage>
          -
          <lpage>443</lpage>
          . doi:
          <volume>10</volume>
          .1109/TPAMI.
          <year>2018</year>
          .
          <volume>2798607</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>K.</given-names>
            <surname>Sharma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Giannakos</surname>
          </string-name>
          ,
          <article-title>Multimodal data capabilities for learning: What can multimodal data tell us about learning?</article-title>
          ,
          <source>British Journal of Educational Technology</source>
          <volume>51</volume>
          (
          <year>2020</year>
          )
          <fpage>1450</fpage>
          -
          <lpage>1484</lpage>
          . doi:
          <volume>10</volume>
          .1111/bjet.12993.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kreuzberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Kühl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hirschl</surname>
          </string-name>
          ,
          <article-title>Machine learning operations (mlops): Overview, definition</article-title>
          , and architecture,
          <year>2022</year>
          . doi:
          <volume>10</volume>
          .48550/arXiv.2205.02302.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>N.</given-names>
            <surname>Talagala</surname>
          </string-name>
          ,
          <article-title>Why mlops (and not just ml) is your business' new competitive frontier</article-title>
          ,
          <year>2018</year>
          . URL: https://www.aitrends.
          <article-title>com/machine-learning/ mlops-not-just-ml-business-new-competitive-frontier/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Dyck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Penners</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lichter</surname>
          </string-name>
          ,
          <article-title>Towards definitions for release engineering and devops</article-title>
          , in: 2015 IEEE/ACM 3rd International Workshop on Release Engineering, IEEE,
          <year>2015</year>
          , p.
          <fpage>3</fpage>
          . doi:
          <volume>10</volume>
          .1109/RELENG.
          <year>2015</year>
          .
          <volume>10</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Borg</surname>
          </string-name>
          ,
          <source>Agility in software 2</source>
          .0
          <article-title>- notebook interfaces and mlops with buttresses and rebars</article-title>
          , in: A.
          <string-name>
            <surname>Przybylek</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Jarzebowicz</surname>
          </string-name>
          , I. Lukovic, Y. Y. Ng (Eds.),
          <source>Lean and Agile Software Development</source>
          , volume
          <volume>438</volume>
          <source>of Lecture Notes in Business Information Processing</source>
          , Springer
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>