CoolFace
Datasetpublic

bigcode/commitpackft

CommitPackFT is is a 2GB filtered version of CommitPack to contain only high-quality commit messages that resemble natural language instructions.

sourceHugging Facemitupdated 3y agoView on Hugging Face
114likes37kdownloads
Dataset Card

Octopack

Dataset Card for CommitPackFT

Table of Contents

Dataset Description

Dataset Summary

CommitPackFT is a 2GB filtered version of CommitPack to contain only high-quality commit messages that resemble natural language instructions.
  • Creation: The dataset can be recreated using instructions available here.
  • Languages: 277
  • OctoPack🐙🎒:

<table> <tr> <th>Data</t> <td><a href=https://huggingface.co/datasets/bigcode/commitpack>CommitPack</a></td> <td>4TB of GitHub commits across 350 programming languages</td> </tr> <tr> <th></t> <td><a href=https://huggingface.co/datasets/bigcode/commitpackft>CommitPackFT</a></td> <td>Filtered version of CommitPack for high-quality commit messages that resemble instructions</td> </tr> <tr> <th>Model</t> <td><a href=https://huggingface.co/bigcode/octocoder>OctoCoder</a></td> <td>StarCoder (16B parameters) instruction tuned on CommitPackFT + OASST</td> </tr> <tr> <th></t> <td><a href=https://huggingface.co/bigcode/octogeex>OctoGeeX</a></td> <td>CodeGeeX2 (6B parameters) instruction tuned on CommitPackFT + OASST</td> </tr> <tr> <th>Evaluation&nbsp;&nbsp;</t> <td><a href=https://huggingface.co/datasets/bigcode/humanevalpack>HumanEvalPack</a></td> <td>Extension of OpenAI's HumanEval to cover 3 scenarios across 6 languages</td> </tr> </table>

Dataset Structure

Data Instances

An example looks as follows:

json
{
  'commit': '0c17311f7fd511f5dae8f8e4acc2dce1a2de3cf5',
  'old_file': 'main.py',
  'new_file': 'main.py',
  'old_contents': "import numpy as np\nimport matplotlib.pyplot as plt\n\n# generate sample data\nx_data = np.linspace(-5, 5, 20)\ny_data = np.random.normal(0.0, 1.0, x_data.size)\n\nplt.plot(x_data, y_data, 'o')\nplt.show()\n",
  'new_contents': "import math\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n# generate sample data\nx_data = np.linspace(-math.pi, math.pi, 30)\ny_data = np.sin(x_data) + np.random.normal(0.0, 0.1, x_data.size)\n\nplt.plot(x_data, y_data, 'o')\nplt.show()\n\n",
  'subject': 'Change to sin() function with noise',
  'message': 'Change to sin() function with noise\n',
  'lang': 'Python',
  'license': 'mit',
  'repos': 'MorganR/basic-gaussian-process'
}

Data Fields

The data fields are the same among all splits:

  • commit: unique commit id
  • old_file: name of the file before the commit
  • new_file: name of the file after the commit
  • old_contents: contents of the file before the commit
  • new_contents: contents of the file after the commit
  • subject: subject of the commit (this is used for all experiments in the paper)
  • message: message of the commit (commonly the same as the subject)
  • lang: programming language
  • license: license of the repository the code stems from, one of ['mit', 'artistic-2.0', 'isc', 'cc0-1.0', 'epl-1.0', 'mpl-2.0', 'unlicense', 'unknown', 'apache-2.0', 'bsd-3-clause', 'agpl-3.0', 'lgpl-2.1', 'bsd-2-clause']
  • repos: name of the the repository the code stems from (if multiple, they are comma separated)

Data Splits

NameMegabytes% of totalSamples% of total
total1545.02100.0%702062100.0%
ruby195.29212.6401%694139.887%
yaml190.87612.3543%11432016.2835%
python132.688.5876%560257.9801%
markdown131.1528.4887%625188.9049%
javascript125.0088.091%529897.5476%
json86.7445.6144%397775.6657%
shell66.8644.3277%312174.4465%
text66.6644.3148%465886.6359%
php60.223.8977%247913.5312%
java56.2843.6429%206352.9392%
html48.423.1339%202142.8792%
c#26.841.7372%93461.3312%
xml23.6761.5324%93371.3299%
html+erb23.1041.4954%109101.554%
c21.081.3644%85061.2116%
ini21.041.3618%113601.6181%
coffeescript16.961.0977%55130.7853%
swift16.2721.0532%48490.6907%
restructuredtext15.7281.018%65600.9344%
typescript14.2840.9245%58680.8358%
c++14.1360.9149%49920.711%
scss13.2080.8549%68290.9727%
go12.1320.7852%50040.7128%
scala11.1840.7239%50400.7179%
haml10.740.6951%44150.6289%
css9.3640.6061%50490.7192%
rust7.2440.4689%29960.4267%
toml5.5840.3614%34240.4877%
jsx5.50.356%21990.3132%
kotlin5.3680.3474%22140.3154%
clojure5.0680.328%24030.3423%
perl4.9880.3228%22880.3259%
bitbake4.4640.2889%13080.1863%
groovy4.1680.2698%14860.2117%
twig3.9560.256%16100.2293%
nix3.840.2485%15930.2269%
sql3.740.2421%20690.2947%
less3.7240.241%13600.1937%
haskell3.3080.2141%13890.1978%
handlebars3.2920.2131%14290.2035%
unknown3.0480.1973%15970.2275%
batchfile2.9840.1931%14660.2088%
cucumber2.5880.1675%9760.139%
makefile2.5280.1636%9600.1367%
elixir2.3480.152%11500.1638%
jade2.3480.152%11190.1594%
cmake2.2680.1468%9810.1397%
powershell2.0640.1336%9910.1412%
slim2.0560.1331%10520.1498%
emacs-lisp1.9720.1276%10150.1446%
dart1.960.1269%7650.109%
viml1.9560.1266%10630.1514%
asciidoc1.8640.1206%5230.0745%
lua1.8520.1199%9200.131%
llvm1.60.1036%7800.1111%
smarty1.5880.1028%7370.105%
diff1.480.0958%6800.0969%
common-lisp1.4480.0937%7780.1108%
saltstack1.4120.0914%6170.0879%
vue1.3840.0896%5870.0836%
sass1.3640.0883%7050.1004%
fish1.3280.086%8130.1158%
erlang1.1920.0772%4800.0684%
freemarker1.0280.0665%5100.0726%
stylus0.9480.0614%4800.0684%
qml0.9360.0606%3680.0524%
hcl0.9120.059%4210.06%
html+django0.8480.0549%3990.0568%
mako0.7560.0489%1700.0242%
ada0.7280.0471%2650.0377%
ocaml0.7040.0456%3330.0474%
f#0.6560.0425%2540.0362%
elm0.620.0401%2650.0377%
tex0.5640.0365%3070.0437%
rdoc0.5520.0357%2700.0385%
csv0.5320.0344%3750.0534%
protocol-buffer0.5240.0339%1810.0258%
smalltalk0.460.0298%2840.0405%
arduino0.4560.0295%2250.032%
java-server-pages0.4520.0293%1730.0246%
scheme0.420.0272%2130.0303%
groff0.3960.0256%1920.0273%
objective-c++0.3760.0243%860.0122%
desktop0.3640.0236%1860.0265%
factor0.3560.023%1130.0161%
crystal0.3480.0225%1820.0259%
rhtml0.3480.0225%1350.0192%
haxe0.3440.0223%1740.0248%
glsl0.340.022%1640.0234%
gas0.3360.0217%1930.0275%
html+php0.3320.0215%1500.0214%
qmake0.320.0207%1400.0199%
julia0.3120.0202%1800.0256%
cython0.3080.0199%1230.0175%
html+eex0.2920.0189%1350.0192%
tcl0.2920.0189%1030.0147%
org0.2720.0176%1360.0194%
perl60.2680.0173%1220.0174%
m40.2640.0171%1010.0144%
xslt0.2560.0166%990.0141%
svg0.2520.0163%1690.0241%
nimrod0.2360.0153%670.0095%
r0.2280.0148%1210.0172%
robotframework0.2120.0137%850.0121%
racket0.1960.0127%1170.0167%
textile0.1840.0119%610.0087%
assembly0.1720.0111%1050.015%
purescript0.1720.0111%800.0114%
unity3d-asset0.1560.0101%1010.0144%
visual-basic0.1520.0098%480.0068%
dm0.1480.0096%160.0023%
pod0.1480.0096%540.0077%
standard-ml0.1480.0096%720.0103%
fortran0.1440.0093%700.01%
gettext-catalog0.1320.0085%720.0103%
idris0.1320.0085%380.0054%
livescript0.1280.0083%630.009%
xtend0.1280.0083%550.0078%
actionscript0.120.0078%490.007%
vala0.1160.0075%500.0071%
awk0.1040.0067%520.0074%
ceylon0.10.0065%490.007%
jupyter-notebook0.10.0065%480.0068%
dockerfile0.0960.0062%390.0056%
rouge0.0960.0062%410.0058%
asp0.0920.006%220.0031%
sqf0.0920.006%450.0064%
edn0.0880.0057%480.0068%
liquid0.0880.0057%300.0043%
xquery0.0840.0054%390.0056%
linker-script0.080.0052%370.0053%
mediawiki0.080.0052%330.0047%
parrot-internal-representation0.080.0052%230.0033%
solidity0.080.0052%370.0053%
json50.0760.0049%330.0047%
systemverilog0.0760.0049%350.005%
thrift0.0760.0049%280.004%
groovy-server-pages0.0720.0047%250.0036%
processing0.0720.0047%350.005%
cuda0.0680.0044%250.0036%
graphviz-dot0.0680.0044%350.005%
inno-setup0.0640.0041%160.0023%
api-blueprint0.060.0039%230.0033%
nsis0.060.0039%150.0021%
gentoo-ebuild0.0560.0036%160.0023%
logtalk0.0560.0036%210.003%
jasmin0.0520.0034%90.0013%
literate-coffeescript0.0520.0034%190.0027%
webidl0.0520.0034%60.0009%
coldfusion-cfc0.0480.0031%200.0028%
opencl0.0480.0031%230.0033%
openscad0.0480.0031%210.003%
pan0.0480.0031%230.0033%
pascal0.0480.0031%250.0036%
pony0.0480.0031%160.0023%
turtle0.0480.0031%210.003%
chapel0.0440.0028%200.0028%
ioke0.0440.0028%250.0036%
ooc0.0440.0028%150.0021%
sparql0.0440.0028%230.0033%
applescript0.040.0026%190.0027%
augeas0.040.0026%130.0019%
g-code0.040.0026%70.001%
mirah0.040.0026%160.0023%
capn-proto0.0360.0023%120.0017%
digital-command-language0.0360.0023%190.0027%
hy0.0360.0023%120.0017%
logos0.0360.0023%190.0027%
modelica0.0360.0023%150.0021%
vcl0.0360.0023%180.0026%
antlr0.0320.0021%150.0021%
gdscript0.0320.0021%90.0013%
graphql0.0320.0021%170.0024%
hlsl0.0320.0021%110.0016%
gnuplot0.0280.0018%170.0024%
http0.0280.0018%190.0027%
ninja0.0280.0018%140.002%
oz0.0280.0018%80.0011%
raml0.0280.0018%90.0013%
aspectj0.0240.0016%80.0011%
autohotkey0.0240.0016%150.0021%
fancy0.0240.0016%80.0011%
moonscript0.0240.0016%100.0014%
piglatin0.0240.0016%110.0016%
stata0.0240.0016%100.0014%
urweb0.0240.0016%60.0009%
xs0.0240.0016%70.001%
yang0.0240.0016%60.0009%
agda0.020.0013%100.0014%
coldfusion0.020.0013%90.0013%
emberscript0.020.0013%70.001%
latte0.020.0013%70.001%
literate-haskell0.020.0013%70.001%
postscript0.020.0013%90.0013%
scilab0.020.0013%100.0014%
tcsh0.020.0013%100.0014%
volt0.020.0013%90.0013%
apl0.0160.001%70.001%
genshi0.0160.001%30.0004%
jsonld0.0160.001%60.0009%
krl0.0160.001%40.0006%
lean0.0160.001%30.0004%
lfe0.0160.001%60.0009%
metal0.0160.001%40.0006%
monkey0.0160.001%40.0006%
mupad0.0160.001%40.0006%
nesc0.0160.001%70.001%
nit0.0160.001%30.0004%
pike0.0160.001%60.0009%
purebasic0.0160.001%50.0007%
renpy0.0160.001%30.0004%
vhdl0.0160.001%50.0007%
xproc0.0160.001%30.0004%
zephir0.0160.001%40.0006%
apacheconf0.0120.0008%20.0003%
boo0.0120.0008%20.0003%
brainfuck0.0120.0008%20.0003%
bro0.0120.0008%30.0004%
cartocss0.0120.0008%30.0004%
creole0.0120.0008%20.0003%
csound0.0120.0008%40.0006%
dylan0.0120.0008%20.0003%
eagle0.0120.0008%40.0006%
ecl0.0120.0008%40.0006%
eiffel0.0120.0008%20.0003%
flux0.0120.0008%30.0004%
io0.0120.0008%40.0006%
jsoniq0.0120.0008%60.0009%
lilypond0.0120.0008%60.0009%
lsl0.0120.0008%30.0004%
mask0.0120.0008%40.0006%
nginx0.0120.0008%20.0003%
nu0.0120.0008%20.0003%
pov-ray-sdl0.0120.0008%50.0007%
ragel-in-ruby-host0.0120.0008%40.0006%
slash0.0120.0008%40.0006%
sourcepawn0.0120.0008%30.0004%
squirrel0.0120.0008%40.0006%
ston0.0120.0008%60.0009%
uno0.0120.0008%20.0003%
wisp0.0120.0008%30.0004%
xbase0.0120.0008%30.0004%
yacc0.0120.0008%30.0004%
zig0.0120.0008%40.0006%
abap0.0080.0005%10.0001%
arc0.0080.0005%20.0003%
ats0.0080.0005%30.0004%
blitzmax0.0080.0005%10.0001%
bluespec0.0080.0005%20.0003%
c2hs-haskell0.0080.0005%20.0003%
clean0.0080.0005%10.0001%
dns-zone0.0080.0005%20.0003%
forth0.0080.0005%20.0003%
harbour0.0080.0005%10.0001%
igor-pro0.0080.0005%10.0001%
inform-70.0080.0005%20.0003%
isabelle0.0080.0005%20.0003%
jflex0.0080.0005%10.0001%
literate-agda0.0080.0005%10.0001%
maple0.0080.0005%20.0003%
mathematica0.0080.0005%10.0001%
module-management-system0.0080.0005%10.0001%
mtml0.0080.0005%20.0003%
netlinx0.0080.0005%10.0001%
parrot-assembly0.0080.0005%20.0003%
pawn0.0080.0005%30.0004%
propeller-spin0.0080.0005%10.0001%
pure-data0.0080.0005%10.0001%
rebol0.0080.0005%30.0004%
red0.0080.0005%10.0001%
sage0.0080.0005%10.0001%
sas0.0080.0005%10.0001%
scaml0.0080.0005%10.0001%
smt0.0080.0005%30.0004%
supercollider0.0080.0005%20.0003%
unrealscript0.0080.0005%10.0001%
xpages0.0080.0005%10.0001%

Additional Information

Licensing Information

Each sample comes from a code repository with a permissive license. The license is provided by the license field for each sample.

Citation Information

bibtex
@article{muennighoff2023octopack,
      title={OctoPack: Instruction Tuning Code Large Language Models}, 
      author={Niklas Muennighoff and Qian Liu and Armel Zebaze and Qinkai Zheng and Binyuan Hui and Terry Yue Zhuo and Swayam Singh and Xiangru Tang and Leandro von Werra and Shayne Longpre},
      journal={arXiv preprint arXiv:2308.07124},
      year={2023}
}