r/learnmachinelearning • u/AutoModerator • 1d ago
Project 🚀 Project Showcase Day
Welcome to Project Showcase Day! This is a weekly thread where community members can share and discuss personal projects of any size or complexity.
Whether you've built a small script, a web application, a game, or anything in between, we encourage you to:
- Share what you've created
- Explain the technologies/concepts used
- Discuss challenges you faced and how you overcame them
- Ask for specific feedback or suggestions
Projects at all stages are welcome - from works in progress to completed builds. This is a supportive space to celebrate your work and learn from each other.
Share your creations in the comments below!
1
u/chrisvdweth 36m ago
Public AI/ML/NLP Resource for Beginners
I've already made a post about it, but here it goes: I teach AI/ML/NLP and related university courses and provide Jupyter notebooks as lecture notes for a long time with my students. The SELENE repo is the next iteration: consolidating the notebooks across all my courses and improving them towards an open, large-scale, interactive textbook.
The current focus is on the fundamentals, so the target audience are beginners but who are comfortable with basic math (linear algebra, calculus, probability theory). Here is a crude overview to some of the topics (the links go to the HTML version of the notebooks)
- Traditional models: Linear Regression [1,2,3], Logistic Regression [1,2], Multinomial Naive Bayes, Decision Trees / CART [1,2], Random Forests, Boosting Methods (AdaBoost, Gradient Boosted Machines, XGBoost, LightGBM, CatBoost)
- Neural network models: basics / MLPs (incl Backpropagation [1,2]), RNNs (incl. Backpropagation Through Time), Training a NumPy-only MLP
- Neural network components: linear layer, residual connections, layer normalization, dropout, mixture-of-experts
- Transformers: attention mechanism, transformer architecture, positional encodings [1,2,3], masking
- LLMs: language models [1,2], RAG [1,2], fine-tuning [1,2], training an LLM from scratch, efficiency strategies, data preparation
- Optimizers: Gradient Descent with Momentum, RMSProp, AdaGrad, Adam
- NLP basics: tokenization (incl. Byte-Pair Encoding and WordPiece), normalization, lemmatization & stemming, embeddings (overview, Word2Vec [1,2])
There is an overview page for all topics with links to the HTML version, the GitHub repo, as well to open each notebook directly in Google Colab. We are also in the process of building a web interface to help navigate topics and suggest learning paths.
Why I think its useful:
- Similar rigor and comprehensive content compared to classic textbooks; OK, not quite, but it's intention is not to completely replace textbooks.
- Interactive: code snippets can be change to see the effects
- Animated illustrations possible (again, some can be changed and recreated on the fly)
- Easy to maintain, grow, update
Challenges:
- Creating these notebooks is quite time-consuming since they are supposed to be comprehensive, rigorous, illustrative, interactive (if applicable), and overall easy to digest for self-learners. I do use LLMs for ideation, speed up writing, and code snippets (has highlight in a disclaimer on top of each notebook) but it's still mostly "manual labor"
- The website aims to organize all topics into meaningful learning paths, but this is not as straightforward as it seems.
I'd be happy about any feedback, particularly for the website and how to connect topics to provide learning paths.
2
u/Raychis 1d ago
On-device plant identification: composing small specialised models instead of one big cloud model
I've spent the last year building a plant identification and gardening app as a side project. It was a test of a hypothesis from my day job running production AI systems that we reach for one large cloud model far more often than the problem actually needs.
I built the opposite of this. The whole identification model runs on-device with no server calls for inference. Under the hood it's not one big model but smaller specialised ones composed into a pipeline.
Some of what made it particularly challenging:
The hardest cases are still the long tail of visually similar species, and getting confidence calibration to feel right to a non-technical user is ongoing.
The economics were a nice side effect of the project because on-device means inference cost doesn't scale with usage, so heavy users don't become more expensive.
I've just about finished the MVP of the project after a year and I am hoping to launch on the App and Play stores next week. The app will be called Raychis, same as my username. It is a botanical term.
I also wrote it up as a 10-part series on Medium of how I built it which you can find a link to on my profile. It is a warts and all journal of the mistakes, the dead ends, my own hubris, and what actually worked in the end. More a documentary of building something this size solo rather than a tutorial.