7 ms·
I was trying for 20 minutes to get it to spit out all 50 state capitals with the city names in alphabetical order and it kept doing two things: 1) It'd put the
by sharkweek 4y ago
I was trying for 20 minutes to get it to spit out all 50 state capitals with the city names in alphabetical order and it kept doing two things:
1) It'd put the list in alphabetical order by state, but it'd include all the correct capitals
2) It'd list 49 of the 50 capitals, in alphabetical order this time, but duplicating Madison, WI.
I'd ask it to try and figure out what it did wrong in both cases, and it'd correctly identify the mistake, but then repeat it.
Not sure how I got there eventually, but on about the 7th or 8th attempt, it got it right.
- Daneel_ 4y agoNot here to one-up you, but currently this is just down to how you ask. I came up with this in about a minute: "Please list all 50 US state capital cities, with the list sorted alphabetically starting at the first letter of each line of your response. Please do not create sections for each letter." This returned: - Albany, New York - Annapolis, Maryland - Atlanta, Georgia - Augusta, Maine - Austin, Texas - Baton Rouge, Louisiana - Bismarck, North Dakota - ... My gut feeling is that to get what you want from it you need to have a solid understanding of how to manipulate search engines and other fuzzy input systems. On self reflection I find it interesting that I wrote "Please" at the start of each sentence, as if that would give me a better output. Heh.
- melagonster 4y agoI sure I read this somewhere, more please and thank you offer better output. the problem is, putting all requirements in one sentence is a rough behaviour, but chatGPT work better in this condition. I always forget this:/
- sharkweek 4y agoMaybe, but I also think it’s fair to assume when you ask it in a much simpler way, “please list all US state capitals in alphabetical order” it should be able to do so. That isn’t a complicated question that requires much refinement to understand. To your “please” comment, I also find myself using common niceties probably out of social habit, but also perhaps because in the back of my mind I want the AI that inevitably takes over to remember me being nice to it (half-joking, but also kind of not).
- gwright 4y agoI feel like your observation that this "isn't a complicated question" is leaning on an implicit assumption that ChatGPT is a general AI and not a LLM. It is just generating text based on probabilities -- it isn't "reasoning". I might go as far to say that inferences computed by a LLM are of all the same complexity but I don't really know enough about ChatGPT to be confident in that statement.
- nearbuy 4y agoPeople keep repeating that LLMs are "just generating text based on probabilities". That statement doesn't mean anything. I think people who say this are imagining LLMs work something like a statistical model. Maybe it's doing a linear regression or works like a Markov chain. It's not. A single artificial neuron sort of works like that. But that's sort of like saying a single transistor is just an electronically controlled switch, so the only thing computers can do is switching. It's true in some sense that computers are just doing a lot of switching, but it turns out all this switching is Turing-complete. That means computers can theoretically compute anything that's possible to compute given enough time and memory, which includes anything a human could figure out. Similar principle applies to LLMs. Using probabilities is part of what they do, but that doesn't preclude them from using logic and rules of inference.
- vidarh 4y agoIt's worth noting that "just generating text based on probabilities" describe Markov algorithms [1], which are Turing-complete. People overestimate how much it takes to end up with something Turing-complete.[Markov algorithms only generate text with probability 100% or 0% based on whether a certain rule matches or not, so it's even simpler] (A Markov algorithm is distinct from a Markov chain, but as far as I can tell you could emulate a Markov algorithm with a Markov chain with sufficient number of input states, transitions clamped to 0% or 100%, and allowing it to iterate over its own output; with a large enough state machine, iteration, and a mechanism to provide memory it's almost hard not to end up with a Turing machine) [1] https://en.wikipedia.org/wiki/Markov_algorithm https://en.wikipedia.org/wiki/Markov_algorithm
- jquery 4y agoSupplication ("please") does sometimes give better responses. Or at least more polite ones.
- kingkongjaffa 4y agoAnother thing you can try which is readily testable is Pokémon. So in the Pokémon games, different Pokémon have different stats, for example attack, defence, speed, and so on. I would ask gpt to list in a table pokemon with more than a specific amount in a stat like >150 attack for example. It routinely can print Pokémon in a table that matches the criteria, but it misses some out or includes wrong ones. When you point it out it agrees with you and will try to reprint the table but each time there are some errors, missing Pokémon, Pokémon incorrectly added. The dataset is very well known so it’s a good benchmark of correctness. Example: https://pokemondb.net/pokedex/all https://pokemondb.net/pokedex/all This was in gpt3.5
- nearbuy 4y agoBeing able to sort a large list like that is really impressive given how ChatGPT works. I wonder if it's seen enough sorted lists of capitals in its training data to help it. ChatGPT doesn't have any internal working memory. It can't think things out in its head before forming an answer. It formulates its answer one token at a time, but it only gets one pass through its network to make each token. (One token is often about 4 characters, but for simplicity I'll pretend it generates one word at a time.) To sort a list of 50 things, it has to figure out in a single pass which thing comes first. Then in the next pass, which thing comes second. And so on. There's no internal memory between passes either; it only sees what's written in the chat (including its own writing). It can't do loops or iteration internally within a pass either. A human could do this iteratively for any number of items. You just go through the items one by one, keeping track of the earliest alphabetical item so far (using your working memory). Once you've gone through the entire list and found the first item, cross that one off and repeat the process until the entire list is sorted. ChatGPT can't do it that way.
- int_19h 4y agoIt doesn't help with repetition, but when it comes to force structure on the output data, this approach looks interesting: https://github.com/newhouseb/clownfish https://github.com/newhouseb/clownfish TL;DR: it exploits the fact that the model returns probabilities for all the possible following tokens to enforce a JSON schema on the output as it is produced, backtracking as needed.