File size: 2,469 Bytes
735da09
 
 
0ca35bb
735da09
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
---
license: cc-by-nc-4.0
library_name: transformers.js
pipeline_tag: text-generation
tags:
  - coedit
  - grammar
  - writing-assistant
  - onnx
  - webgpu
  - transformers.js
base_model: grammarly/coedit-large
---

# CoEdIT Large for WebGPU (ONNX)

Browser-ready ONNX export of [`grammarly/coedit-large`](https://huggingface.co/grammarly/coedit-large), packaged for local seq2seq generation with Transformers.js and ONNX Runtime WebGPU.

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-large-webgpu-onnx";
const tokenizer = await AutoTokenizer.from_pretrained(modelId);
const model = await AutoModelForSeq2SeqLM.from_pretrained(modelId, {
  device: "webgpu",
  dtype: "fp32",
});

const input = await tokenizer(
  "Paraphrase the sentence: The application performs all inference locally.",
);
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,
}));
```

## 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

- Architecture: FLAN-T5 Large / CoEdIT
- 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

**Noncommercial use only.** This derivative export follows the upstream Creative Commons Attribution-NonCommercial 4.0 license. See the [source model card](https://huggingface.co/grammarly/coedit-large) for training details, limitations, and attribution.