Live data from Hacker News

TextSynth Server

bellard.org

81–90 of 115 posts

Re: TextSynth Server

#81
post #76
post #74

Earlier quoted context omitted.

You could do that too, but that is entirely missing the point, which is that ChatGPT is capable of inferring higher level semantics from the instructions and explain what the code is doing. You're getting hung up on a minor, unimportant detail.

Apparently the point is proving it's possible. Not making it useful.

No, that was not the point at all.

The point is that ChatGPT understands the code well enough to explain what it does, and so there's reason to wonder how soon someone leverages that in a disassembler to produce far better output to the point where using releasing "only" the binary as an obfuscation mechanism stops being viable.

E.g. additional value would be comments about purpose, labels for function entry points that makes sense for what the function does, labels for data that makes sense for what is stored there, comments with explanations of why things are structured the way they are.

Having reverse engineered programs from binary in the past, inferring good names and commenting the sources is the vast majority of the effort.

Re: TextSynth Server

#82
Anyone know what format the models have to be in for use with textsynth? I looked at the gpt2 example binary (gpt2_117M.bin) and it seems like the "normal" params.json is embedded as a header for the binary and then some ascii string like "attn/c_attn/" and then the binary weights.

I tried just using the Stanford Alpaca fine-tuned version of the llama 7B weights that work with llama.cpp with textsynth but it didn't like that (ggml-alpaca-7b-q4.bin: invalid file header). Having a textsynth HTTP API would save me a lot of hassle . I'm currently wrapping the stdin/out of a execution of a modified llama.cpp binary and that's extremely messy.

Re: TextSynth Server

#83
post #81
post #76

Earlier quoted context omitted.

Apparently the point is proving it's possible. Not making it useful.

No, that was not the point at all. The point is that ChatGPT understands the code well enough to explain what it does, and so there's reason to wonder how soon someone leverages that in a disassembler to produce far better output to the point where using releasing "only" the binary as an obfuscation mechanism stops being viable. E.g. additional value would be comments about purpose, labels for function entry points t…

>E.g. additional value would be comments about purpose, labels for function entry points that makes sense for what the function does, labels for data that makes sense for what is stored there, comments with explanations of why things are structured the way they are.

None of this requires giving it a binary. You are asking it to do 2 tasks, both of which it will do with some level of error. You could disassemble the binary near perfectly, for free. You have a hammer and everything looks like a nail.

Re: TextSynth Server

#84
post #41
post #24

Very interesting as usual from Fabrice Bellard, but I'm a little bit disappointed this time, because libnc is a closed source DLL. Nevertheless it will be interesting to compare it to the amazing work of Georgi Gerganov: GGML Tensor Library. Both are heavily optimized, supports AVX intrinsics and are plain C/C++ implementation without dependencies.

ChatGPT is pretty good at disassembling x86, and is able to give reasonable descriptions of what the code is doing (e.g try "disassemble the following bytes in hex and explain what they appear to be doing: [bytes from a binary in hex]") I'm curious how soon someone uses these models to effectively ruin the ability to use releasing binaries as an obfuscation method.

It will struggle with understanding small parts of big programs without seeing the full context, though maybe you could get around that by making it generate some sort of summary for itself or something like that

Re: TextSynth Server

#85
post #20

Earlier quoted context omitted.

Control freak, by any chance? Is it really so hard to just "go with the flow"?

sorry a bit late with my response, but original commenter here. I'm not much of a control freak -- it's more when you see an credible posisble extinction event in the distance, don't you want to act? And even if you didn't view it that grimly, isn't the ML stuff just SUPER cool? Trainable prediction engines are really amazing and very actually useful (feels like the first iteration was being able to recognize things…

I have a positive outlook for large language models where we can have new synthesized stories that break the rules of what we consider what makes something a game or not. The biggest complement to new forms of art are the people that reject the new forms.

I can’t really sing or draw anime but now my computer can so it can be a large enabler for people.

Re: TextSynth Server

#86

I've been feeling FOMO (for lack of a better term) about recent AI & ML/GPT progression. It feels like ML/AI it might be the beginning of the end for a large class of things (if I wanted to be alarmist I'd say "everything") -- and the fact that Fabrice Bellard has jumped in and done the absolutely obvious rising-tide thing (building an API that abstracts the technologies) speaks volumes. Releasing something like this…

Every one of these articles fills me with a related kind of dread. My whole life, my whole personality is architected around making things by hand for other people . My ideal world is a hipster stereotype where we all sit around using a small number of artisanal products to make other artisanal products for each other. The arc of my programming career has gone lower and lower down the stack because when I create, I e…

I understand and share your fear. In a sense, I think we already live in this world: there are many people who are already slaves to YouTube, TikTok, strategically timed push notifications, etc.

We live in a world where digital tech is fantastic for people who have the skill and strategy to place healthy limits on their own use of it, and the worst possible world for those who cannot. And it's all about to get much more extreme.

All of your fears will likely come to pass, but I think there are also much more positive framings and there are fantastic opportunities to build solutions to some of these problems.

- Loneliness. Today, lonely men and women already suffer. A simulated relationship is a legitimate improvement over no human contact at all. Could a bot use the embeddings of your interactions to match you with a compatible partner, saving you the anxiety of having to navigate the dating market.

- Auto-generated videos. Frankly, most movies and TV shows suck today, probably because they come out of a broken Hollywood. I can't wait until the barrier is so low that a random genius college student can make a feature film with almost no resources. Maybe there will be more new movies that are actually good!

- AI tutors. Playing with GPT4 the past few days I've already experienced visceral joy from its use as a teaching tool. It is like having a pretty smart co-worker who knows something about literally everything. I'm honestly so excited about being able to learn new things without dealing with the fundamental barrier of finding good sources of knowledge.

Re: TextSynth Server

#87
post #18

Earlier quoted context omitted.

The CPU version is provided under binary format only.

You're right : `The CPU version is released as binary code under the MIT license`. That's quite an unusual choice, not even sure how MIT would apply to that...

I guess you could decompile it and redistribute that source if you were dedicated enough

Re: TextSynth Server

#89
post #83
post #81

Earlier quoted context omitted.

No, that was not the point at all. The point is that ChatGPT understands the code well enough to explain what it does, and so there's reason to wonder how soon someone leverages that in a disassembler to produce far better output to the point where using releasing "only" the binary as an obfuscation mechanism stops being viable. E.g. additional value would be comments about purpose, labels for function entry points t…

>E.g. additional value would be comments about purpose, labels for function entry points that makes sense for what the function does, labels for data that makes sense for what is stored there, comments with explanations of why things are structured the way they are. None of this requires giving it a binary. You are asking it to do 2 tasks, both of which it will do with some level of error. You could disassemble the b…

It was an example. I've already pointed out to you you've gotten hung up on a minor, unimportant detail of an example. You're right, you can do the raw disassembly of the instructions by different means first. Which is entirely irrelevant to the point made. In other words: You're being incredibly obtuse and arguing against an imaginary point nobody made.

The recommendation was literally to try the prompt. The purpose of that recommendation was that if you tried it you might see some of the additional commentary ChatGPT adds, which is where the value was. I could have suggested you disassemble it first, but it seemed easier cut and paste the hex values. That is all.

Do you have anything you want to discuss about the actual point? If not we're done here.

Re: TextSynth Server

#90
post #41

Earlier quoted context omitted.

ChatGPT is pretty good at disassembling x86, and is able to give reasonable descriptions of what the code is doing (e.g try "disassemble the following bytes in hex and explain what they appear to be doing: [bytes from a binary in hex]") I'm curious how soon someone uses these models to effectively ruin the ability to use releasing binaries as an obfuscation method.

It will struggle with understanding small parts of big programs without seeing the full context, though maybe you could get around that by making it generate some sort of summary for itself or something like that

My tests on small parts of big programs suggests if anything that it does far better than I expected, but you're probably right that it would struggle with that for many things if you tried turning it into a bigger tool, and having it generate summaries is probably essential. While we can "fake" some level of memory that way, I really would like to see how far LLM's can go if we give them a more flexible form of memory...
Post reply on HN