4 ms·
I have to wonder at the motivation here. Are you just playing around with this as an amusing semantic game or are you actually trying to defend the output of GP
by omnicognate 3y ago
I have to wonder at the motivation here. Are you just playing around with this as an amusing semantic game or are you actually trying to defend the output of GPT-4?
If the former, fine but I definitely disagree. If I were to use an API that were documented in those terms but behaved the way you describe I would be absolutely livid. I'd want to seek out the authors and do violence upon their person. That is not a reasonable pairing of description and implementation, and I'm sure you'll be unsurprised to know it's not what C-INTERCAL does [1]. It doesn't use a cryptographically secure RNG, sadly (though there's no reason it couldn't), but it does use a RNG and certainly doesn't do what you suggest.
If the latter, though, I'm curious about the psychology. As I mentioned, this semantic rabbit hole is irrelevant to the profound wrongness of the paragraph I quoted. Every part of the sentence is wrong: the code isn't using a clever trick to produce seemingly random numbers, it's using the random behaviour built in to the language; %50 doesn't have anything to do with "mingl[ing] the bits of two 16-bit numbers" (that's "interleave", denoted with what looks like a cent symbol); the #1, #2 etc are constants, not unary operations; the fact that different results are produced each time is part of the language behaviour not the result of some trick. If you are defending this, why?
[1] https://github.com/calvinmetcalf/intercal/blob/8a65e8ba1cc65870b0d6b1bb174a4c4560bde07f/src/cesspool.c#L838 https://github.com/calvinmetcalf/intercal/blob/8a65e8ba1cc65...
- TeMPOraL 3y agoA bit of both. The way they author and the commenters approach this rubs me wrong, because my long C++ and Common Lisp experience - both languages with a standard and multiple competing implementations - taught me that any correct read of the standard is valid, and you can't make assumptions that are narrower than what the standard says. The approach I presented is a valid implementation of the quoted/referenced documentation, and the approach itself is done frequently in algorithms when optimizing for speed, and when perception of randomness is sufficient - this commonly shows up in gamedev, and sometimes in statistics. So in short, I'm defending GPT-4 by suggesting it's taking a language lawyer approach to the problem space, not assuming things beyond the letter of the spec. As for why am I doing it in the first place, it's because I'm biased in at least four ways: 1) I like GPT-4, 2) I believe it's doing a subset of what we call thinking, 3) I hate bad takes - which I believe this article is, and 4) I'm a sucker for showing off on the Internet.
- breadbox 3y agoLook, I understand your point. I really do. But I feel that (perhaps due to one or more of your acknowledged biases) you're applying the wrong context to the situation at hand. Namely: this is INTERCAL. There is no freaking standard. The "standard" is a 60-page text file written in 1973. The current compiler was written 90% based on this joke-filled document, and 9% new ideas because ESR came up with something even more ridiculous. (The remaining 1% was Don Woods responding to emailed questions by consulting his memory. He still has paper copies of the SPITBOL source code, but the original compiler hasn't been run in over 50 years.) There is no standard because at any given time there are at most three people on the planet who care one iota about INTERCAL standardization, and are only willing to put in any effort if it would be funny. So, for example, the question of what sort of randomness the double-oh-seven operator is contractually required to use is simply not a contextually relevant question. You seem to be suggesting that it might be possible, even thinly so, that Chat-GPT somehow misapplied a strict standard of randomness in the formation of its response, instead of simply papering over a hole in its knowledge with a bit of improvised plausible-sounding guesswork, a well-documented behavior of both Chat-GPT and thinking entities worldwide. If not, then I humbly apologize for misunderstanding your point. Otherwise, I must politely agree to disagree. And I'm sorry that my essay rubbed you the wrong way. Perhaps one day you will find it better than you do now, but if not then I hope it passes from your memory quickly.
- TeMPOraL 3y ago> But I feel that (perhaps due to one or more of your acknowledged biases) you're applying the wrong context to the situation at hand. That's likely it. I know it might have looked like a joke, but I was serious about my biases, and wanted to say them up front, especially given that GP was curious about motivation and psychology (and honestly, I was curious too, in a self-reflective kind of way). > You seem to be suggesting that it might be possible, even thinly so, that Chat-GPT somehow misapplied a strict standard of randomness in the formation of its response, instead of simply papering over a hole in its knowledge with a bit of improvised plausible-sounding guesswork, a well-documented behavior of both Chat-GPT and thinking entities worldwide. If not, then I humbly apologize for misunderstanding your point. Otherwise, I must politely agree to disagree. You're pretty much on point here. I started with a vague intuition, and writing those comments was helpful in clarifying it; what I was suggesting is that, as GPT-4 was trained with a lot of code and coding-related discussions, it surely encountered many texts where readings and misreadings of language standards, good and bad implementations, were discussed. From my personal experience, this would definitely be the case if it ingested significant amount of material on C++ or Common Lisp - but this kind of "language lawyering" also shows up in context of HTML, CSS, JavaScript, POSIX, etc. So the general pattern of "not going beyond what is written" (in context of programming, though it applies in other domains too) is something I believe GPT-4 could've picked on. Now, I understand and acknowledge the strong tendency for LLMs to "paper over a hole in its knowledge with a bit of improvised plausible-sounding guesswork". What I was thinking in writing those comments is that the "language lawyering" attitude, had GPT-4 picked it up, isn't competing with hallucinations, but rather modulating/complementing them. This would explain why its "plausibly-sounding guesswork" leaned towards denying PRNG-ness of %-operator, instead of the (more obvious to us) assumption that it is a proper PRNG. This isn't a strong defense, I'm not going to die on that hill or anything. But it's something I think is at least possible, and I thought worth bringing up to counter the common assumption that GPT-4 is plain old getting confused and making plausibly-sounding shit up at random. I.e. I was suggesting that, while still wrong, it might be wrong for a deeper reason, perhaps more excusable one. But also I wrote it because it was a knee-jerk counterpoint and I felt it hit a sweet spot of being deep enough, contrarian enough and reasonable enough to warrant posting - and, for some reason, I didn't manage to stop myself from hitting "submit". > And I'm sorry that my essay rubbed you the wrong way. Perhaps one day you will find it better than you do now, but if not then I hope it passes from your memory quickly. The more I think about it (in large part through writing this response), the more I realize it's me, not you. So don't be sorry - in fact, I apologize for a mostly knee-jerk reaction that was aimed in 1/3 at your text, in 1/3 at the HN commentary I saw for it, and 1/3 at things I saw in LLM-related threads in the past month. I didn't want to make you feel bad or annoyed, and I promise to give your text a more unbiased second read. Thanks for replying and arguing your case so thoroughly!