-
Notifications
You must be signed in to change notification settings - Fork 2
/
LightningTalk.qmd
242 lines (180 loc) · 11.6 KB
/
LightningTalk.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
---
title: "Developing a Carpentries-style Machine Learning workshop"
subtitle: "Lightning talk ⚡️"
author: "Dr. Jens Brinkmann"
institute: "The University of Auckland"
# logo-container: "ResBaz_transparent_Logo_cropped.svg"
date: 2023-10-17
# date: today
date-format: full
# bibliography: refs.bib
from: markdown+emoji
# embed-resources: false
format:
revealjs:
self_contained: true
# tbl-cap-location: bottom
# number-sections: true
theme: UoAtemplate.scss
multiplex:
id: 'a140d30bbdb06469'
secret: '16962778612049606149'
# css: ./logo.css
# disableLayout: true
navigation-mode: vertical
controls-layout: bottom-right
controls-tutorial: true
transition: convex
view-distance: 10
width: 1600
height: 900
margin: 0.1
# logo: "./UoALogoDarkBlueRGBLandscape.png"
title-slide-attributes:
data-background-image: UoALogoDarkBlueRGBLandscape.png
data-background-size: 20%
# data-background-postion: right
data-background-position: 95% 76%
# data-background-position: bottom 10px right 20px
# background-image: ./ResBaz_transparent_Logo_cropped.svg
# background-opacity: 0.5
# background-position: bottom 10px right 20px
# background-size: contain
# data-background-repeat: no-repeat
# background-size: 80px
# background-repeat: no-repeat
# background-position: 0% 100%
# logo: ResBaz_transparent_cropped.svg
# self_contained: false
reveal_plugins: ["menu"]
reveal_options:
menu:
numbers: true
header: Developing a Carpentries-style Machine Learning workshop
header-logo: UoALogoDarkBlueRGBLandscape.png
hide-from-titleSlide: all
filters:
- reveal-header
- line-highlight
editor:
render-on-save: true
execute:
enabled: true
---
# Overview
- To answer the main question **"ML-Carp Workshop, what is that?"** let's answer three sub-questions:
- Q1: **What** was done?
- Q2: **Who** participated and how did they **feel** about it?
- Q3: ML-Carp's **future**?
- This talk links to upcoming sessions:
- [Upskilling researchers in Machine Learning](https://conference.eresearch.edu.au/upskilling-researchers-in-machine-learning/)
- [BoF Session: *AI Skill Training Pathway: Bridging Gaps and Fostering Inclusivity*](https://conference.eresearch.edu.au/ai-skill-training-pathway-bridging-gaps-and-fostering-inclusivity/)
# What was done
## Background
- Machine Learning (ML) or Artificial Intelligence (AI) are without a doubt **hot topics**
- Empowering researchers to **understand and use** ML seems **rewarding**, but also **challenging**
- [The Carpentries](https://carpentries.org/) ![The Carpentries](TheCarpentries.svg){ width=10% } offer a proven teaching-style accounting for participants with limited IT experience
- Core aspects
- live-coding
- positive attitude towards mistakes
- minimal prerequisites
- **maximising participant involvement**
- The [CeR (Centre for eResearch)](http://eresearch.auckland.ac.nz/) at the University of Auckland acquired funding to further develop and run a series of workshops (also referred to as *ML-Carp*)
- Two iterations (referred to as *Run #1* and *Run#2*) took place so far. In March and September 2023.
## Lesson Overview
| Lesson Title | Status | Run #1 | Run #2 | |
|----------------------------------------------------|----------------------------------------------------------------------------------------------|----------|---------------------------|---|
| Programming with Python | [Released](https://swcarpentry.github.io/python-novice-inflammation/) | Mon, Tue | - | |
| Introduction to Machine Learning with Scikit Learn | [Alpha](https://mike-ivs.github.io/machine-learning-novice-sklearn/02-regression/index.html) | Wed, Thu | Mon, Tue | |
| Introduction to Deep Learning | [Beta](https://carpentries-incubator.github.io/deep-learning-intro/aio.html) | Fri | Wed, Thu | |
::: {layout="[[-1], [1], [-1]]"}
- 4h sessions over 4 consecutive afternoons
:::
- Depending on Maturity, sessions were run with **small changes** or **substantially (re)developed**.
- One major change was [Goolge Colab](https://colab.research.google.com/) ![Colab](./Google_Colaboratory_SVG_Logo.svg){ width=3% } being used instead of local Python installs.
## Lesson Details
| [Programming with Python](https://swcarpentry.github.io/python-novice-inflammation/) | [Introduction to Machine Learning with Scikit Learn and Python](https://github.com/mike-ivs/machine-learning-novice-sklearn) | [Introduction to deep learning](https://carpentries-incubator.github.io/deep-learning-intro/1-introduction.html) |
| ----------------------- | ----------------------------------------------------------- | ---------------------------- |
| [Python Fundamentals](https://swcarpentry.github.io/python-novice-inflammation/instructor/01-intro.html) | [Introduction](https://mike-ivs.github.io/machine-learning-novice-sklearn/01-introduction/index.html) | [Introduction](https://carpentries-incubator.github.io/deep-learning-intro/1-introduction.html) |
| [Analyzing Patient Data](https://swcarpentry.github.io/python-novice-inflammation/instructor/02-numpy.html) | [Supervised methods - Regression](https://mike-ivs.github.io/machine-learning-novice-sklearn/02-regression/index.html) | [Classification by a neural network using Keras](https://carpentries-incubator.github.io/deep-learning-intro/2-keras.html) |
| [Visualizing Tabular Data](https://swcarpentry.github.io/python-novice-inflammation/instructor/03-matplotlib.html) | [Supervised methods - Classification](https://mike-ivs.github.io/machine-learning-novice-sklearn/03-classification/index.html) | [Monitor the training process](https://carpentries-incubator.github.io/deep-learning-intro/3-monitor-the-model.html) |
| [Storing Multiple Values in Lists](https://swcarpentry.github.io/python-novice-inflammation/instructor/04-lists.html) | [Ensemble methods](https://mike-ivs.github.io/machine-learning-novice-sklearn/04-ensemble-methods/index.html) | [Advanced layer types](https://carpentries-incubator.github.io/deep-learning-intro/4-advanced-layer-types.html) |
| [Repeating Actions with Loops](https://swcarpentry.github.io/python-novice-inflammation/instructor/05-loop.html) | [Unsupervised methods - Clustering](https://mike-ivs.github.io/machine-learning-novice-sklearn/05-clustering/index.html) | [Outlook](https://carpentries-incubator.github.io/deep-learning-intro/5-outlook.html) |
| [Analyzing Data from Multiple Files](https://swcarpentry.github.io/python-novice-inflammation/instructor/06-files.html) | [Unsupervised methods - Dimensionality reduction](https://mike-ivs.github.io/machine-learning-novice-sklearn/06-dimensionality-reduction/index.html) | |
| [Making Choices](https://swcarpentry.github.io/python-novice-inflammation/instructor/07-cond.html) | [Neural Networks](https://mike-ivs.github.io/machine-learning-novice-sklearn/07-neural-networks/index.html) | |
| [Creating Functions](https://swcarpentry.github.io/python-novice-inflammation/instructor/08-func.html) | [Ethics and the Implications of Machine Learning](https://mike-ivs.github.io/machine-learning-novice-sklearn/08-ethics/index.html) | |
| [Errors and Exceptions](https://swcarpentry.github.io/python-novice-inflammation/instructor/09-errors.html) | [Find out more](https://mike-ivs.github.io/machine-learning-novice-sklearn/09-learn-more/index.html) | |
| [Defensive Programming](https://swcarpentry.github.io/python-novice-inflammation/instructor/10-defensive.html) | | |
| [Debugging](https://swcarpentry.github.io/python-novice-inflammation/instructor/11-debugging.html) | | |
| [Command-Line Programs](https://swcarpentry.github.io/python-novice-inflammation/instructor/12-cmdline.html) | | |
# Who Participated And How Did They Like It?
- Large sign-up numbers meant mandatory *expression of interest* (EOI) and filtering
- Analysis follows from two perspectives:
- Metrics
- Statements
## Participants' Background
{{< embed Plots.ipynb#participants-background >}}
## Participants' OS
{{< embed Plots.ipynb#participants-os >}}
## Participants' Feelings - Metrics
{{< embed Plots.ipynb#participants-agreement >}}
## Zoom attendance
{{< embed Plots.ipynb#zoom-participance-line >}}
## Participants Promotion/Demotion
{{< embed Plots.ipynb#participants-recommendation >}}
## Participants' Feelings - Statements and Adjustments
- observation: At very end of the Runs, questions/participation/interest didn't cease!
- "***Python** lesson might be **separated***"
- Run #2: Python was removed from the curriculum
- "*more **breaks***"
- Run #2: better adherence to schedule
- "*stick to **one coding interface***"
- Run #2: only Colab, VSC etc. was linked to for post-workshop engagement
:::{.callout-note}
All statements are positive phrased; overall the results confirm a poasitive appreciation.
:::
<!-- # Reflection on Run #1 and adaption
- The learning curve appeared too steep. From no coding to refined DL approaches in a few days appeared too challenging
- (some) Python knowledge was made a prerequisite for the Run #2. That hasn't lead to a decline in registrations
- Two (half) days of Python being removed from this run's curriculum freed up time to allow for more breaks, an even slower pace and answering more specific questions
- End of the run shouldn't imply ceasing communication with (most) participants
- while some researchs continue to stay in touch with CeR after Run #1, to keep up the momentum of more participants, after the end of the workshop should be less of a cut and more 'faded out'
- A curated set of links for self-study was deemed too generic with an anticipated low continued interst in fully self-motivated
- Slack sub channel with targeted support
- Kaggle?
- VSC and local Python/GPU/Nectar/...
- ![Comparison](ComparisonRevRun1And2.jpg) TODO: make this appear and disappear
# What participants of Run #1 said
## What 1 thing did you like and would want to see in future workshops?
- *"apply these ML techniques on the different field"*
- hard to achieve, focus on underlying theory
- *"slower pace"*
- removed Python from curriculum
- *"some research paper example?"*
- hard
- *"add some quick group exercise session or quiz"*
- more links/examples after the run
- *"many people were online to help the students"*
- continued with many helpers
## What 1 thing you do think we could do better?
- too fast
- separate Python
- adhering to break schedule
# Comparing Run #1 and #2: What metrics and people say
- what the numbers say
- more people signed up (word of mouth/positive experince being shared?)
- more of this and that
- what the pepole say
- instrcutors/organisers (for the sake of bervity no full quotes)
- better balance of topics (only ML, DL vs. having to cope with Python)
- participants
- ... -->
# ML Carp's Future
- while specific funding (for lesson preparation and delivery) has ended, the importance of the topic continues to increase
- more sessions are planned
- maintaining momentum using dedicated [Slack sessions](https://research-hub.auckland.ac.nz/digital-research-skills/hacky-hour) seems promising
- Feedback about separating the Python lesson is positive
# Thank you and Contact details
- [Centre for eResearch Website](https://eresearch.auckland.ac.nz/)
- [HackyHour](https://research-hub.auckland.ac.nz/digital-research-skills/hacky-hour)
- 📨 [[email protected]](mailto:[email protected])