whisper-tiny-mic / README.md
tarekziade's picture
tarekziade HF Staff
Restore full contract and slim-model descriptions on the landing page
c51a66e verified
|
Raw History Blame Contribute Delete
3.74 kB
---
tags:
- mic
- test-artifact
base_model: openai/whisper-tiny
---
# whisper-tiny-mic
Slim model weights, executable usage and framework expectations in one repository.
- [Contract manifest](integration.json)
- [Transformers usage](integrations/transformers/usage.md)
- [Transformers expectations](integrations/transformers/expectations)
- [Fixture provenance](build.json)
## Contract
### MIC: Whisper speech recognition
Model integration contract (MIC) for one usage path, across the checkpoints that share it. This repository holds the contract code and the manifest; each framework keeps its own expected results and pins this repository by revision. The model repositories are unchanged. It is a test artifact, not a model: exclude it from model search.
Usage path: WhisperProcessor + WhisperForConditionalGeneration.generate, English transcription, batched.
| File | What it is |
| --- | --- |
| [`integration.json`](integration.json) | Manifest: checkpoints, which fixture covers each, frameworks, entry points, variants, unsupported targets, comparison rules |
| [`integrations/transformers/usage.md`](integrations/transformers/usage.md) | Transformers contract, written as doc-builder runnable markdown: the same blocks are documentation and test |
| Checkpoint | Slim fixture (every framework PR) |
| --- | --- |
| [`openai/whisper-tiny`](https://huggingface.co/openai/whisper-tiny) | [`hf-internal-testing/mic-whisper-tiny-slim`](https://huggingface.co/hf-internal-testing/mic-whisper-tiny-slim) |
Checked outputs: `generated_tokens`, `generated_text`, `label_logprobs`, `timestamped_tokens`, `timestamped_text`, `feature_extractor_config_keys`, `max_length_tokens`, `assisted_tokens`, `longform_tokens`, `continued_longform_tokens`, `training.loss`, `training.gradients`, `training.updated`.
A fixture pass and a real-checkpoint pass have different scopes; either establishes agreement on fixed inputs and a recorded runtime, not correctness on arbitrary inputs.
## Slim model
### Slim fixture: proto-whisper-tiny-slim
A 3.6M-parameter fixture for the [Whisper MIC](https://huggingface.co/huggingface-mic/whisper-tiny-mic), covering [`openai/whisper-tiny`](https://huggingface.co/openai/whisper-tiny). It is a test artifact, not a usable model, tagged `test-artifact` to keep it out of candidate-model search.
- **Fixture key `71360928908b`.** It covers every checkpoint whose processor files are byte-identical and whose config matches after shrinking.
- **Same architecture, smaller config:** `WhisperForConditionalGeneration`, shrunk by the generic rule in [`sweep.py`](https://github.com/huggingface/transformers-mic/blob/main/experiments/sweep.py) (encoder_layers 2, decoder_layers 2).
- **Processor files copied byte for byte** from `openai/whisper-tiny`: `added_tokens.json`, `generation_config.json`, `merges.txt`, `normalizer.json`, `preprocessor_config.json`, `special_tokens_map.json`, `tokenizer.json`, `tokenizer_config.json`, `vocab.json`.
- **Overfit to the contract's training step** (200 steps). Random weights failed the input-sensitivity gate: `input_features:reverse` moved the logits by only 8.6e-05 (threshold 0.001).
- **Same tensor names as the real checkpoint.** The real checkpoint has every parameter, and so does the fixture.
- **Finite in float32, bfloat16, and float16** (forward, loss, gradients).
Built by [`build_fixtures.py`](https://github.com/huggingface/transformers-mic/blob/main/example/build_fixtures.py); [`build.json`](build.json) records the pinned sources, gate results, and file hashes. This repository includes the slim weights, usage and framework expectations; rebuild the other files with `python example/build_fixtures.py --fixture proto-whisper-tiny-slim`.