AutoTrain documentation
LLM Finetuning
LLM Finetuning
With AutoTrain, you can easily finetune large language models (LLMs) on your own data!
AutoTrain supports the following types of LLM finetuning:
- Causal Language Modeling (CLM)
- Masked Language Modeling (MLM) [Coming Soon]
Data Preparation
LLM finetuning accepts data in CSV format.
Data Format For SFT / Generic Trainer
For SFT / Generic Trainer, the data should be in the following format:
| text |
|---|
| human: hello \n bot: hi nice to meet you |
| human: how are you \n bot: I am fine |
| human: What is your name? \n bot: My name is Mary |
| human: Which is the best programming language? \n bot: Python |
An example dataset for this format can be found here: https://huggingface.co/datasets/timdettmers/openassistant-guanaco
For SFT/Generic training, your dataset must have a text column
Data Format For Reward Trainer
For Reward Trainer, the data should be in the following format:
| text | rejected_text |
|---|---|
| human: hello \n bot: hi nice to meet you | human: hello \n bot: leave me alone |
| human: how are you \n bot: I am fine | human: how are you \n bot: I am not fine |
| human: What is your name? \n bot: My name is Mary | human: What is your name? \n bot: Whats it to you? |
| human: Which is the best programming language? \n bot: Python | human: Which is the best programming language? \n bot: Javascript |
For Reward Trainer, your dataset must have a text column (aka chosen text) and a rejected_text column.
Data Format For DPO/ORPO Trainer
For DPO/ORPO Trainer, the data should be in the following format:
| prompt | text | rejected_text |
|---|---|---|
| hello | hi nice to meet you | leave me alone |
| how are you | I am fine | I am not fine |
| What is your name? | My name is Mary | Whats it to you? |
| What is your name? | My name is Mary | I dont have a name |
| Which is the best programming language? | Python | Javascript |
| Which is the best programming language? | Python | C++ |
| Which is the best programming language? | Java | C++ |
For DPO/ORPO Trainer, your dataset must have a prompt column, a text column (aka chosen text) and a rejected_text column.
For all tasks, you can use both CSV and JSONL files!
< > Update on GitHub