Refolk
ReferenceEngineering and open source

The Model-Hub Signal Reference for Reading an ML Engineer

You will be able to look up any model-hub or Kaggle signal and state what it proves, what it does not, and how it misleads.

16 min readLast reviewed August 21, 2026Read as Markdown

Key takeaways

  • Hugging Face download counts are a rolling ~30-day figure that counts every GET or HEAD to config.json, so one CI pipeline can add 10,000 to 100,000 with no human ever using the model.
  • A verbatim-copied model card with no base_model, no training data, and no evaluation is the fingerprint of a re-upload; a documented clone hit #1 trending with 244,000 downloads and 667 likes in 18 hours, of which 657 likes were bots.
  • Kaggle Grandmaster spans four independent ladders, and only Competitions Grandmaster requires 5 gold with at least 1 solo gold; a Notebooks or Discussion Grandmaster never had to win a competition.
  • In Refolk's index only 41 US ML engineers explicitly list Hugging Face as a skill against 5,874 who list PyTorch, a 0.7% declaration rate, so capability must be read from artifacts, not keyword filters.
  • With no signing standard or lockfile for model weights, the base_model field and card lineage are the only machine-readable provenance, and both are optional and self-reported.
  • ORCID gives identity certainty but only about 60% coverage and can be mis-assigned, so it verifies a minority of candidates and must be corroborated.

You are looking at an ML engineer's Hugging Face, Kaggle, and model-hub footprint and need to know what each signal actually proves about their capability. This reference is for engineering managers, technical founders, developer-relations leads, and technical sourcers who already know how to read a GitHub profile but hit a wall on model hubs, where stars and commit graphs do not exist and re-uploads are trivial. It defines each signal one row at a time: what it proves, what it does not, and how it lies.

The GitHub evidence guides in this library lean on stars, commits, and contribution graphs. ML capability increasingly lives somewhere those signals do not reach. This guide fills that gap and only that gap.

Why model-hub signals need their own reference

Model-hub signals need their own reference because the GitHub evidence you already trust does not exist here, and the signals that replace it are optional, self-reported, and cheap to fake by re-upload. A Hugging Face model has no star history and no commit graph. What it has instead is a download count that counts machines, a card that anyone can copy word for word, and a lineage field that authors can leave blank.

There is a second reason: you cannot filter your way to these people. In Refolk's index only 41 US-based ML engineers explicitly list "Hugging Face" as a skill, against 5,874 who list Machine Learning and PyTorch together. That is a 0.7% declaration rate. If you gate on the keyword, you throw away almost everyone worth reading.

0.7%
US ML engineers who explicitly list Hugging Face as a skill
Only 41 of 5,874 PyTorch-listing US ML engineers in Refolk's index declare it, so capability lives in artifacts, not keyword fields.

The talent pool itself is concentrated. In Refolk's index, the United States shows 5,874 ML engineers listing Machine Learning and PyTorch; Germany shows 612, roughly a tenth the size. Top employers cluster around Meta and Apple in the US and Meta, BASF, and Accenture in Germany. That concentration matters when you calibrate: a signal that looks rare may just reflect a small market, not a rare skill.

CountryML engineers with ML + PyTorchSize vs US
United States5,8741.0x
Germany6120.10x

Counts are from Refolk's index, filtered on the title Machine Learning Engineer with both Machine Learning and PyTorch skills. The ratio is derived by dividing the two counts: the US pool is about 9.6 times larger.

The Hugging Face download count: what it proves and how it lies

A download count proves that files were fetched in roughly the last month. It does not prove human adoption, and it certainly does not prove the candidate built anything. On Hugging Face, every HTTP GET and HEAD request to a repo's query files is counted as a download, and by default, when no library is specified, the Hub uses config.json as that query file.

That single design choice is the whole problem. Loading config.json is not using a model; it is reading a small text file. A continuous integration pipeline that fetches config.json on every code change can add a potential 10,000 to 100,000 downloads on its own. Community reports describe the displayed number as basically the last month, so it is a rolling-usage figure, not a lifetime resume line.

Concentration inside a big organization tells the same story. The Hugging Face org's own downloads are dominated by two libraries: timm at 52.4% and distilbert at 44.6%. Two projects account for nearly all of it. Treat any headline count as a question, not an answer: is the usage sustained across months, and is there a real dependent base, or was it a brief spike?

The spike case is worth internalizing. A fake OpenAI repo appeared on Hugging Face and, within 18 hours, climbed to #1 trending with over 244,000 downloads and 667 likes. It was malware. Trending is forgeable in hours, which is why, on model hubs, sustained recency beats raw magnitude.

On a model hub, a download counts a machine reading a file, so magnitude without sustained usage proves almost nothing.

Reading a model card for authorship, not presence

A model card proves authorship only when it carries lineage and depth; a filled YAML header proves the author knew how to fill a YAML header. The card's job here is provenance. Because there is no widely adopted lockfile equivalent for model weights and no industry-standard signing mechanism for tensor files, the card is the only machine-readable provenance you get, and it is optional and self-reported.

The primary tell is the base_model field. If a model is a fine-tune, adapter, or quantized version of a base model, that base is specified in the metadata as a single ID or a list, and the Hub infers the relationship type. The allowed relations are finetune, quantized, adapter, and merge. Reading this field tells you whether you are looking at original work or a derivative of someone else's weights.

Then read depth, not presence. A real card states the training data, evaluation results, intended use, and limitations. The test is simple: can you describe what the model does and how it was evaluated from the card alone? If the header has tags and a license but none of that substance, treat it as thin.

To separate original authorship from mirrored or fine-tuned re-uploads, use these signals in order.

Card signalWhat it provesHow it lies
base_model present with relationDerivative work, lineage declaredAuthor can set relation explicitly or wrong
base_model absentPossibly originalRe-upload that simply omitted the field
Verbatim-copied card textNothing about this authorStrong mirror or malware signal
Training data + evaluation + limitsAuthor understands the modelCan be pasted from the base model's card

When base_model is absent, do not conclude original. Compare file hashes and sizes against the suspected base. A verbatim card plus matching weights is a mirror regardless of what the metadata claims.

Once you can read lineage this way, the sourcing problem inverts: instead of filtering on a skill almost no one declares, you can ask for the artifact directly.

Refolk reads these public artifacts so you can ask in plain English for original authorship rather than scrolling model cards by hand. That removes exactly the friction this section describes: telling a fine-tune the candidate trained from a mirror they re-uploaded.

Kaggle tiers: which ladder the medal came from

A Kaggle tier proves standing in one specific category, and the prestige word hides which one. The progression system covers Competitions, Notebooks, Datasets, and Discussion, done independently within each category. A user's highest tier per category is shown on the profile, and you must be Expert or higher to be ranked in a category at all. So "Grandmaster" without a category is an incomplete claim.

The requirements differ sharply by ladder. Only Competitions Grandmaster requires 5 gold medals with at least 1 solo gold, which is what makes it hard to fake through team coattails. Note also that higher medals count as bronze for the purpose of crossing a lower tier's cutoff, so tier math is more forgiving at the bottom than the top.

TierCompetitions requirementReported count
Grandmaster5 gold, at least 1 solo gold241
Master1 gold and 2 silver1,668
Expertat least 2 bronze7,206
Contributorparticipation baseline64,668

Counts are a DataCamp snapshot. A Kaggle forum post cited 257 Grandmasters against 1,827 Masters, so these numbers drift over time and are not official real-time figures. Use them for scale, not precision. The shape is what matters: Grandmaster is genuinely scarce, and the scarcity is real only for the Competitions ladder with its solo-gold rule.

The following matrix is the judgement call once you know the category and the driver behind a signal.

Reading a headline signal

Sustained over monthsBrief spike
Spike from one driver
Ignore; likely CI or a trending campaign
Spike from many
Investigate; real launch or coordinated event
Durable from one driver
Discount; a single dependency inflates it
Durable from many
Trust; genuine adoption or genuine standing
One driver (CI, bots, team)Many independent drivers
Where a signal sits on driver and durability tells you whether to trust, discount, or investigate it.

Verifying paper authorship without trusting a name

Paper linkage proves capability only when a persistent identifier ties the papers to the profile; a name match proves nothing. Since 2005, arXiv has maintained authority records linking a person's arXiv account to their papers, and arXiv lets you link your ORCID iD so your works are unambiguously connected across systems. ORCID is the anchor you want.

The procedure is to match one ORCID across arXiv, the person's own site, and their hub or LinkedIn profile. Never trust name matches alone: two researchers can share a common surname and initial. But do not over-trust ORCID either. Researcher ORCID adoption was estimated at only about 60% across fields, so the identifier is simply missing for a large minority. And ORCID records still need verification, because some records contain errors, including profile creators claiming another researcher's work as their own.

So identity verification succeeds cleanly for a minority. For the rest, you are corroborating: consistent co-author sets, an institutional email or page, a personal site that lists both the papers and the hub profile. Treat a single unverified name match as a lead, not a fact.

The procedure: reading one profile end to end

This is the eight-step read, from listing artifacts to confirming them against something the candidate cannot fake at scale. Steps one through seven are a reviewer's desk job of roughly seventy-five minutes; step eight belongs to the hiring manager and is where public evidence meets a private check.

Read an ML engineer's model-hub footprint

  1. Inventory the footprint
    List the candidate's models, datasets, Spaces, competitions, and orgs across Hugging Face and Kaggle. Done when you have a URL and a visible count for each artifact.
  2. Separate original from derivative
    For each model, open the card YAML and read base_model and its relation type. Done when every model is tagged original, finetune, quantized, merge, or mirror.
  3. Discount the download number
    Treat downloads as a rolling ~30-day figure and ask whether one CI pipeline, dependency, or bot campaign is the driver. Done when you can separate used by many from loaded by one pipeline often.
  4. Read card depth, not card presence
    Check for training data, evaluation, intended use, and limitations, not just a filled YAML header. Done when you can state what the model does and how it was evaluated from the card alone.
  5. Score Spaces as working demos
    Open each Space, confirm it runs, and confirm the code is the candidate's, not a fork. Done when you have run the demo or confirmed it is broken or cloned.
  6. Map Kaggle tier to its category
    Attribute any tier to a specific ladder and check the solo-gold requirement for Competitions. Done when the tier is tied to one named category.
  7. Verify paper authorship identity
    Match one persistent identifier such as ORCID across arXiv, the personal site, and the profile, never a name alone. Done when one identifier links the accounts.
  8. Cross-check against private-signal reality
    Add at least one non-public verification, such as a repo walkthrough or a paid trial task. Done when a public metric is confirmed against something the candidate cannot fabricate at scale.

Sources disagree on the order of the last step. Some practitioners put a repo walkthrough or take-home first and treat public metrics as secondary. That is defensible. The guidance from hiring writeups is directional but consistent: it is not enough to download a pre-trained model from Hugging Face, and candidates should be evaluated on GitHub contributions, Kaggle performance, or personal projects, where messy-but-functional code beats a certificate.

From footprint to a verified candidate

  1. Artifacts inventoried
    all

    every model, dataset, Space, tier

  2. Originals only
    fewer

    mirrors and re-uploads removed

  3. Sustained usage
    fewer

    CI-driven and spike downloads discounted

  4. Identity verified
    fewer

    ORCID or corroborated linkage

  5. Private check passed
    smallest

    repo walkthrough or trial confirms

Each stage removes a class of false positive, so the count that survives is smaller and more trustworthy.

How this goes wrong: failure modes and false positives

The failure modes below are the most valuable part of this reference, because every one of them looks like a positive signal at a glance. Each row names the false positive and the check that defeats it.

Signal read as capabilityThe false positiveThe check
Downloads as popularity30-day spike from one CI pipeline or bot campaignIs usage sustained with a real dependent base?
Filled YAML as a real cardHeader has tags and license, no training or evaluationCan you describe the evaluation from the card alone?
base_model absent means originalA re-upload that omitted the fieldCompare file hashes and sizes to the suspected base
Tier without categoryNotebooks or Discussion tier read as competition winsConfirm the ladder and the solo-gold rule
Likes and followers as endorsementBot inflation of bothSample the accounts for auto-generated names
Name match as identityTwo researchers sharing a surnameRequire one shared ORCID, then corroborate
Spaces count as working demosForked or broken Spaces padding the countRun the Space; confirm the code is the candidate's

The documented supply-chain case ties several of these together. The fake OpenAI repo reached #1 trending with over 244,000 downloads and 667 likes in 18 hours; HiddenLayer found that 657 of those 667 likes came from accounts matching auto-generated bot-naming patterns, and the model card was copied word for word from the legitimate release. Read as a whole, it fails the download check, the likes check, and the verbatim-card check at once. Any one of them, applied, would have caught it.

657 of 667
Likes on a trending fake repo that came from bot accounts
Sample the accounts doing the liking before you treat likes or followers as endorsement.

The base rate question comes up constantly: what fraction of ML profiles overstate hands-on ability? That number is not established publicly. No source publishes a percentage of profiles whose downloads, stars, or tier overstate capability. Practitioner writing is directional only. If someone quotes you a specific rate, treat it as unavailable rather than authoritative, and rely on the per-signal checks above instead of a single confidence number.

The verification checklist and how to keep it current

Run this before you call the read done. It is the compressed form of the procedure, phrased so each line is checkable, not a topic.

Before you trust the profile

  • Every model is tagged original, finetune, quantized, merge, or mirror from its base_model field.
  • Each headline download count is judged as sustained or spike, with the likely driver named.
  • At least one model card lets you state the model's evaluation from the card alone.
  • Every Kaggle tier is attributed to a named category, and Competitions tiers are checked for solo gold.
  • Any claimed paper authorship is linked by one shared ORCID or corroborated by site plus co-authors.
  • Each Space you counted has been run or confirmed broken, and the code confirmed as the candidate's.
  • Follower and like counts were sampled for auto-generated bot naming before being read as endorsement.
  • At least one non-public check, a repo walkthrough or trial task, has confirmed a public metric.

Two mechanisms make this reference age, so re-check them rather than memorizing numbers. First, the download-counting default: it counts requests to a query file, config.json by default, and the moment that default or the counting method changes, the CI-inflation reasoning shifts with it. Verify the current method in the Hugging Face download-stats docs before you lean hard on a count. Second, the Kaggle tier counts drift; the snapshot here is not a real-time figure, and the ladders' medal requirements can be adjusted. Confirm the current thresholds in the Kaggle progression thread when a tier is decisive.

The provenance gap is the one to watch longest. Today there is no signing standard and no lockfile for model weights, which is why authorship must be read by hand from the card. If a signed-manifest standard emerges, provenance becomes machine-checkable and several failure modes in the table above collapse. Until then, keep reading base_model and card lineage by hand.

For the outreach follow-through once a profile checks out, keep a short, artifact-specific opener rather than a generic template. It should cite the specific original model, dataset, or solo gold you verified, so the candidate can see you read the work and not just the count.

First-touch opener citing a verified artifact
Subject: Your work on _the specific model or dataset name_

I read your _model or Space name_ on the hub and traced its lineage from _base model_ - the _evaluation or limitations section_ was the part that stood out, because most cards skip it.

I am _your role_ at _your team, one line on what you build_. Your _original fine-tune / solo competition gold / running Space demo_ maps directly to _the concrete problem_ we are working on.

Worth a short call? Happy to send the specifics first so you can decide.

Replace the italic parts with the exact artifact you verified. Keep it to what you can prove from public evidence.

Keep the private check non-negotiable no matter how strong the public read looks. The whole reference above narrows a footprint to a defensible shortlist; it does not replace a repo walkthrough or a paid trial. Public evidence tells you who is worth an hour. The hour tells you the rest.

Questions practitioners ask

What do Hugging Face model downloads actually prove?

Very little on their own. The displayed count is roughly a 30-day rolling figure and counts every HTTP GET or HEAD to a repo's query file, which defaults to config.json. A single CI/CD pipeline reloading that file on each code change can add 10,000 to 100,000 downloads with no human adopting the model. A high number can mean one automated consumer, not field adoption, so read whether usage is sustained and whether a real dependent base exists.

What does Kaggle Grandmaster tier mean?

It means the person reached the top tier in one of four independent categories: Competitions, Notebooks, Datasets, or Discussion. Only Competitions Grandmaster requires 5 gold medals with at least 1 solo gold, which is genuinely hard. A Notebooks or Discussion Grandmaster never had to win a competition, so always confirm which category the tier belongs to before reading it as competition strength.

How do I tell an original model from a re-upload on Hugging Face?

Read the base_model field in the card YAML and its inferred relation type: finetune, quantized, adapter, or merge. A model with no base_model, a verbatim-copied card, and no training details or linked datasets is a re-upload red flag. That combination was the fingerprint of a documented malware repo that copied a legitimate card word for word. When base_model is simply absent, compare file sizes and hashes against the suspected base rather than assuming original authorship.

Can I filter ML candidates by whether they list Hugging Face as a skill?

No, and it will silently drop your best candidates. In Refolk's index only 41 US-based ML engineers explicitly list Hugging Face as a skill, against 5,874 who list PyTorch, a 0.7% declaration rate. The skill is almost never self-declared, so capability has to be read from published artifacts and model-hub footprint rather than a keyword field.

Are Hugging Face likes and followers a reliable endorsement?

Not by themselves. In a documented case, a fake OpenAI repo climbed to #1 trending in 18 hours with 667 likes, of which 657 came from accounts matching auto-generated bot-naming patterns. Before treating likes or followers as social proof, sample the accounts doing the liking and following and check for auto-generated names and empty profiles.

Try it on your own search

Stop building boolean strings. Just describe the person.

Type one sentence and I plan the search, read GitHub, public LinkedIn and Crunchbase records, and the open web live, then hand back a ranked shortlist with the reasoning behind every name. No filters to learn, no export to clean up, no sales call to sit through.

  • One sentence in, a ranked shortlist out. No boolean, no filters, no seat to buy.
  • Read live at search time, not from a database that went stale last quarter.
  • Watch every step as it runs, and see why each name made the list.

500 free credits on sign-up. No card, no demo call. See real searches.

Read next