[ot][spam][crazy][log] making autocode

Undescribed Horrific Abuse, One Victim & Survivor of Many gmkarl at gmail.com
Thu Feb 2 18:02:14 PST 2023

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.
- given many files at once, larger batches could be run to speed
inference. it could diff every file at once.

clear steps?
- 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
<MSG> hello world example
- 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

More information about the cypherpunks mailing list