Remix.run Logo
Build a Deep Learning Library(zekcrates.quarto.pub)
91 points by butanyways 9 hours ago | 12 comments
amitav1 6 hours ago | parent | next [-]

This is cool! This summer I made something similar but in C++. The goal was to build an entire LLM, but I only got to neural networks. GitHub repo here: https://github.com/amitav-krishna/llm-from-scratch. I have a few blogs on this project on my website (https://amitav.net/building-lists.html, https://amitav.net/building-vectors.html, https://amitav.net/building-matrices.html (incomplete)). I hope to finish that series eventually, but some other projects have stolen the spotlight! It probably would have made more sense to write it in Python because I had no C++ experience.

csantini 5 hours ago | parent | prev | next [-]

Did something similar a while back [1], best way to learn neural nets and backprop. Just using Numpy also makes sure you get the math right without having to deal with higher level frameworks or c++ libraries.

[1] https://github.com/santinic/claudioflow

butanyways 5 hours ago | parent [-]

Its nice! Yeah a lot of the heavy lifting is done by Numpy.

silentsea90 4 hours ago | parent | prev | next [-]

Isn't this what Karpathy does as well in the Zero to Hero lecture series on YT? I am sure this is great as well!

butanyways 4 hours ago | parent [-]

If you are asking about the "micrograd" video then yes a little bit. "micrograd" is for scalars and we use tensors in the book. If you are reading the book I would recommend to first complete the series or atleast the "micrograd" video.

grandimam 4 hours ago | parent | prev | next [-]

This is good. Its well positioned for software engineers to understand DL stuff beyond the frameworks.

butanyways 4 hours ago | parent [-]

thanks!!

yunnpp 6 hours ago | parent | prev | next [-]

It's alright, but a C version would be even better to fully grasp the implementation details of tensors etc. Shelling out to numpy isn't particularly exciting.

butanyways 6 hours ago | parent [-]

I agree! What NumPy is doing is actually quite beautiful. I was thinking of writing a custom c++ backend for this thing. Lets see what happens this year.

p1esk 4 hours ago | parent [-]

If someone is interested in low level tensor implementation details they could benefit from a course/book “let’s build numpy in C”. No need to complicate DL library design discussion with that stuff.

butanyways 4 hours ago | parent [-]

Yes!!

opan 3 hours ago | parent | prev [-]

Perhaps obvious to some, but this does not seem to be about learning in the traditional sense, nor a library in the book sense, unfortunately.