DEV Community

Cover image for Inside the AI/ML Community at Zone01 Kisumu: How Peer-to-Peer Learning Is Building Machine Learning Skills Without a Single Lecture
MEROLINE LIZLENT
MEROLINE LIZLENT

Posted on

Inside the AI/ML Community at Zone01 Kisumu: How Peer-to-Peer Learning Is Building Machine Learning Skills Without a Single Lecture

The model that scares most first time apprentices is Zone01 Kisumu, where there are no teachers, no lectures and no answer key. You receive a project brief, a piscine (coded in a controlled, intense trial for one month) and a room of colleagues who, on day one, are just as lost as you are. This model is borrowed from 42 and the 01-edu network, and is a bit awkward at first. Then it's what makes people learn quicker than they thought they would.

Within that structure, there has been another community that has self organized, the AI/ML community. It's not a track, not a graded module, it's not one teacher's track. It's a group of apprentices who thought that coming together to form a community that helps them learn more on machine learning and artificial intelligence from fellow peers. It's a good sign of why p2p learning works best in a field such as AI/ML, where the terrain is constantly changing under everyone's feet.

Why AI/ML Needed Its Own Peer Group

At the heart of Zone01's programming curriculum are the basics of software such as Go, algorithms, networking, web development, cloud devOps, the stuff that makes you a good engineer. AI/ML is also part of that fundamental track and as such, if someone wants to dive deep into it, they are encouraged to do so independently and also from peer to peer. The group discusses what matters, as they go, based on what they're actually running into a badly overfitted model, a fintech idea that's close to the Lightning, a piece of research that just landed but no one knows much about it yet.

That flexibility is important in ML, if not more so than anywhere else in software. It's possible to keep a web development curriculum fresh for years. There are whole classes of techniques missing from an already outdated ML curriculum, which was devised eighteen months ago. A peer group group that meets regularly, and has its agenda driven by what they are working on and reading in the group, remains current in a way an “old” curriculum cannot.

How the Group Actually Coordinates

Mechanics is easy and designed to be easy. The group meets regularly, face-to-face at the Kisumu campus of the Zone01, and also has a chat channel where they post documents, dataset links, reports and half written ideas between their meeting. No one has to be enrolled in the group and no one is required to attend, the group operates on the same premise as all the other groups in Zone01, you show up because you want to show up, not because someone is checking a box.

Sessions may have one of a variety of structures:

Project show and tell A person who has been "heads-down" on a model or pipeline explains what he/she built, what was broken, and what would he/she do differently. This is frequently the most worthwhile week's time slot, since the failures are more instructive than the successes. The room is given a better education about vectors and matrices when a member who took a week to pick up the pieces after a week-long ordeal with dimension-mismatch errors while building out the linear algebra behind a model walks through why 3 reshaping attempts failed, than any tutorial on reshaping them. When someone shows you an error that arose from a transpose you can't remember, or a matrix multiplied in the wrong order, the math in that situation makes sense that no notation can ever make sense.

Document/Concept break down. One person reads them a document on a technique or something, or a concept, whatever it is, and talks to them in plain English about it, and then leaves it open for questions. It's a much more effective kind of test of comprehension to explain a concept to peers who will immediately say "wait, why does that work?".

Sometimes the most beneficial thing that the group does is to sit in the same room, but on different projects, with the same open build time. It saves hours of time doing your own Googling if you can see the problem and have someone look and tell you what the issue is in ninety seconds.

The only way this doesn't turn into an informal gathering is due to a natural turnover of participants. Each member on a rotating basis proposes a topic, conducts a session or introduces a resource. There is no permanent leader, thus preventing the group from relying on one person for availability and allowing all group members to practice the more difficult skill of teaching; not just learning.

What Peer-to-Peer Learning Actually Buys You in ML

Of course, it pays to be explicit in justifying the choice of this format, rather than simply saying that it is good.

Books and courses can explain gradient descent, but they don't explain why the gradient descends. They're far worse at describing what it looks like when your loss curve does something strange at 2am and you're not sure if it's a problem with your loss function, a data leakage problem or a bug in your preprocessing. Peers who have encountered that same barrier one week prior to you can save you the two days of flailing.

When you explain something, the quickest way to see that you don't understand it is to explain it. When the apprentice decides to take the group on a tour of backprop(an algorithm neural networks use to learn from their mistakes), he or she typically comes out of that session with a better grasp of backprop, thanks to the questions that are fired off by other apprentices which the passive audience wouldn't ask. This is the same as what makes Zone01's principle of core piscines effective, you don't know an algorithm until you have needed to explain to someone why it is correct.

It brings together theory and application that is relevant to the local context. You can't learn how to create a credit scoring model for a market where most of the credit history data is thin, or how to deal with a dataset that is primarily in Swahili and Sheng, by taking a generic online course. When you have a bunch of Kenyan apprentices in a room with Kenyan issues, those constraints will come to the surface, because somebody in that room is hitting them.

Unlike it, structured ML bootcamps and specialization courses aren't for free, and even the free ones require fast, constant internet and hours and hours of screen time. Personal face-to-face and shared computing, notes, and debugging reduces the barrier of entry for others who would otherwise not be able to afford it.

It establishes the norm of teaching, a skill that would be very useful on the job. Each apprentice sharing a concept to the group is doing the same skill they will be required to do at a later date when they are the senior engineer on a team, writing documentation, or mentoring someone younger. At this point, Zone01 apprentices are pretty good at this, since the whole curriculum is structured around apprentices learning from each other, and now extends this to an area that evolves more quickly than any other part of the curriculum.

What the Group Has Worked Through

The topics the group has undertaken are more indicative of what is of interest to the group in that particular month than any set agenda. The linear algebra foundations (vectors, matrices, and the operations that appear all over the place when you start building models) have been discussed as well as linear regression and logistic regression as the gateway to supervised learning, and how to get a model from a notebook into something that will run reliably outside the notebook. Members have introduced their own projects, such as fintech recommendation logic, small prediction models, or initial projects with classification; and leverage the group as a sounding board and a debugging partner.

This project-first bias is on purpose, albeit no one has explicitly stated it as a rule. A group that is based on the finished, working code is honest, a group that is based on slide decks isn't. When the request is "show me it running" rather than "explain the concept" it will be more difficult to pretend to understand.

The Honest Challenges

All of this is not a no-friction process. The most difficult thing isn't the material, it's bandwidth. The majority of the members are executing multiple core curriculum projects and modules simultaneously, each with their own deadline, not to mention the AI/ML group who is operating outside of all of the above graded work. The fact that everyone has to attend regularly means that there are months where attendance and momentum will increase and decrease according to how crammed the other classes are throughout the month. No one is paid to create sessions, either, so what a given week looks like will vary depending upon who has the bandwidth to contribute.

The same thing that keeps it running more generally at Zone01 is the people in the room really getting something out of it, from session to session; that's more of a motivating factor than any attendance policy.

Why This Model Is Worth Copying

Zone01 Kisumu was not about to develop an ML program. Instead it created a collective that was peer driven, project first, teacherless, a better model for a subject that is more advanced than any curriculum designed to teach it. The pedagogical training of ML needs to be delayed until after it's actual use. A peer group that's self-organized is not that laggy, for the group's curriculum is simply what they're currently constructing, destructing, and reconstructing.

If you are one of those who wonder how to educate an AI/ML community without employing a dedicated teacher-machine learning expert, the Zone01 Kisumu AI/ML community is proof enough: provide a group of motivated people a space, a time, and the unspoken rule that everyone will teach as much as they learn, and the program self-organizes.

Top comments (1)

Collapse
 
jam-techcirkle profile image
James Sanderson

The uncheatable server-side grading is the detail that makes this more than a toy — the second answer-checking happens client-side, someone opens devtools and the leaderboard is meaningless, so keeping the answer key server-only is the right call for anything with a persistent ranking. Using Durable Objects for the leaderboard is a nice fit too since you get single-writer consistency without standing up a whole DB. Out of curiosity, are you sampling HLE questions randomly per run or holding a fixed set — because if it's fixed, a determined player could grind the same questions and climb the human board without actually being better?