|
--- |
|
base_model: NousResearch/Meta-Llama-3-8B |
|
tags: |
|
- generated_from_trainer |
|
model-index: |
|
- name: LLAMA-3-8B-SQL-CREATE-CONTEXT |
|
results: [] |
|
--- |
|
|
|
<!-- This model card has been generated automatically according to the information the Trainer had access to. You |
|
should probably proofread and complete it, then remove this comment. --> |
|
|
|
[<img src="https://raw.githubusercontent.com/OpenAccess-AI-Collective/axolotl/main/image/axolotl-badge-web.png" alt="Built with Axolotl" width="200" height="32"/>](https://github.com/OpenAccess-AI-Collective/axolotl) |
|
<details><summary>See axolotl config</summary> |
|
|
|
axolotl version: `0.4.0` |
|
```yaml |
|
base_model: NousResearch/Meta-Llama-3-8B |
|
model_type: LlamaForCausalLM |
|
tokenizer_type: AutoTokenizer |
|
|
|
load_in_8bit: false |
|
load_in_4bit: false |
|
strict: false |
|
|
|
datasets: |
|
- path: b-mc2/sql-create-context |
|
type: context_qa.load_v2 |
|
dataset_prepared_path: last_run_prepared |
|
val_set_size: 0.05 |
|
output_dir: ./out-llama8b-createcontext |
|
|
|
sequence_len: 8192 |
|
sample_packing: true |
|
pad_to_sequence_len: true |
|
|
|
wandb_project: meta-llama-8b-sql-create-context |
|
wandb_entity: |
|
wandb_watch: |
|
wandb_name: |
|
wandb_log_model: |
|
|
|
gradient_accumulation_steps: 8 |
|
micro_batch_size: 1 |
|
num_epochs: 3 |
|
optimizer: paged_adamw_8bit |
|
lr_scheduler: cosine |
|
learning_rate: 2e-5 |
|
|
|
train_on_inputs: false |
|
group_by_length: false |
|
bf16: auto |
|
fp16: |
|
tf32: false |
|
|
|
gradient_checkpointing: true |
|
gradient_checkpointing_kwargs: |
|
use_reentrant: false |
|
early_stopping_patience: |
|
resume_from_checkpoint: |
|
logging_steps: 1 |
|
xformers_attention: |
|
flash_attention: true |
|
|
|
warmup_steps: 100 |
|
evals_per_epoch: 2 |
|
eval_table_size: |
|
saves_per_epoch: 1 |
|
debug: |
|
deepspeed: |
|
weight_decay: 0.0 |
|
fsdp: |
|
fsdp_config: |
|
special_tokens: |
|
pad_token: <|end_of_text|> |
|
|
|
``` |
|
|
|
</details><br> |
|
|
|
# LLAMA 3 8B SQL CREATE CONTEXT |
|
|
|
Thanks to [Redmond.ai](https://redmond.ai) for the GPU Support! |
|
|
|
This model is a fine-tuned version of [NousResearch/Meta-Llama-3-8B](https://huggingface.co/NousResearch/Meta-Llama-3-8B) on the [b-mc2/sql-create-context](https://huggingface.co/datasets/b-mc2/sql-create-context) dataset. |
|
It achieves the following results on the evaluation set: |
|
- Loss: 0.0201 |
|
|
|
## Model description |
|
|
|
The model is a text-to-SQL language model designed to generate SQL queries from natural language inputs. It takes as input a natural language question and a SQL CREATE TABLE statement as context, and outputs a SQL query that answers the question based on the provided table schema. |
|
|
|
The model is trained on a dataset of 78,577 examples, which combines the WikiSQL and Spider datasets. The dataset is specifically designed to prevent hallucination of column and table names, a common issue in text-to-SQL models. The CREATE TABLE statement provides the necessary context for the model to generate accurate SQL queries without requiring actual rows of data. |
|
|
|
The model is intended to be used in applications where the table schema is known, and the goal is to generate SQL queries that answer specific questions based on that schema. The model can be fine-tuned for specific use cases and SQL dialects. |
|
|
|
## Intended uses & limitations |
|
|
|
Intended uses: |
|
|
|
Generating SQL queries from natural language inputs in applications where the table schema is known |
|
Supporting data analysis and visualization tasks in various domains |
|
Integrating with other language models or tools to provide a more comprehensive data analysis pipeline |
|
Limitations: |
|
|
|
The model relies on the accuracy of the provided CREATE TABLE statement and may not perform well if the schema is incomplete or incorrect |
|
The model may not generalize well to unseen SQL dialects or table schemas |
|
The model may not be able to handle complex queries that require multiple joins or subqueries |
|
The model may not be able to handle queries that require external knowledge or common sense |
|
The model may not be able to handle queries that are ambiguous or open-ended |
|
## Training procedure |
|
|
|
### Training hyperparameters |
|
|
|
The following hyperparameters were used during training: |
|
- learning_rate: 2e-05 |
|
- train_batch_size: 1 |
|
- eval_batch_size: 1 |
|
- seed: 42 |
|
- gradient_accumulation_steps: 8 |
|
- total_train_batch_size: 8 |
|
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 |
|
- lr_scheduler_type: cosine |
|
- lr_scheduler_warmup_steps: 100 |
|
- num_epochs: 3 |
|
|
|
### Training results |
|
|
|
| Training Loss | Epoch | Step | Validation Loss | |
|
|:-------------:|:-----:|:----:|:---------------:| |
|
| 0.7175 | 0.01 | 1 | 0.7699 | |
|
| 0.055 | 0.51 | 35 | 0.0394 | |
|
| 0.03 | 1.01 | 70 | 0.0231 | |
|
| 0.0215 | 1.5 | 105 | 0.0203 | |
|
| 0.0185 | 2.01 | 140 | 0.0193 | |
|
| 0.0106 | 2.5 | 175 | 0.0201 | |
|
|
|
|
|
### Framework versions |
|
|
|
- Transformers 4.40.0.dev0 |
|
- Pytorch 2.2.2+cu121 |
|
- Datasets 2.15.0 |
|
- Tokenizers 0.15.0 |
|
|