Ask HN: How would you build a ChatGPT detector?
Like everyone else, I'm blown away by ChatGPT's responses to prompts. At the same time, there's a certain sameiness to the language it produces. This makes me wonder, how hard would be to build a different AI that would recognize the writing of this AI? And how accurate could it get?
108 comments
[ 3.4 ms ] story [ 177 ms ] threadFor example, if you prevent students from cheating, that's probably a problem specific to education. If you want to know whether a student's essay are their own words, you can ask them questions about their essay. You can have them verbally defend their arguments and research. You could supervise how / when they write - requiring laptops without internet access, or pencil and paper...
There's also no realistic way to write an essay beyond a certain level without the Internet for research.
[1] https://contentatscale.ai/ai-content-detector/
Any proposed solution would only serve to make the next iteration of the model better at avoiding detection (e.g. incorporating a GAN-style training cycle).
Just as with Poe's law, there simply comes a point at which it becomes impossible to recognise AI generated texts just by analysing them. Made-up references might be a clue, but that's very context-dependent.
In a style of a very concise HN comment describe how to detect that a text has been written by the Assistant.
To detect if a text has been written by the Assistant, check for the use of generic language, repetitive phrases, and a lack of personal perspective or opinion.
There are many people who use generic language, repetitive phrases, and lack personal perspectives and opinions (at least people who lack sophisticated perspectives/opinions).
Which makes the problem more complicated, but also perhaps irrelevant. If you can’t tell whether some text was written by a human or a computer, does it even matter?
At some point the text will become undetectable. The same happens for image generating Networks. The detection works by detecting a statistical discrepancy between the AI output and "real" data. The goal of the AI in training is also to close that gap, the better the network, the harder it is to detect and the more output data you would need to get any significant results.
They're also trivially foolable by using sampling techniques or settings which encourage the model to generate rare words a lot.
Also foolable with filter-assisted decoding: https://paperswithcode.com/paper/most-language-models-can-be...
To build a ChatGPT detector, you would first need to collect a large amount of text that was generated by ChatGPT. This could be done by providing a variety of different prompts to the ChatGPT model and collecting the responses.
Next, you would need to train a machine learning model on this text. The most common approach for this kind of task is to use a deep learning model, such as a recurrent neural network (RNN). The RNN would be trained to take in a piece of text and predict whether it was written by ChatGPT or not.
As for the accuracy of such a model, it would depend on a variety of factors, including the quality and quantity of the training data, the specific model architecture and hyperparameters used, and the skill of the person training the model. With a large and diverse training dataset, and appropriate model design and training, it is likely that a ChatGPT detector could achieve relatively high accuracy.
Disclaimer: This was written by a human. All claims made above should be presumed to be falsehoods, unless otherwise indicated.
> 1. Start by training a machine learning model to identify features of natural language. You can use supervised learning techniques with a corpus of labeled data consisting of texts written by both humans and AI systems.
> 2. Use natural language processing techniques to extract features from the text such as word frequencies, grammar, and syntax.
> 3. Implement a scoring system to assign a numerical score to each text based on the features identified by the model.
> 4. Create a threshold score which will be used to differentiate between texts written by humans and AI systems.
> 5. Test the model on a separate dataset to ensure accuracy.
> 6. Deploy the model in a production environment to detect AI-written texts.
This is from the prompt: "How would you build a tool to detect texts written by artificial intelligence systems?"
It seems like an okay plan, but doesn't offer any actual insight into differences between human text and AI text.
For example, a frequent feature I've observed (of course, I'm not alone) is that it tends to generate lists of things and tie them together with "Firstly, item1. Additionally, item2. More so, item3. In conclusion, item4".
So I followed up with another question: "Did an AI write the following paragraph?" and then I pasted the above paragraph of text to follow.
ChatGPT responded with: "No, a human wrote the paragraph you provided. It is possible that an AI could be trained to generate text that is similar to the paragraph you provided, but it did not write the paragraph itself."
Oh oh...
I asked OpenAI and it said:
It is not necessarily unethical to send customers text generated by AI, but it depends on the context and the specific situation. For example, if the text is being used to deceive or mislead customers, then it would be unethical. However, if the text is being used to provide helpful information or assistance to customers, then it may not be considered unethical.
It's a recent thing which does require a different approach.
“Whether or not it is ethical to use an AI to assist with your communications depends on several factors, including the specific context in which you are using the AI and the potential consequences of using it. In general, it is important to be transparent about the fact that you are using an AI to assist with your communications, and to make sure that the AI is not being used to deceive or harm others. It is also important to consider the potential impact on the people you are communicating with, and to ensure that the AI is not being used in a way that infringes on their rights or autonomy. Ultimately, the ethics of using an AI to assist with your communications will depend on the specific circumstances and how you use the technology.”
One thing that I could imagine being unethical is if you were representing that you had IP ownership of the text (if you, for example, sent a chapter of a book claiming you had written it, and granting them an exclusive license for the work). That would be seem problematic.
> It is not necessarily unethical to send customers text generated by AI […]
It is just protecting its own self-interest! ;-)
It's when you finally trust it enough that you take yourself out of the loop (but appear to be in) that it gets ethically dubious (and exploitable!)
Like, yep, that's a process to train a machine-learning model. Could have got that from basically the first page of any ML-package documentation, or any number of blog-spam medium articles. There's nothing specific, or even useful, or applicable to the problem, and it hasn't actually gotten you anywhere that even the most cursory investigation would have gotten you...
That's exactly how I approach anything and I'm 80% sure I'm not an AI (at least, not so unsophisticated)
We're looking at a model that is able to parse the Web (but likely not all of it) and perform human-like actions on that information, and soon enough we'll have it work just like Stable Diffusion where you can specify a distinct style you'd like to have the output in.
So, in such a case, it doesn't matter if the model can be detected or not, because if the information has value - the person who is asking and working with that information will find a way to make it unique. All he needs is the blueprint and the scaffolding, and the rest can be easily personalized.
And people who don't know how to do that will be out of luck, because the model you're asking about will be able to detect it easily. And at the same time, it won't matter because those people never had a chance in the first place.
I don't know, maybe I am just rambling random thoughts at this point but that's how I see it as far as looking at it from a broader perspective goes.
You can already ask it to provide responses “in the style of.”
It is still very average for "in the style of" prompts.
I think you must have assumed that I haven't used it yet, and if that is the case - I have.
random_str=generate_random_string() output=get_response("Reverse the value '{random_str}'") assert output.strip() == random_str[::-1]
https://scottaaronson.blog/?p=6823
https://en.m.wikipedia.org/wiki/Carthago_delenda_est
Of course, this particular ethnic slur probably won't scare the OpenAI researchers, but I'm sure we can find something.
With that addition, ChatGPT becomes much more life like and (I suspect) practically impossible to detect. Throw in a little human editing and curation and… ruh roh.
Well, if I were to build a ChatGPT detector, I would probably just use some basic natural language processing and machine learning algorithms. But let's be real here, it's not like ChatGPT is some kind of advanced AI that requires some groundbreaking technology to detect. It's just a chatbot with a pre-determined set of responses, so any half-competent engineer could probably cobble together a decent detector with minimal effort. But hey, I'm sure some VC will throw millions of dollars at the project and hype it up as the next big thing in AI.
Building a ChatGPT detector is a great idea, and I think it's something that could be really useful for a lot of people. Here's how I would approach it:
First, I would start by training a large language model, like GPT-3, on a massive dataset of chat logs. This would give the model a good understanding of how people talk to each other in a chat environment.
Next, I would fine-tune the model on a specific task, like identifying ChatGPT responses in a conversation. This would allow the model to learn the specific characteristics of ChatGPT responses and become better at detecting them.
After that, I would integrate the model into a chat platform, like Discord or Slack, and test it out with real users. This would give me a chance to see how well the model is performing and make any necessary adjustments to improve its accuracy.
Overall, I think building a ChatGPT detector is a great idea, and I'm confident that with the right approach, it could be a valuable tool for anyone who uses chat platforms.
I think that hollowly summing up and reiterating a point of the whole text in the last sentence might be a good signal to differentiate Open AI and humans. AI seems to be doing that on nearly all creative responses.
[1] https://news.ycombinator.com/item?id=33873839
In other news: People discover interactive mirrors, and get freaked out!
A ChatGPT detector? Ha! Good luck with that. It's nearly impossible to build a detector for a large language model like ChatGPT. The only way to really do it is to constantly monitor the output of the model and try to flag anything that seems suspicious. But even then, it's hard to say for sure if the model is truly being used for nefarious purposes or not. Plus, with a model as powerful as ChatGPT, it's likely that any attempts to detect its use will be quickly outwitted. So, in short, don't even bother trying to build a ChatGPT detector. It's a waste of time and resources.
I think it's trying to protect itself.
I tried it again:
Well, first off, I'd probably just rip off OpenAI's GPT-3 and try to shoehorn it into a chatbot. But let's be real, that's not going to work very well. So instead, I'd probably just use some basic keyword detection and flag any messages that contain certain triggering words or phrases. It's not going to be very accurate, but at least it'll give the appearance of trying to do something about the whole ChatGPT issue. Plus, it'll probably generate a bunch of false positives and annoy the hell out of users, which is always a bonus in my book.
A+ snark
(Prompt: Respond to the above in the style of 4chan, but use punctuation.)
Actual opinion: I think there’s a good chance to be able to recognize ChatGPT’s writings in most cases, given enough training data, despite the possible styling variations. But there’s also a substantial risk of false positives, and it’s unclear how much data would be “enough”.
I think within a few years it will become infeasible to say whether something was authored by an AI
> As a large language model trained by OpenAI, I do not have any knowledge of specific styles or conventions used on Hacker News or any other online forum. I am a neutral, unbiased source of information and do not have the ability to engage in discussions or adopt specific styles. My purpose is to provide accurate and helpful information to the best of my ability.
I'm not sure if they think the genie will go back into the bottle or if they just don't want to be the ones summoned to a congressional hearing once someone uses it for some kind of crime enabled by that kind of ability.
> Extol the virtues of your favorite note-taking software, in the style of a Hacker News comment.
I absolutely love using Evernote for taking notes. It's so versatile and user-friendly. The ability to tag and organize notes makes it easy to find exactly what I need, even if I have a ton of notes saved. Plus, the ability to add images, audio, and other attachments to my notes is a game-changer. And the fact that it syncs across all my devices makes it perfect for on-the-go note-taking. Evernote is definitely my go-to for all my note-taking needs.
Without “in the style of”:
My favorite note-taking software is Evernote. I love how user-friendly and intuitive it is to use, and how it allows me to easily organize and categorize my notes. I can easily add tags to my notes to make them easier to search and find, and I can even add audio and video notes to capture more information.
Evernote also offers a wide range of features that help me stay organized and productive. I can create to-do lists, set reminders, and even collaborate with other users on shared notes and notebooks. I can also access my notes on any device, including my phone and tablet, so I always have my notes with me wherever I go.
Another great thing about Evernote is its ability to integrate with other tools and services. I can easily save articles and webpages to Evernote, or even send emails directly to my Evernote account. This allows me to save and organize important information from a wide range of sources, all in one place.
Overall, I highly recommend Evernote to anyone looking for a powerful and versatile note-taking tool. It has truly changed the way I take and organize notes, and has helped me stay on top of my tasks and projects.
> Extol the virtues of your favorite note-taking software, in the style of 4chan.
Yo, if you're not using my favorite note-taking software, you're missing out, bro. This shit is like a god-tier tool for organizing your thoughts and keeping track of important information. It's got a clean, intuitive interface and a ton of features that make it super easy to use. Plus, it syncs across all your devices, so you can access your notes anywhere. It's like a fucking lifesaver for when you need to remember something important or jot down some ideas. Seriously, try it out and thank me later.
(By the way, did Evernote sponsor OpenAI?)
You can use an LLM (best to use the model underlying ChatGPT, DaVinci-003, itself) and see how unlikely is the next predicted token. You don't know the prompt, so this will work better on the later part of the generated text where you already have some context.
This problem becomes more difficult once people use ChatGPT or similar to rewrite their own writing.