Building ML framework with Rust and Category Theory
hghalebi.github.io
Building ML framework with Rust and Category Theory
1–10 of 24 posts
Re: Building ML framework with Rust and Category Theory
#2Re: Building ML framework with Rust and Category Theory
#3Re: Building ML framework with Rust and Category Theory
#4Re: Building ML framework with Rust and Category Theory
#5Re: Building ML framework with Rust and Category Theory
#6Off topic, removed
Re: Building ML framework with Rust and Category Theory
#7You use types to represent domain objects, and the program is composed of functions that transform domain objects into other domain objects.
Sure types are used a bit more aggressively than usual to restrict domains, particularly the newtype pattern (`struct TokenId(usize)` instead of just `usize`). But it doesn't look too exotic to me, or Category Theory influenced, other than in the sense that Category Theory terminology can be used to describe the structure of a regular typed program.
It's possible that I'm wrong and I'm missing the point. Frankly I really struggled reading this because of the AI generated vibe of the language, more than usual. I generally hate when content is criticised for just being AI generated, you can write very good and valuable things with AI by guiding it properly with authorial intent, but this one does really reek of bloated slop.
Re: Building ML framework with Rust and Category Theory
#8Re: Building ML framework with Rust and Category Theory
#9This is not a critque of the work, but I have now been often encountering category theory in many of the research topics I'm working on, and even as somebody who majored in math, I sort of feel like it doesn't add much. I know ML frameworks intimately, and you really don't need category theory to describe them. But this is maybe (probably) a failure of mine, because I have not yet groked what category theory is reall…
Without reading too much into what this framework does, I'd say category theory could be useful for some ML problems (i.e. layer composition, gradient propagation, etc.) - but I'd think it would be more useful as an analytical tool than as actual lib/code structures.