
# A Pythia Chat Model of 31M Parameters

- Base model: [EleutherAI/pythia-31m](https://huggingface.co/EleutherAI/pythia-31m)
- Availability in other ML formats:
  - ONNX: [Felladrin/onnx-Pythia-31M-Chat-v1](https://huggingface.co/Felladrin/onnx-Pythia-31M-Chat-v1)

## Recommended prompt format

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

## Recommended inference parameters

```yml
penalty_alpha: 0.5
top_k: 2
repetition_penalty: 1.0016
```

## Datasets and parameters used for training

| Dataset | License Type |
|---------|--------------|
| [totally-not-an-llm/EverythingLM-data-V3](https://huggingface.co/datasets/totally-not-an-llm/EverythingLM-data-V3) | mit |
| [databricks/databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) | cc-by-sa-3.0 |
| [THUDM/webglm-qa](https://huggingface.co/datasets/THUDM/webglm-qa) | apache-2.0 |
| [starfishmedical/webGPT_x_dolly](https://huggingface.co/datasets/starfishmedical/webGPT_x_dolly) | cc-by-sa-3.0 |
| [Amod/mental_health_counseling_conversations](https://huggingface.co/datasets/Amod/mental_health_counseling_conversations) | openrail |
| [sablo/oasst2_curated](https://huggingface.co/datasets/sablo/oasst2_curated) | apache-2.0 |
| [cognitivecomputations/wizard_vicuna_70k_unfiltered](https://huggingface.co/datasets/cognitivecomputations/wizard_vicuna_70k_unfiltered) | apache-2.0 |
| [mlabonne/chatml_dpo_pairs](https://huggingface.co/datasets/mlabonne/chatml_dpo_pairs) | apache-2.0 |

```python
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
        ),
    ],
)
```

```python
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
        ),
    ],
)
```

{"language": ["en"], "license": "apache-2.0", "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", "base_model": "EleutherAI/pythia-31m", "widget": [{"text": "<|im_start|>system\nYou 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.<|im_end|>\n<|im_start|>user\nHeya!<|im_end|>\n<|im_start|>assistant\nHi! How may I help you?<|im_end|>\n<|im_start|>user\nI am interested in developing a career in software engineering. What would you recommend me to do?<|im_end|>\n<|im_start|>assistant"}, {"text": "<|im_start|>system\nYou are a helpful assistant who answers user's questions with details and curiosity.<|im_end|>\n<|im_start|>user\nWhat are some potential applications for quantum computing?<|im_end|>\n<|im_start|>assistant"}, {"text": "<|im_start|>system\nYou are a highly knowledgeable assistant. Help the user as much as you can.<|im_end|>\n<|im_start|>user\nWhat are some steps I can take to become a healthier person?<|im_end|>\n<|im_start|>assistant"}], "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"}}]}]}
transformers safetensors gpt_neox text-generation conversational en dataset:totally-not-an-llm/EverythingLM-data-V3 dataset:databricks/databricks-dolly-15k dataset:THUDM/webglm-qa dataset:starfishmedical/webGPT_x_dolly dataset:Amod/mental_health_counseling_conversations dataset:sablo/oasst2_curated dataset:cognitivecomputations/wizard_vicuna_70k_unfiltered dataset:mlabonne/chatml_dpo_pairs base_model:EleutherAI/pythia-31m license:apache-2.0 model-index autotrain_compatible endpoints_compatible has_space text-generation-inference region:us