pszemraj's picture
add python code as example
cc8b8ac
|
raw
history blame
3.69 kB
metadata
license:
  - cc-by-nc-sa-4.0
tags:
  - text generation
  - generated_from_trainer
  - 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 <NAME>,


      Thank 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 <NAME>,


      I hope this email finds you well. I wanted to reach out and ask about
      office hours
    example_title: office hours
  - text: >-
      Greetings <NAME>,


      I hope you had a splendid evening at the Company sausage eating festival.
      I am reaching out because
    example_title: festival
  - text: |-
      Good Morning Harold,

      I was wondering when the next
    example_title: event
  - text: URGENT - I need the TPS reports
    example_title: URGENT
  - text: |-
      Hi Archibald,

      I hope this email finds you extremely well.
    example_title: emails that find you
  - text: |-
      Hello there.

      I just wanted to reach out and check in to
    example_title: checking in
  - text: >-
      Hello <NAME>,


      I 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 <NAME>,


      I 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 <NAME> 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

Why write the entire email when you can generate (most of) it?

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 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 currently the most performant model publicly available for email generation, and is licensed with cc-by-nc-sa-4.0.

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