t5-tiny-gec-hone / README.md
rabden's picture
Upload README.md with huggingface_hub
d5f27b8 verified
---
language: en
tags:
- grammar-correction
- t5
- onnx
- transformers-js
widget:
- text: "he go to school yesterday"
example_title: Subject-verb agreement
- text: "she dont like apples"
example_title: Negative conjugation
- text: "i have went to the store"
example_title: Past participle
license: mit
---
# T5 Tiny GEC — Grammar Error Correction
Tiny grammar correction model exported to ONNX for [Transformers.js](https://huggingface.co/docs/transformers.js) v3. Based on [`visheratin/t5-efficient-tiny-grammar-correction`](https://huggingface.co/visheratin/t5-efficient-tiny-grammar-correction).
- 4 decoder layers, `d_model=256`, `num_heads=4`
- Encoder: 43MB FP32 / **11MB INT8**
- Decoder: 79MB FP32 / **20MB INT8**
- Runs in-browser or Node.js via ONNX Runtime
## Usage
```js
import { pipeline } from '@huggingface/transformers';
const corrector = await pipeline('text2text-generation', 'rabden/t5-tiny-gec-hone', {
quantized: true,
dtype: 'q8',
});
const result = await corrector('he go to school yesterday', {
max_new_tokens: 64,
temperature: 0,
do_sample: false,
});
// "He went to school yesterday."
```
## Performance
Measured on CPU (Node.js, ONNX Runtime, INT8 quantized):
| Input | Output | Time |
|---|---|---|
| he go to school yesterday | He went to school yesterday. | ~115ms |
| she dont like apples | She doesn't like apples. | ~47ms |
| i have went to the store | I have been to the store. | ~40ms |
| they was running fast | They were running fast. | ~30ms |
First-load from HuggingFace Hub: ~18s / Cached load: ~0.7s
## Files
| File | Size |
|---|---|
| `onnx/encoder_model.onnx` | 43.5 MB |
| `onnx/encoder_model_quantized.onnx` | 11.0 MB |
| `onnx/decoder_model_merged.onnx` | 78.9 MB |
| `onnx/decoder_model_merged_quantized.onnx` | 19.9 MB |
| `config.json` | — |
| `tokenizer.json` | 2.3 MB |
## Notes
The ONNX export uses a custom `NonGrowingCache` for cross-attention to prevent KV cache doubling across decoder steps. Standard `DynamicCache` concatenates past and new encoder keys, causing a shape mismatch in cross-attention position bias on the second decoder step.