[ot][spam][crazy][log] making autocode
ok with big 6b diff model it likely approaches being easy enough to make this that one could do it when too confused to do it imagining a simple command lines script something like code fixed bugs 0755 code would parse “*” as a commit message for every file in the repository and produce updates. - problem: some files would need no updates. maybe output confidence of the model would indicate this? likely. files with 7nrelated changes would have poor confidence from not having rlevant trained data. - problem: creation of new files, what to name them? ideas: the diff model may contain 8nstances of file renaming that could be used to extract likely file names. the user could manually specify new files by touching them. if the model was trained on full commits in sequence the end of a commit could be used to complete a novel one. beam exploration could make that easier, to find a following commit with the same message. i think beam exploration would be the most reliable — where the model makes up data in the wrong order and backtracks when wrong. it seems to make sense to start off with the manual approach or none at all. lots of ram needed. idea: - given many files at once, larger batches could be run to speed inference. it could diff every file at once. clear steps? ummmm, - download the model on a system. this likely needs 25G of free space and addressable memory. (side pursuit could be adding model to some public inference thing) - form code to craft prompts for the model. i believe their format is like: <NME> hello_world.py <BEF> ADDFILE <MSG> hello world example <DFF> - those are the big bits! likely make script in python to familiarly load model. probably easier to walk the filetree to enumerate files than use git commands, but git can work too. - for each generated diff, apply it to the file. it’s probably fine to write out a single patchfile. i like refactoring, so i’m curious whether the training process preserved renames. note: it’s valuable to have it create code that adapts itself so it can be used for other tasks. this means getting or generating data for the other tasks, hooking its achitecture, and running training loops on injected adapters only. runnjng training loops on programmatic data sounds helpful in general
hf pipeline js CarperAI/diff-codegen-6b-v2 so that's on queue until installed somewhere
there’s an example notebook at https://colab.research.google.com/drive/1ySm6HYvALerDiGmk6g3pDz68V7fAtrQH#sc... i think in the notebook you can see they set a temperature and perform probabilistic sampling that may reduce the performance of the model by avoiding the most likely continuations you can also see how it generates changes continuously and could likely somehow be used to discover new file names
funny experiences! clearer expression: the thing iwas wrong abutwas the continuation ofthe patch output. but the outout showsin different way thatitwill comeupwith novel files. jusrpromptwith name. the stuff themodel is outputting is atch data. this isused toprodue changes to files. themodel is a programmer toolthatlets you make a program where you tell the omouter what change to make to absourcefile, nd it mkesthe hange without regard to where in the file it needs to be made. it generates data that programmatically describes such xhanges, in comuter code called patch or diff.
participants (1)
-
Undescribed Horrific Abuse, One Victim & Survivor of Many