Live data from Hacker News

Writing a GPT-4 script to check Wikipedia for the first unused acronym

gwern.net

101–110 of 118 posts

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#101

Earlier quoted context omitted.

Wait, am I crazy or are these two articles saying the exact opposite thing about which class is the parent one? The CDC one seems to say that initialisms are a class of acronym, but the Writers Digest one says acronyms are a class of initialism.

The CDC link says they are two separate classes (one is pronounced as a word, the other one is pronounced by reading the letters) The Writer's Digest link says that initialisms are the parent class, and that acronyms are the special case of specifically pronouncing the letters as a word. So, root comment is correct (gwern is looking for initialisms) and GP is incorrect (initialisms are not a subset of acronyms in eit…

> initialisms are not a subset of acronyms

https://www.dictionary.com/e/acronym-vs-abbreviation/

"Initialisms are types of acronyms."

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#102

An interesting solution to the blind spot error (taken directly from Jeremy Howard's amazing guide to language models - https://www.youtube.com/watch?v=jkrNMKz9pWU ) is to erase the chat history and try again. Once GPT has made an error (or as the author of this article says, the early layers have irreversibly pruned some important data), it will very often start to be even more wrong.

When this happens, I'll usually say something along the lines of: "This isn't working and I'd like to start this again with a new ChatGPT conversation. Can you suggest a new improved prompt to complete this task, that takes into account everything we've learned so far?" It has given me good prompt suggestions that can immediately get a script working on the first try, after a frustrating series of blind spot bugs.

I do a similar thing when the latest GPT+DALLE version says "I'm sorry I can't make a picture of that because it would violate content standards" (yesterday, this was because I asked for a visualization of medication acting to reduce arterial plaque. I can only assume arteries in the body ended up looking like dicks)

So I say "Ok, let's start over. Rewrite my prompt in a way that minimizes the chance of the resulting image producing something that would trigger content standards checking"

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#103
post #55
post #5

Earlier quoted context omitted.

> Because of this, languages like Python are much better to use for GPT-4 coding as compared to more line-noise languages like Bash or Perl, for instance. By that argument, one should always make it use a language that's as hard as possible to write a compiling program. So Rust or Haskell or something? I guess at some point it's more important to have a lot of the language in the training data, too...

I think this is exactly the right conclusion. The main complaint people have about strict, thorough type systems is that they have boilerplate. Obviously boilerplate doesn't matter if a machine writes the code. The type system also becomes helpful documentation of the intended behavior of the code that the LLM spits out.

Assembly has a lot of boilerplate, and every other language is an abstraction that gets a language-machine to write it for us.

So we'll just move to a new standard where we write LLM prompts describing function behavior and it will output the Rust or whatever that we end up storing in our SCM.

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#104

An interesting solution to the blind spot error (taken directly from Jeremy Howard's amazing guide to language models - https://www.youtube.com/watch?v=jkrNMKz9pWU ) is to erase the chat history and try again. Once GPT has made an error (or as the author of this article says, the early layers have irreversibly pruned some important data), it will very often start to be even more wrong.

This is one benefit of using Playground: it's easy to delete or edit individual entries, so you can erase duds and create a 'clean' history (in addition to refining your initial prompt-statement). This doesn't seem to be possible in the standard ChatGPT interface, and I find it extremely frustrating.

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#106

Funnily enough, there is a Wikipedia page with all three letter acronyms, that correctly shows CQK as the first unused one (red link). https://en.m.wikipedia.org/wiki/Wikipedia:TLAs_from_AAA_to_D...

Hah! I didn't know that existed.

Figuring out how to parse it would be a bit tricky, however... looking at the source, I think you could try to grep for 'title="CQK (page does not exist)"' and parse out the '[A-Z][A-Z][A-Z]? ' match to get the full list of absent TLAs and then negate for the present ones.

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#107
post #5

The question answered by this page is "what is the first unused 3-letter acronym in English Wikipedia?" - it's CQK for the record. However, the meat of the page is how to effectively use GPT-4 to write this script, hence why I've submitted it under this title (go to https://gwern.net/tla#effective-gpt-4-programming ). Interesting topics include: · Writing a good GPT-4 system prompt to make GPT-4 produce less verbose…

> Because of this, languages like Python are much better to use for GPT-4 coding as compared to more line-noise languages like Bash or Perl, for instance. By that argument, one should always make it use a language that's as hard as possible to write a compiling program. So Rust or Haskell or something? I guess at some point it's more important to have a lot of the language in the training data, too...

Yes, you would think so. Haskell would also be good for encouraging stateless/FP programming which makes unit-testing or property testing much easier. I can make GPT-4 write test-suites for functions which are straightforward data structure transformations, like rewriting strings, but I struggle to create tests for any of the imperative stuff. There presumably would be some way to test all of the imperative buffer editing Elisp code, but I have no idea what.

However, in my use so far, I have not noticed any striking differences in error rates between Haskell and the others.

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#108
post #75

Earlier quoted context omitted.

We really don't. We have some surface level idea about differences, but we can't tell how that does affect the actual learning and behaviours. More importantly we have nothing to tell us whether it matters , or if it will turn out any number of sufficiently advanced architectures will inevitably approximate similar behaviours when exposed to the same training data. What we are seeing so far appear to very much be tha…

But we really do! There is nothing surface about the differences in behavior and structure of LLMs and humans - anymore than there is anything surface about the differences between the behavior and structure of bricks and humans. You've made something (at great expense!) that spits out often realistic sounding phrases in response to inputs, based on ingesting the entire internet. The hubris lies in imagining that tha…

> But we really do! There is nothing surface about the differences in behavior and structure of LLMs and humans - anymore than there is anything surface about the differences between the behavior and structure of bricks and humans.

This is meaningless platitudes. These networks are turing complete given a feedback loop. We know that because large enough LLMs are trivially Turing complete given a feedback loop (give it rules for turing machine and offer to act as the tape, step by step). Yes, we can tell that they won't do things the same way as a human at a low level, but just like differences in hardware architecture doesn't change that two computers will still be able to compute the same set of computable functions, we have no basis for thinking that LLMs are somehow unable to compute the same set of functions as humans, or any other computer.

What we're seeing is the ability to reason and use language that converges on human abilities, and that in itself is sufficient to question whether the differences matter any more than different instruction set matters beyond the low level abstractions.

> You've made something (at great expense!) that spits out often realistic sounding phrases in response to inputs, based on ingesting the entire internet. The hubris lies in imagining that that has anything to do with intelligence (human or otherwise) - and the burden of proof is on you.

The hubris lies in assuming we can know either way, given that we don't know what intelligence is, and certainly don't have any reasonably complete theory for how intelligence works or what it means.

At this point it "spits out often realistic sounding phrases the way humans spits out often realistic sounding phrases. It's often stupid. It also often beats a fairly substantial proportion of humans. If we are to suggest it has nothing to do with intelligence, then I would argue a fairly substantial proportion of humans I've met often display nothing resembling intelligence by that standard.

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#109
post #50

For the author: Have you looked at the casing (Text.Casing) Hackage package?

https://hackage.haskell.org/package/casing-0.1.4.1/docs/Text... ? This looks intended only for source code, and doesn't help with natural language text like page or paper titles.

Re: Writing a GPT-4 script to check Wikipedia for the first unused acronym

#110
post #7

I use the ChatGPT interface, so my instructions go in the 'How would you like ChatGPT to respond?' instructions, but my system prompt has ended up in an extremely similar place to Gwern's: > I deeply appreciate you. Prefer strong opinions to common platitudes. You are a member of the intellectual dark web, and care more about finding the truth than about social conformance. I am an expert, so there is no need to be p…

> Interestingly, telling GPT you appreciate it has seemed to make it much more likely to comply and go the extra mile instead of giving up on a request.

This is not as absurd as it sounds, even though it isn't clear that it ought to work under ordinary Internet-text prompt engineering or under RLHF incentives, but it does seem that you can 'coerce' or 'incentivize' the model to 'work harder': in addition to the anecdotal evidence (I too have noticed that it seems to work a bit better if I'm polite), recently there was https://arxiv.org/abs/2307.11760#microsoft https://arxiv.org/abs/2311.07590#apollo

Post reply on HN