Submitted by drinkingsomuchcoffee t3_113m1ly in MachineLearning
At a glance, HuggingFace seems like a great library. Lots of access to great pretrained models, an easy hub, and a bunch of utilities.
Then you actually try to use their libraries.
Bugs, so many bugs. Configs spanning galaxies. Barely passible documentation. Subtle breaking changes constantly. I've run the exact same code on two different machines and had the width and height dimensions switched from underneath me, with no warning.
I've tried to create encoders with a custom vocabulary, only to realize the code was mangling data unless I passed a specific flag as a kwarg. Dozens of more issues like this.
If you look at the internals, it's a nightmare. A literal nightmare.
Why does this matter? It's clear HuggingFace is trying to shovel as many features as they can to try and become ubiquitous and lock people into their hub. They frequently reinvent things in existing libraries (poorly), simply to increase their staying power and lock in.
This is not ok. It would be OK if the library was solid, just worked, and was a pleasure to use. Instead we're going to be stuck with this mess for years because someone with an ego wanted their library everywhere.
I know HuggingFace devs or management are likely to read this. If you have a large platform, you have a responsibility to do better, or you are burning thousands of other devs time because you didn't want to write a few unit tests or refactor your barely passable code.
/RANT
tripple13 t1_j8r8f7i wrote
This reads like some of those posts criticising OS-frameworks that don't always behave intuitively.
While I don't disagree that there are bugs, Hugging Face is doing more for Open ML than many large tech companies are doing.
HuggingFace, FastAI and similar frameworks are designed to lower the barrier to ML, such that any person with programming skills can harness the power of SoTA ML progress.
I think that's a great mission tbh, even if there are some inevitable bumps on the road.