Pythia-31M-Chat-v1 / README.md
Felladrin's picture
Add link to GGUF version
47f3c45 verified
metadata
language:
  - en
license: apache-2.0
base_model: EleutherAI/pythia-31m
datasets:
  - totally-not-an-llm/EverythingLM-data-V3
  - databricks/databricks-dolly-15k
  - THUDM/webglm-qa
  - starfishmedical/webGPT_x_dolly
  - Amod/mental_health_counseling_conversations
  - sablo/oasst2_curated
  - cognitivecomputations/wizard_vicuna_70k_unfiltered
  - mlabonne/chatml_dpo_pairs
pipeline_tag: text-generation
widget:
  - messages:
      - role: system
        content: >-
          You are a career counselor. The user will provide you with an
          individual looking for guidance in their professional life, and your
          task is to assist them in determining what careers they are most
          suited for based on their skills, interests, and experience. You
          should also conduct research into the various options available,
          explain the job market trends in different industries, and advice on
          which qualifications would be beneficial for pursuing particular
          fields.
      - role: user
        content: Heya!
      - role: assistant
        content: Hi! How may I help you?
      - role: user
        content: >-
          I am interested in developing a career in software engineering. What
          would you recommend me to do?
  - messages:
      - role: system
        content: >-
          You are a helpful assistant who answers user's questions with details
          and curiosity.
      - role: user
        content: What are some potential applications for quantum computing?
  - messages:
      - role: system
        content: >-
          You are a highly knowledgeable assistant. Help the user as much as you
          can.
      - role: user
        content: What are some steps I can take to become a healthier person?
inference:
  parameters:
    max_new_tokens: 250
    penalty_alpha: 0.5
    top_k: 2
    repetition_penalty: 1.0016
model-index:
  - name: Pythia-31M-Chat-v1
    results:
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: AI2 Reasoning Challenge (25-Shot)
          type: ai2_arc
          config: ARC-Challenge
          split: test
          args:
            num_few_shot: 25
        metrics:
          - type: acc_norm
            value: 22.7
            name: normalized accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=Felladrin/Pythia-31M-Chat-v1
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: HellaSwag (10-Shot)
          type: hellaswag
          split: validation
          args:
            num_few_shot: 10
        metrics:
          - type: acc_norm
            value: 25.6
            name: normalized accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=Felladrin/Pythia-31M-Chat-v1
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: MMLU (5-Shot)
          type: cais/mmlu
          config: all
          split: test
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 23.24
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=Felladrin/Pythia-31M-Chat-v1
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: Winogrande (5-shot)
          type: winogrande
          config: winogrande_xl
          split: validation
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 47.99
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=Felladrin/Pythia-31M-Chat-v1
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: TruthfulQA (0-shot)
          type: truthful_qa
          config: multiple_choice
          split: validation
          args:
            num_few_shot: 0
        metrics:
          - type: mc2
            value: 0
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=Felladrin/Pythia-31M-Chat-v1
          name: Open LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: GSM8k (5-shot)
          type: gsm8k
          config: main
          split: test
          args:
            num_few_shot: 5
        metrics:
          - type: acc
            value: 0
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard?query=Felladrin/Pythia-31M-Chat-v1
          name: Open LLM Leaderboard

A Pythia Chat Model of 31M Parameters

Recommended prompt format

<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{user_message}<|im_end|>
<|im_start|>assistant

Recommended inference parameters

penalty_alpha: 0.5
top_k: 2
repetition_penalty: 1.0016

Datasets and parameters used for training

SFTTrainer(
    model,
    train_dataset=train_dataset,
    dataset_text_field="text",
    eval_dataset=eval_dataset,
    max_seq_length=2048,
    packing=True,
    args=TrainingArguments(
        learning_rate=2e-6,
        per_device_train_batch_size=1,
        per_device_eval_batch_size=1,
        gradient_accumulation_steps=16,
        lr_scheduler_type="cosine",
        num_train_epochs=1,
        logging_strategy="steps",
        save_strategy="steps",
        evaluation_strategy="steps",
        logging_steps=10,
        eval_steps=10,
        save_steps=10,
        warmup_steps=50,
        load_best_model_at_end=True,
        metric_for_best_model="eval_loss",
        greater_is_better=False,
        weight_decay=0.01,
        save_total_limit=10,
        neftune_noise_alpha=5,
    ),
    callbacks=[
        EarlyStoppingCallback(
            early_stopping_patience=3,
            early_stopping_threshold=0.005
        ),
    ],
)
DPOTrainer(
    model,
    beta=0.1,
    train_dataset=dataset,
    tokenizer=tokenizer,
    eval_dataset=eval_dataset,
    max_length=1536,
    max_prompt_length=1024,
    args=TrainingArguments(
        learning_rate=2e-6,
        per_device_train_batch_size=1,
        per_device_eval_batch_size=1,
        gradient_accumulation_steps=1,
        lr_scheduler_type="cosine",
        num_train_epochs=1,
        logging_strategy="steps",
        save_strategy="steps",
        evaluation_strategy="steps",
        logging_steps=1,
        eval_steps=1,
        save_steps=1,
        warmup_steps=0,
        load_best_model_at_end=True,
        metric_for_best_model="eval_loss",
        greater_is_better=False,
        weight_decay=0.0,
        neftune_noise_alpha=5,
        remove_unused_columns=False,
    ),
    callbacks=[
        EarlyStoppingCallback(
            early_stopping_patience=3,
            early_stopping_threshold=0.005
        ),
    ],
)

Open LLM Leaderboard Evaluation Results

Detailed results can be found here

Metric Value
Avg. 19.92
AI2 Reasoning Challenge (25-Shot) 22.70
HellaSwag (10-Shot) 25.60
MMLU (5-Shot) 23.24
TruthfulQA (0-shot) 0.00
Winogrande (5-shot) 47.99
GSM8k (5-shot) 0.00