imrahamed's picture
Use supported HF pipeline metadata
bb88a28 verified
|
Raw
History Blame Contribute Delete
3.67 kB
---
license: apache-2.0
library_name: transformers.js
pipeline_tag: text-generation
tags:
- coedit
- flan-t5
- text2text-generation
- grammar
- writing-assistant
- onnx
- webgpu
- transformers.js
datasets:
- grammarly/coedit
---
# Flint CoEdIT Base for WebGPU (ONNX)
Browser-ready ONNX export of the 250M-parameter CoEdIT Base checkpoint,
packaged for local sequence-to-sequence generation with Transformers.js and
ONNX Runtime WebGPU.
## Correct model lineage
This repository is an inference-format conversion, not a newly trained model
and not an export of `grammarly/coedit-large`.
| Role | Model or dataset |
| --- | --- |
| Foundation architecture | [`google/flan-t5-base`](https://huggingface.co/google/flan-t5-base) |
| Fine-tuned checkpoint converted here | [`jbochi/coedit-base`](https://huggingface.co/jbochi/coedit-base) |
| Fine-tuning dataset | [`grammarly/coedit`](https://huggingface.co/datasets/grammarly/coedit) |
| This ONNX export | [`imrahamed/coedit-base-webgpu-onnx`](https://huggingface.co/imrahamed/coedit-base-webgpu-onnx) |
Grammarly publishes the CoEdIT dataset and the official Large, XL, and XXL
checkpoints. It does not publish an official `grammarly/coedit-base`
checkpoint. The Base checkpoint converted here is the FLAN-T5 Base fine-tune
published by `jbochi`.
This repository contains only the two graphs required for cached browser generation:
- `onnx/encoder_model.onnx`
- `onnx/decoder_model_merged.onnx`
Tokenizer, model configuration, and generation configuration are included at the repository root. The redundant uncached decoder exports are intentionally omitted.
## Usage with Transformers.js
```js
import {
AutoModelForSeq2SeqLM,
AutoTokenizer,
} from "@huggingface/transformers";
const modelId = "imrahamed/coedit-base-webgpu-onnx";
const tokenizer = await AutoTokenizer.from_pretrained(modelId);
const model = await AutoModelForSeq2SeqLM.from_pretrained(modelId, {
device: "webgpu",
dtype: "fp32",
});
const input = await tokenizer(
"Fix grammatical errors in this sentence: This are a test.",
);
const output = await model.generate({
inputs: input.input_ids,
attention_mask: input.attention_mask,
max_new_tokens: 64,
});
console.log(
tokenizer.decode(output.tolist()[0], {
skip_special_tokens: true,
}),
);
```
Expected output: `This is a test.`
## CoEdIT task prompts
| Feature | Prompt |
| -------- | ------------------------------------------------- |
| Grammar | `Fix grammatical errors in this sentence: {text}` |
| Formal | `Make the sentence formal: {text}` |
| Casual | `Change the style to casual: {text}` |
| Simplify | `Make the sentence simpler: {text}` |
| Rewrite | `Paraphrase the sentence: {text}` |
## Export details
- Foundation architecture: FLAN-T5 Base
- Converted checkpoint: `jbochi/coedit-base`
- Fine-tuning dataset: `grammarly/coedit`
- Parameters: approximately 250M
- Format: ONNX, FP32
- Opset: 18
- Export task: `text2text-generation-with-past`
- Optimization: Optimum ONNX Runtime `O2`
- Intended execution provider: ONNX Runtime WebGPU
- CPU/WASM fallback should be provided by the consuming application.
The export was validated against the source model. Small floating-point differences from ONNX graph optimization may occur.
## License and attribution
This derivative export follows the converted checkpoint's Apache 2.0 license.
See the [`jbochi/coedit-base` model
card](https://huggingface.co/jbochi/coedit-base) for its reported training
details and metrics. CoEdIT paper and dataset attribution remains applicable.