Skip to content

ChatGPT

Introduction

ChatGPT is a natural language processing tool driven by artificial intelligence technology. It has the ability to answer open ended questions and assist with tasks such as composing emails and job application letters, translating phrases to and from various languages, creating workouts or meal plans, and even produce code in several programming languages. Since its release in late November 2022 it has astonished users with its human-like answers as well as raised concerns in many who see their jobs threatened in the near future.

Technically speaking, ChatGPT is a large language model. This means that it was trained to predict the next most likely occurring word in a given sentence, much like the text prediction function of a mobile phone. The key difference is that this chatbot’s input comes from hundreds of billions of words from a diverse range of sources including, news articles, websites, and books. “GPT” stands for “Generative Pre-trained Transformer”.

Brief History

The history of ChatGPT itself is very short. However, there are previous relevant events that give a more complete insight of the context of its introduction.

  • 1950s: Alan Turing, the pioneering British computer scientist, publishes ‘Computing Machinery and Intelligence’, where he proposes that if a machine can convince a human they’re talking to another human, then the machine has intelligence. Later this year, he develops a test called the Turing Test to assess machine intelligence.

  • 1966: Joseph Weizenbaum, a German computer scientist and Professor at Massachusetts Institute of Technology, developed the program ELIZA inspired on Turing’s paper. Eliza’s purpose was to trick humans into believing they were chatting with another human and it’s considered the first chat bot in human history. It didn’t pass the Turing Test.

  • 1972: Kenneth Colby, a professor of psychiatry at Stanford University, develops Parry to study the human mind through computer models.

  • 1983: William Chamberlain and Thomas Etter create RACTER, a chat bot whose aim is to entertain people who interact with it.

  • 2000s: ALICE (Artificial Language Internet Computer Entity) was developed. Even if it didn’t pass the Turing Test, it became the foundation for most chat bots nowadays.

  • 2010: Apple launches Siri.

  • 23rd March 2016: Microsoft releases Tay, a Twitter chat bot that was shut down shortly after because it learnt offensive language.

  • 6th November 2016: Amazon launches Alexa.

  • 11th June 2018: OpenAI releases “Improving Language Understanding by Generative Pre-Training”, a paper presenting the differences between natural language processing (NLP) models and Generative Pre-Training (GPT).

  • November 2019: OpenAI launches GPT-2 as a “direct scale-up” of GPT.

  • July 2020: GPT-3 is introduced in beta testing mode.

  • 29th June 2021: GitHub releases GitHub Copilot, developed in collaboration with OpenAI and based on GPT-3.

  • 5th August 2022: Meta launches Blenderbot 3, the company’s most advanced AI chatbot to date.

  • 30th November 2022: OpenAI launches ChatGPT based on GPT-3.5 model. Within 5 days of its realease it gained 1 million users whereas other successful applications needed months to achieve the first million users. For instace, Netflix achieved its first million in 40 months, Facebook in 10 months, and Instagram in 2.5 months.

Features

ChatGPT has the ability to remember previous questions asked in a chat, enabling it to effectively interact with humans in a conversational manner. The model was trained on a vast amount of corpus data covering a wide range of topics and styles, making its potential uses so diverse that it is challenging to summarize them in one report.

As the bot is able to produce human-fashion texts in several languages it can be employed to write essays, poems, bedtime stories, news articles, and even scientific abstracts. These last ones might not contain reliable information, but the text bot is able to mimic academic language perfectly. It can also correct grammar, explain complex ideas in simple terms, and solve mathematical problems, making it a suitable tool for students who need assistance with their assignments or simply use it to cheat on their school work.

One of the most relevant features for web and software development is its ability to generate code snippets in different programming languages including JavaScript, Java, Python, C++, C#, and Ruby. A myriad videos can be found on YouTube with influencers explaining how the text bot built entire apps for them, but it is worth mentioning that the code usually contains bugs or it isn’t completely accurate. Therefore, the building process requires a human developer behind it who can either debug or give further instructions to ChatGPT to fix its own bugs. Nevertheless, the bot has proven to be an exceptional debugging assistant tool. Since resolving code issues involves a lot of time spent on reading documentation, Google searches, and StackOverflow, ChatGPT can significantly increase developers productivity by providing possible solutions in a matter of seconds. All the developer needs to do is copy/paste the code into the chat line and explain what it’s supposed to do and what error it’s throwing.

ChatGPT is currently free to use. OpenAI has announced on Twitter that it’s piloting a subscription plan that offers faster response times and reliability during peak hours. At the time of writing this report, the plan costs $20/month. The free tier will still be available to the public.

Strengths

ChatGPT can be used universally. It isn’t limited to English speakers, supporting many different languages. Nor does it limit users by their age, given its ability to explain complex concepts in simple terms. Additionally, it can assist people in their personal life by outlining meal plans or helping to organise their days, as well as it can aid in a variety of industries like journalism, education, business development, and software development. This makes it a very versatile tool.

In the context of software development, its ability to increase a developer’s productivity is its greatest strength. If the tool is used appropriately, it can help us be more efficient by decreasing the time we spend planning or reading how to do something. It is especially useful for students or developers in the early stage of their careers. Finding the answer that solves an issue requires knowledge of technical terms that students often forget or don’t yet have - having the opportunity to explain the problem in simple terms is, therefore, a great advantage.

The above applies as well when learning to read errors. Errors may look like gibberish at first and you have to learn to interpret them. Being provided with an explanation that beginner developers can understand more easily helps bridging that gap. Moreover, by freeing up senior developer time from this task, the learning timeline can be reduced significantly. Additionally, a senior developer’s ability to effectively communicate information, or “dev charisma,” can vary greatly, and a skilled senior developer may not always be a skilled teacher.

The variety of subjects it was trained in is also beneficial to developers. Not only is the bot able to help in several programming languages, but it’s also able to answer questions about hosting services, cms, databases, and git, amongst others. This feature makes the bot also ideal for practising for interview questions. You can even ask it to be your interviewer: it will give you a set of questions, and if your answers are incomplete it will fill in for you.

The relevance of this tool to senior developers and systems architects lies in its capacity to accelerate the acquisition of new skills and offer a solid base for learning. Furthermore, it can also pinpoint areas of unfamiliarity, making it an attractive and valuable asset for these professionals who typically need to be updated on the latest advancements in their field.

Weaknesses

Despite its many possible uses and strengths, this tool comes with a series of limitations that are important to take into account to make the most out of it. One critical issue is its lack of factual correctness at times. The bot may provide answers that are factually incorrect, but in such an assertive manner it could be difficult for an untrained person to realise. Moreover, it gives no references on where it took the data from. In order to avoid the spread of misinformation, users should double check the answers by consulting reliable sources of information in the subject matter.

Additionally, it tends to be unpredictable and unstable. This means that users may avoid content moderation by repeatedly asking the same question in different ways.

Due to the human trainers rewarding longer answers for their appearance of being more comprehensive, the bot tends to be excessively verbose. This doesn’t always add quality to the responses since the same information is being repeated in different paragraphs with a slight change in phrasing. This is a major giveaway that makes it relatively easy for a human to realize when a text has been written by an AI tool and therefore not reliable for producing important texts for university or work.

The model also presents limitations in terms of server capacity. It is at times unreachable due to the amount of people trying to use the service at the same time. ChatGPT, as well as other NLP systems are very resource-intensive and can be expensive to run and scale. This is being addressed by offering a subscription plan.

Furthermore, it cannot make internet searches to find new sources of information, being limited to the data it was used during its training. Although this was massive, the training finished in 2021 which makes it of little use to get information on topics that are constantly updated. In the same line it cannot provide data on current affairs. This presents a big challenge for OpenAI when training the next iteration of the model, as they will need to make an effort to exclude any text that ChatGPT generated since its release. If this is not done, there is a risk of creating a feedback loop where GPT generated misinformation is included in the training process and solidified as truth.

Comparison

ChatGPT is not the first chat bot in the market. Most companies’ customer service departments offer their users the possibility to solve their problems in real-time by chatting with a bot. Although they use NLP and AI to understand what the customer says, they don’t perform exceptionally well and more often than not the interaction leads to frustration for the human being. Their knowledge, moreover, is limited to the task they’re designed to carry out. For example, a bank chatbot can’t help with debugging code and a shipping service chatbot cannot assist authors in writing essays. ChatGPT, however, is not constrained to a specific activity, as it was trained using a large amount of data in different topics and styles.

Another significant improvement was made with the introduction of the Moderation API. The API help developers protect their applications against possible misuse by giving them free access to GPT-based classifiers that detect undesired content. Bots like Tay and Blenderbot 3 would not have failed (at least so quickly) if they had been provided with a similar tool. ChatGPT is able to refuse to engage in offensive behaviour more efficiently than other similar bots. This post from OpenAI shows a comparison between ChatGPT and InstructGPT where the different responses to the same malicious question reveal a clear advance.

The search engine You.com launched a similar tool the 24th December 2022. It allows users to ask questions and get an answer promptly, and it can also help software developers read and debug code. The key difference with ChatGPT is that the engine doesn’t seem to remember what happened earlier in the conversation, which makes it difficult to actually chat with it.

ChatGPT - demo

This repository was created with the aim of demonstrating how the chatbot works in the context of web development. The readme file explains in detail the instructions given, as well as the challenges I encountered.

Summary

Many have expressed their concern about ChatGPT and other AI tools built on large language models taking their jobs. As technology improves, these models will be capable of better understand irony, sarcarsm, jokes, human emotions, and the nuances introduced by cultural differences making them extremely powerful and suitable for sectors like psychiatry and medicine.

As far as software development is concerned, ChatGPT can write code faster than a human, but not more reliably. It requires human supervision to ensure it’s working as intended. Even if you ask the chat bot to automate testing, these tests may also contain bugs. Replacing a human proves not to be so easy after all. Instead, this type of technology is most useful to boost productivity - to assist human beings in their daily tasks. It is obviously more efficient to ask a question and obtain a response in seconds than to post it on stackoverflow and wait for other developers to read our code and provide an answer. It is also easier to read one response than sift through dozens of pages from a Google search. This is why replacing an entire staff with bots is unlikely to happen in the near future.

Credits

  • Melisa Zorraindo (Melisa-Zorraindo)

References

Official site

Internet articles

Newspaper and magazines

Audio

Video