--- license: - apache-2.0 tags: - text generation - emailgen - email generation - email datasets: - aeslc - postbot/multi-emails-100k widget: - text: "Good Morning Professor Beans, Hope you are doing well. I just wanted to reach out and ask if differential calculus will be on the exam" example_title: "email to prof" - 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. I wanted to reach out and ask about office hours" example_title: "office hours" - 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 Harold,\n\nI was wondering when the next" example_title: "event" - text: "URGENT - I need the TPS reports" example_title: "URGENT" - text: "Hi Archibald,\n\nI hope this email finds you extremely well." example_title: "emails that find you" - text: "Hello there.\n\nI just wanted to reach out and check in to" example_title: "checking in" - text: "Hello ,\n\nI hope this email finds you well. I wanted to reach out and see if you've enjoyed your time with us" example_title: "work well" - text: "Hi ,\n\nI hope this email finds you well. I wanted to reach out and see if we could catch up" example_title: "catch up" - text: "I'm and I just moved into the area and wanted to reach out and get some details on where I could get groceries and" example_title: "grocery" parameters: min_length: 32 max_length: 128 no_repeat_ngram_size: 2 do_sample: True temperature: 0.3 top_k: 20 top_p: 0.95 repetition_penalty: 3.5 length_penalty: 0.9 --- # gpt2-medium-emailgen [![colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/gist/pszemraj/70058788c6d4b430398c12ee8ba10602/minimal-demo-for-postbot-gpt2-medium-emailgen.ipynb ) Why write the entire email when you can generate (most of) it? ```python from transformers import pipeline model_tag = "postbot/gpt2-medium-emailgen" generator = pipeline( 'text-generation', model=model_tag, ) prompt = """ Hello, Following up on the bubblegum shipment.""" result = generator( prompt, max_length=64, do_sample=False, early_stopping=True, ) # generate print(result[0]['generated_text']) ``` ## about This model is a fine-tuned version of [gpt2-medium](https://huggingface.co/gpt2-medium) on the postbot/multi-emails-100k dataset. It achieves the following results on the evaluation set: - Loss: 1.5840 ## Model description More information needed ## Intended uses & limitations - this is intended as a tool to save time writing predictable emails and not to write emails without a human-in-the-loop. validate that your email is factually correct before sending it to others. ## Training and evaluation data - the dataset is essentially a hand-curated/augmented expansion to the classic `aeslc` dataset ## Training procedure ### Training hyperparameters The following hyperparameters were used during training: - learning_rate: 0.001 - train_batch_size: 16 - eval_batch_size: 16 - seed: 42 - distributed_type: multi-GPU - gradient_accumulation_steps: 8 - 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.02 - num_epochs: 3 ### Training results | Training Loss | Epoch | Step | Validation Loss | |:-------------:|:-----:|:----:|:---------------:| | 1.8701 | 1.0 | 789 | 1.8378 | | 1.5065 | 2.0 | 1578 | 1.6176 | | 1.1873 | 3.0 | 2367 | 1.5840 | ### Framework versions - Transformers 4.22.2 - Pytorch 1.10.0+cu113 - Datasets 2.5.1 - Tokenizers 0.12.1 # [Open LLM Leaderboard Evaluation Results](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard) Detailed results can be found [here](https://huggingface.co/datasets/open-llm-leaderboard/details_postbot__gpt2-medium-emailgen) | Metric | Value | |-----------------------|---------------------------| | Avg. | 25.97 | | ARC (25-shot) | 26.45 | | HellaSwag (10-shot) | 34.31 | | MMLU (5-shot) | 24.1 | | TruthfulQA (0-shot) | 43.96 | | Winogrande (5-shot) | 50.43 | | GSM8K (5-shot) | 0.0 | | DROP (3-shot) | 2.53 |