pszemraj's picture
Update README.md
647cc20
metadata
license:
  - apache-2.0
  - cc-by-nc-4.0
datasets: pszemraj/fleece2instructions-codealpaca
tags:
  - generated_from_trainer
  - instruct
  - instructions
  - code
  - instructiongen
metrics:
  - rouge
language:
  - en
widget:
  - 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: bash
  - text: |
      export interface DocumentParams {
        pageContent: string;

        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        metadata: Record<string, any>;
      }

      /**
       * Interface for interacting with a document.
       */
      export class Document implements DocumentParams {
        pageContent: string;

        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        metadata: Record<string, any>;

        constructor(fields?: Partial<DocumentParams>) {
          this.pageContent = fields?.pageContent ?? this.pageContent;
          this.metadata = fields?.metadata ?? {};
        }
      }
    example_title: js
  - text: |
      def merge(left, right):
          if len(left) == 0:
              return right

          if len(right) == 0:
              return left

          result = []
          index_left = index_right = 0

          while len(result) < len(left) + len(right):
              if left[index_left] <= right[index_right]:
                  result.append(left[index_left])
                  index_left += 1
              else:
                  result.append(right[index_right])
                  index_right += 1

              if index_right == len(right):
                  result += left[index_left:]
                  break

              if index_left == len(left):
                  result += right[index_right:]
                  break

          return result
    example_title: merge
  - text: >
      import pandas as pd

      import plotly.graph_objects as go


      df =
      pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/2014_apple_stock.csv')


      fig = go.Figure(go.Scatter(x = df['AAPL_x'], y = df['AAPL_y'],
                        name='Share Prices (in USD)'))

      fig.update_layout(title='Apple Share Prices over time (2014)',
                         plot_bgcolor='rgb(230, 230,230)',
                         showlegend=True)

      fig.show()
    example_title: plot
  - text: |
      from spellchecker import SpellChecker

      spell = SpellChecker()

      def check_word_spelling(word: str):
          misspelled = spell.unknown([word])
          return len(misspelled) == 0

      def eval_and_replace(text: str, match_token: str = "- "):
          if match_token not in text:
              return text
          else:
              while True:
                  full_before_text = text.split(match_token, maxsplit=1)[0]
                  before_text = [
                      char for char in full_before_text.split()[-1] if char.isalpha()
                  ]
                  before_text = "".join(before_text)
                  full_after_text = text.split(match_token, maxsplit=1)[-1]
                  after_text = [char for char in full_after_text.split()[0] if char.isalpha()]
                  after_text = "".join(after_text)
                  full_text = before_text + after_text
                  if check_word_spelling(full_text):
                      text = full_before_text + full_after_text
                  else:
                      text = full_before_text + " " + full_after_text
                  if match_token not in text:
                      break
              return text

      text = "I- am- a go- od- boy"
      eval_and_replace(text)
    example_title: spell check
  - 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: model inference
inference:
  parameters:
    max_length: 96
    num_beams: 4

bart-large-code-instructiongen

Use this text2text model to find out what LLM instructions might be able to generate an arbitary piece of code!

about

This model is a fine-tuned version of facebook/bart-large on the pszemraj/fleece2instructions-codealpaca dataset. It achieves the following results on the evaluation set:

  • Loss: 0.9222
  • Rouge1: 62.0692
  • Rouge2: 36.1947
  • Rougel: 57.5128
  • Rougelsum: 58.6613
  • Gen Len: 31.0060

Intended uses & limitations

🚨 note: as the authors elected to release the original dataset under cc-by-nc, the license carries over to this model and cannot be used for commercial activity.

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 repo.

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 6e-05
  • train_batch_size: 16
  • eval_batch_size: 8
  • seed: 42
  • distributed_type: multi-GPU
  • gradient_accumulation_steps: 2
  • total_train_batch_size: 32
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: cosine
  • lr_scheduler_warmup_ratio: 0.03
  • num_epochs: 3.0

Training results

Training Loss Epoch Step Validation Loss Rouge1 Rouge2 Rougel Rougelsum Gen Len
1.0914 1.0 563 1.0303 60.288 34.1884 55.9293 57.0714 30.6267
0.8688 2.0 1126 0.9333 61.0409 34.9823 56.4887 57.6662 31.7255
0.6773 3.0 1689 0.9222 62.0692 36.1947 57.5128 58.6613 31.0060