|
--- |
|
datasets: |
|
- mvasiliniuc/iva-swift-codeint-clean-train |
|
- mvasiliniuc/iva-swift-codeint-clean-valid |
|
language: |
|
- code |
|
tags: |
|
- gpt2 |
|
- code |
|
- swift |
|
- mobile |
|
- generation |
|
widget: |
|
- text: "/*\n A function that returns the time zone currently configured on the device.\n*/\n" |
|
example_title: "Get the current time zone of the device" |
|
- text: "/*\n A function that returns the current version of the operating system.\n*/\n" |
|
example_title: "Get current device operating system" |
|
- text: "/* \nA function that fires an NSNotification named 'MyUpdate'. \n*/\npublic func post" |
|
example_title: "Post NSNotification" |
|
- text: "/* \nA public function that saves a given String value in UserPreference at a given String key.\n*/\n" |
|
example_title: "Save to UserPreference" |
|
--- |
|
iva-codeint-swift-small GPT-2 is (small version - 239.4M parameters) trained from scratch to obtain results in the text-to-code task tailored for Swift language used |
|
in native mobile development (iOS). |
|
|
|
## Usage |
|
|
|
```Python |
|
from transformers import pipeline |
|
|
|
pipe = pipeline("text-generation", model="mvasiliniuc/iva-codeint-swift-small") |
|
outputs = pipe("func triggerNSNotification") |
|
|
|
``` |
|
|
|
### Inference |
|
```Python |
|
API_URL = "https://api-inference.huggingface.co/models/mvasiliniuc/iva-codeint-swift-small" |
|
headers = {"Authorization": "Bearer <key>"} |
|
def query(payload): |
|
response = requests.post(API_URL, headers=headers, json=payload) |
|
return response.json() |
|
|
|
output = query({ |
|
"inputs": """ |
|
/* |
|
A function that gets the current device operating system. |
|
*/ |
|
""" |
|
}) |
|
pprint.pprint(output, compact=True) |
|
``` |
|
|
|
## Training |
|
|
|
| Config | Value | |
|
|------|------------------| |
|
| seq length | 1024 | |
|
| weight decay | 0.1 | |
|
| learning rate | 0.0005 | |
|
| max eval steps | -1 | |
|
| shuffle buffer | 10000 | |
|
| max train steps | 150000 | |
|
| mixed precision | fp16 | |
|
| num warmup steps | 2000 | |
|
| train batch size | 5 | |
|
| valid batch size | 5 | |
|
| lr scheduler type | cosine | |
|
| save checkpoint steps | 15000 | |
|
| gradient checkpointing | false | |
|
| gradient accumulation steps | 1 | |
|
|
|
## Resources |
|
|
|
Resources used for research: |
|
* [Training a causal language model from scratch](https://huggingface.co/learn/nlp-course/chapter7/6) |
|
* [CodeParrot a GPT-2 model (1.5B parameters) trained to generate Python code](https://huggingface.co/codeparrot/codeparrot) |
|
|