--- license: - apache-2.0 - cc-by-nc-4.0 datasets: pszemraj/fleece2instructions-codealpaca tags: - generated_from_trainer - instruct - instructions - code metrics: - rouge language: - en widget: - text: > import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification checkpoint = "distilbert-base-uncased-finetuned-sst-2-english" tokenizer = AutoTokenizer.from_pretrained(checkpoint) model = AutoModelForSequenceClassification.from_pretrained(checkpoint) sequences = ["I've been waiting for a HuggingFace course my whole life.", "So have I!"] tokens = tokenizer(sequences, padding=True, truncation=True, return_tensors="pt") output = model(**tokens) example_title: Example One - text: > import torch from tqdm.auto import tqdm device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu") model.to(device) progress_bar = tqdm(range(num_training_steps)) model.train() for epoch in range(num_epochs): for batch in train_dataloader: batch = {k: v.to(device) for k, v in batch.items()} outputs = model(**batch) loss = outputs.loss loss.backward() optimizer.step() lr_scheduler.step() optimizer.zero_grad() progress_bar.update(1) example_title: Example Two - text: | import evaluate metric = evaluate.load("glue", "mrpc") model.eval() for batch in eval_dataloader: batch = {k: v.to(device) for k, v in batch.items()} with torch.no_grad(): outputs = model(**batch) logits = outputs.logits predictions = torch.argmax(logits, dim=-1) metric.add_batch(predictions=predictions, references=batch["labels"]) metric.compute() example_title: Example Three - text: | git lfs install huggingface-cli lfs-enable-largefiles . git lfs track "*.bin" git add . git commit -a -m "add fp32 chkpt" git push example_title: Example Four - text: | export interface DocumentParams { pageContent: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any metadata: Record; } /** * Interface for interacting with a document. */ export class Document implements DocumentParams { pageContent: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any metadata: Record; constructor(fields?: Partial) { this.pageContent = fields?.pageContent ?? this.pageContent; this.metadata = fields?.metadata ?? {}; } } example_title: Example Five inference: parameters: max_length: 96 num_beams: 4 --- # bart-base-code-instructiongen Use this text2text model to find out what LLM instructions might be able to generate an arbitary piece of code! This model is a fine-tuned version of [facebook/bart-base](https://huggingface.co./facebook/bart-base) on the `pszemraj/fleece2instructions-codealpaca` dataset. It achieves the following results on the evaluation set: - Loss: 1.0136 - Rouge1: 59.9513 - Rouge2: 33.9118 - Rougel: 55.7815 - Rougelsum: 56.9064 - Gen Len: 29.7146 ## Intended uses & limitations 🚨 **note:** as the authors elected to release the [original dataset](https://github.com/sahil280114/codealpaca) under `cc-by-nc`, the license carries over to this model and **cannot be used for commercial activity**. > This is just a `base` size model, which does a decent job for its size, but is not perfect. For better quality instructions, check out [bart-large](https://huggingface.co./pszemraj/bart-large-code-instructiongen) or fine tune your own larger model on the dataset :) Intended use: Research on domain adaptation and/or other improvements to LLMs by extending instruction:text data pairs. ## Training and evaluation data Refer to the linked dataset card for `pszemraj/fleece2instructions-codealpaca` or the [original dataset](https://github.com/sahil280114/codealpaca) repo. ## Training procedure ### Training hyperparameters The following hyperparameters were used during training: - learning_rate: 8e-05 - train_batch_size: 4 - eval_batch_size: 4 - seed: 42 - distributed_type: multi-GPU - gradient_accumulation_steps: 16 - total_train_batch_size: 64 - optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08 - lr_scheduler_type: cosine - lr_scheduler_warmup_ratio: 0.02 - num_epochs: 3.0 ### Training results | Training Loss | Epoch | Step | Validation Loss | Rouge1 | Rouge2 | Rougel | Rougelsum | Gen Len | |:-------------:|:-----:|:----:|:---------------:|:-------:|:-------:|:-------:|:---------:|:-------:| | 1.1165 | 1.0 | 281 | 1.1090 | 57.9239 | 31.9259 | 53.8737 | 54.9811 | 28.2924 | | 1.0763 | 2.0 | 563 | 1.0267 | 59.9605 | 34.0298 | 55.7523 | 56.8021 | 29.6966 | | 0.9595 | 2.99 | 843 | 1.0136 | 59.9513 | 33.9118 | 55.7815 | 56.9064 | 29.7146 |