mrm8488's picture
Update README.md
e52e0a4
|
raw
history blame
4.36 kB
metadata
license: openrail
tags:
  - generated_from_trainer
  - clojure
  - codegen
model-index:
  - name: santacoder-finetuned-the-stack-clojure
    results: []
datasets:
  - bigcode/the-stack-dedup
language:
  - code
pipeline_tag: text-generation

SantaCoder πŸŽ… fine-tuned on Clojure clojure-logo

This model is a fine-tuned version of BigCode/SantaCoder on The Stack Clojure. It achieves the following results on the evaluation set:

  • Loss: 1.0438

Model description

The SantaCoder models are a series of 1.1B parameter models trained on the Python, Java, and JavaScript subset of The Stack (v1.1) (which excluded opt-out requests). The main model uses Multi Query Attention, was trained using near-deduplication and comment-to-code ratio as filtering criteria and using the Fill-in-the-Middle objective. In addition, there are several models that were trained on datasets with different filter parameters and with architecture and objective variations.

Intended uses & limitations

The model has been trained on source code in Python, Java, and JavaScript and fine-tuned on bash/shell scripts. The predominant language in source is English although other languages are also present. As such the model is capable to generate code snippets provided some context but the generated code is not guaranteed to work as intended. It can be inefficient, contain bugs or exploits.

Training and evaluation data

The Stack contains over 6TB of permissively-licensed source code files covering 358 programming languages. The dataset was created as part of the BigCode Project, an open scientific collaboration working on the responsible development of Large Language Models for Code (Code LLMs). The Stack serves as a pre-training dataset for Code LLMs, i.e., code-generating AI systems which enable the synthesis of programs from natural language descriptions as well as other from code snippets. This is the near-deduplicated version with 3TB data.

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 5e-05
  • train_batch_size: 2
  • eval_batch_size: 2
  • seed: 42
  • gradient_accumulation_steps: 4
  • 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
  • training_steps: 10000

Training results

Training Loss Epoch Step Validation Loss
2.159 0.05 500 1.5544
1.4518 0.1 1000 1.3701
1.1784 0.15 1500 1.3310
1.368 0.2 2000 1.3002
1.294 0.25 2500 1.2724
0.7621 0.3 3000 1.2797
5.814 0.35 3500 1.2319
1.2988 0.4 4000 1.2046
1.4857 0.45 4500 1.1686
1.0061 0.5 5000 1.1491
1.0453 0.55 5500 1.1284
1.1512 0.6 6000 1.1078
1.2116 0.65 6500 1.0932
1.153 0.7 7000 1.0755
1.1387 0.75 7500 1.0651
1.2935 0.8 8000 1.0586
0.6611 0.85 8500 1.0494
0.0372 0.9 9000 1.0470
1.1234 0.95 9500 1.0440
1.021 1.0 10000 1.0438

Citation

@misc {manuel_romero_2023,
    author       = { {Manuel Romero} },
    title        = { santacoder-finetuned-the-stack-clojure (Revision 7ded499) },
    year         = 2023,
    url          = { https://huggingface.co/mrm8488/santacoder-finetuned-the-stack-clojure },
    doi          = { 10.57967/hf/0374 },
    publisher    = { Hugging Face }
}

Framework versions

  • Transformers 4.26.0.dev0
  • Pytorch 1.13.1+cu116
  • Datasets 2.7.1
  • Tokenizers 0.13.2