--- license: other tags: - generated_from_trainer - opt - custom-license - no-commercial - email - auto-complete datasets: - aeslc widget: - text: "Hey ,\n\nThank you for signing up for my weekly newsletter. Before we get started, you'll have to confirm your email address." example_title: "newsletter" - text: "Hi ,\n\nI hope this email finds you well. Let me start by saying that I am a big fan of your work." example_title: "fan" - text: "Greetings ,\n\nI hope you had a splendid evening at the Company sausage eating festival. I am reaching out because" example_title: "festival" - text: "Good Morning ,\n\nI was just thinking to myself about how much I love creating value" example_title: "value" - text: "URGENT - I need" example_title: "URGENT" inference: parameters: min_length: 4 max_length: 64 length_penalty: 0.7 no_repeat_ngram_size: 3 do_sample: False num_beams: 4 early_stopping: True repetition_penalty: 3.5 --- # opt for email generation - 350M > If you like the idea of wasting less time on emails, further work on this topic can be found [on this hf org page](https://huggingface.co/postbot) Why write the rest of your email when you can generate it? ```python from transformers import pipeline model_tag = "pszemraj/opt-350m-email-generation" generator = pipeline( 'text-generation', model=model_tag, use_fast=False, do_sample=False, early_stopping=True, ) prompt = """ Hello, Following up on the bubblegum shipment.""" generator( prompt, max_length=64, ) # generate ``` - [Link to notebook](https://colab.research.google.com/gist/pszemraj/40c46deed730bfca553b8c4b257a7b77/email-autocomplete-demo.ipynb) on Colab > For this model, formatting matters. The results may be (significantly) different between the structure outlined above and `prompt = "Hey, just wanted to ..."` etc. ## Model description - This model is a fine-tuned version of [facebook/opt-350m](https://huggingface.co/facebook/opt-350m) on the [aeslc](https://huggingface.co/datasets/aeslc) dataset for six epochs. - Emails, phone numbers, etc., were attempted to be excluded in a dataset preparation step using [clean-text](https://pypi.org/project/clean-text/) in Python. - Note that API is restricted to generating 64 tokens - you can generate longer emails by using this in a text-generation `pipeline` object ## Intended uses & limitations - in their everlasting wisdom, Facebook/Meta has decided to make a custom license for this, specifying several things. See [facebook/opt-350m](https://huggingface.co/facebook/opt-350m) for details. ## Training and evaluation data - the `email_body` field of train + validation (get more data) from the [aeslc](https://huggingface.co/datasets/aeslc) dataset. ## Training procedure ### Training hyperparameters The following hyperparameters were used during training: - learning_rate: 6e-05 - train_batch_size: 8 - eval_batch_size: 8 - seed: 42 - distributed_type: multi-GPU - gradient_accumulation_steps: 16 - total_train_batch_size: 128 - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 - lr_scheduler_type: cosine - lr_scheduler_warmup_ratio: 0.03 - num_epochs: 6 ### Framework versions - Transformers 4.19.2 - Pytorch 1.11.0+cu113 - Tokenizers 0.12.1