agentleFS
Hugging FaceKnown publisherhuggingface/optimum-intel/.github/skills/tiny-model-creator/SKILL.md

tiny-model-creator

Skill625 starsChanged 15 days agoApache-2.0View on GitHub

Create a small random Hugging Face model that preserves the original architecture and can serve as a local Optimum Intel repository test fixture.

The file

Show its rules and text

We split this skill into the rules it gives an agent

17 rules. About 0 are common, 11 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create a tiny random model for the requested architecture without loading the original model weights.

    line 11
  2. Distinctive:

    If repairing a tiny model after a validation or benchmark failure, start from the exact failing local artifact, creation script, traceback, …

    line 15
  3. Very specific:

    Create create_tiny_model.py in the designated working directory.

    line 44
  4. Very specific:

    Do not reuse a cache merely because config.json and a weight file exist.

    line 62
  5. Distinctive:

    Before returning it, validate a cache-format/version marker and all critical configuration invariants, including architecture identity, …

    line 63
  6. Very specific:

    Keep construction logic easy to adapt into _create_tiny_<model_type>_model() in tests/openvino/utils_tests.py.

    line 68
  7. Very specific:

    When deliberately forcing a test model to float32, update and verify every effective precision field used by the remote configuration …

    line 81
  8. Distinctive:

    Never rename the model type, substitute a nearby architecture, or remove a component merely to make export pass.

    line 86
  9. Very specific:

    If the tiny model's model_type, architectures, or task-relevant component identity differs from the original model, stop and report the …

    line 89
  10. Very specific:

    Follow the task-specific tiny-model validation and output-validity instructions supplied for <task>.

    line 99
  11. Distinctive:

    If task execution fails, repair the violated configuration invariant, recreate the model, and rerun it.

    line 102
  12. Distinctive:

    Do not upload the tiny model to Hugging Face.

    line 113
  13. Distinctive:

    Do not edit installed packages or the virtual environment.

    line 114
  14. Distinctive:

    Do not modify system files or system-wide package installations.

    line 115
  15. Distinctive:

    Use a deterministic seed where supported.

    line 116
  16. Distinctive:

    Avoid original weight downloads and large generated artifacts.

    line 117
  17. Distinctive:

    Never commit machine-specific absolute paths.

    line 118

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Tiny Model Creator

Create a tiny random model for the requested architecture without loading the original model weights. The artifact must preserve the real architecture and execute the requested task path.

If repairing a tiny model after a validation or benchmark failure, start from the exact failing local artifact, creation script, traceback, and task reproducer. Repair that artifact and rerun the same command; do not generate a different model and use its success as evidence for the failed one.

Step 1 — Inspect the original model

Download or load configuration and lightweight code/processor assets only. Record:

  • model_type, architectures, auto_map, and Transformers metadata;
  • nested text, vision, audio, and projector configurations;
  • hidden-size, head-count, grouping, rotary, cache, vocabulary, and special token invariants;
  • tokenizer, processor, chat-template, and remote-code files required to load;
  • the correct model or pipeline class and execution interface for the task.

Determine and record the Transformers version or version range supported by the original model, especially for trust-remote-code architectures. Create and validate the tiny model using a compatible version; do not silently substitute another model implementation because the active Transformers version lacks the architecture.

Inspect precision fields under every relevant configuration level. Remote models may use dtype, torch_dtype, or both, including separate values in vision, text, audio, or projector sub-configs.

Step 2 — Write a reusable constructor

Create create_tiny_model.py in the designated working directory. It must:

  1. Load the original configuration without loading original weights.
  2. Reduce layers, hidden dimensions, intermediate sizes, vocabulary, image resolution or patch counts, experts, and similar scale parameters.
  3. Preserve divisibility and coupling invariants such as head dimensions, grouped-query attention, projector sizes, vision/text bridges, cache dimensions, and special-token IDs.
  4. Instantiate random weights through the real architecture class.
  5. Save every required config, tokenizer, processor, chat template, generation config, and remote-code asset.
  6. Reuse a completed cached output directory on repeated calls.

Define maximum parameter-count and model-memory budgets, then verify both after construction so reducing layer count cannot be offset by widening other dimensions. Estimate weight memory from each parameter's element count and element size, and reject a candidate that exceeds either budget.

Do not reuse a cache merely because config.json and a weight file exist. Before returning it, validate a cache-format/version marker and all critical configuration invariants, including architecture identity, dimensions, special tokens, processor assets, and nested precision fields. Rebuild the cache when the generator logic or required invariants change.

Keep construction logic easy to adapt into _create_tiny_<model_type>_model() in tests/openvino/utils_tests.py.

Step 3 — Verify architecture identity

Compare the original and tiny configurations. Preserve:

  • model_type and architectures;
  • task-relevant sub-config types and component roles;
  • cache/stateful and position-ID contracts;
  • VLM processor classes, placeholder/image tokens, and merge contracts;
  • MoE/expert topology, even when expert counts are reduced.

When deliberately forcing a test model to float32, update and verify every effective precision field used by the remote configuration (dtype and/or torch_dtype, including nested sub-configs). Reload the saved model and check its actual parameter dtypes; editing an ignored config key is not sufficient.

Never rename the model type, substitute a nearby architecture, or remove a component merely to make export pass.

If the tiny model's model_type, architectures, or task-relevant component identity differs from the original model, stop and report the mismatch. A tiny model that executes successfully through another architecture is not a valid fixture.

Step 4 — Validate the real task path

Reload the saved directory through its documented Transformers or pipeline API and execute the requested task.

Follow the task-specific tiny-model validation and output-validity instructions supplied for <task>.

If task execution fails, repair the violated configuration invariant, recreate the model, and rerun it. Loading, saving, or a forward pass alone is not success.

The final validation evidence must load the exact output directory returned by the creator, execute the requested task, and include the command and output. Do not validate one directory and return a different cached or previously generated artifact.

Rules

  • Do not upload the tiny model to Hugging Face.
  • Do not edit installed packages or the virtual environment.
  • Do not modify system files or system-wide package installations.
  • Use a deterministic seed where supported.
  • Avoid original weight downloads and large generated artifacts.
  • Never commit machine-specific absolute paths.
  • Cache repository-test fixtures so test collection does not rebuild them unnecessarily.

Report

Report the output directory, script path, configuration comparison, parameter count, exact task execution command, output, and any dependency or remote-code constraints.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.