pszemraj's picture
Update README.md
647cc20
---
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!
- Check out a [basic demo on Spaces](https://huggingface.co/spaces/pszemraj/generate-instructions)
- An example of how to use instructiongen models in a CLI script can be found [here](https://gist.github.com/pszemraj/8b0213e700763106074d3ac15d041c14)
- You can find other models fine-tuned for instruction generation by [searching for the instructiongen tag](https://huggingface.co/models?other=instructiongen)
## about
This model is a fine-tuned version of [facebook/bart-large](https://huggingface.co/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](https://github.com/sahil280114/codealpaca) 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](https://github.com/sahil280114/codealpaca) 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 |