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
XPlutonium t1_j8qy684 wrote
I appreciate and respect your rant, have been there
However in interest of both of us getting some good out of this how about if you face an issue next, Open an issue? If you can fix it as a community contribution then gold standard, but even opening an issue will tell them where the problem is
While they’re trying to ‘hog’ the users for their experience it can also be looked at as a way of democratising AI. There were MANY ML APIs that I just used HuggingFace for because I don’t understand ML itself so just call Hug and get the job done. I can understand why it’s buggy when the ecosystem itself moves so fast that you have to add features faster than you can fix old ones
So you know I relate, so in interest of getting shit done so to say, let’s try to fix it. Opening an issue, fixing the issue, writing competitive similar libraries, EVEN AS LITTLE AS participating productively in the issues discussions or GitHub discussions (if there is) will actually be a step in direction of getting it done