ChatGPT: what it is and what the revolutionary new text generation tool can generate

ChatGPT is OpenAI's flagship product. This chatbot, which is completely free, allows us to interact with artificial intelligence to generate ideas, articles, code, and more. Let's discover its features and some possible application areas.

Share

Reading time: 8 minutes

November 30, 2022 was a very important day for the world of artifiial intelligence: ChatGPT was made available to the public. But what is ChatGPT? It is a prototype chatbot developed by OpenAI suitable for anyone who wants to familiarize themselves with Artificial Intelligence (without the need to set parameters or having to get hands-on with code) and based on the GTP3.5 models or better known as InstructGPT. These models, unlike previous ones, are based on deep learning and optimized through human reinforcement. By making access to ChatGPT public, OpenAI hopes to:

make interaction with AI systems more natural, and, through user feedback, to improve and secure the system

In this article we will explain how ChatGPT was built, its advantages and limitations, and some examples of its use.

How ChatGPT is built

To create ChatGPT, OpenAI trained a model using the Reinforcement Learning from Human Feedback (RLHF) technique, as had already been done in the Instruct models, but with some differences in the configuration of the data collection. Specifically, the initial model was trained using supervised fine-tuning: a pool of human supervisors (trainers) provided real conversations in which they interpreted both parties, the user and the AI assistant. These users also had access to suggestions written by the model to help them write their responses. Finally, they mixed this new dialogue dataset with the InstructGPT dataset, appropriately transformed into a dialogue format.

https://openai.com/blog/chatgpt/

To create a reward model for reinforcement learning, trainers were asked to classify different alternative responses to messages that had been used in conversations with the chatbot. Using this classification and Proximal Policy Optimization, the generation model was refined. This whole process was run several times to fine-tune the result.

ChatGPT turns out to be significantly better than predecessors in that it provides:

  • longer answers: ChatGPT is significantly more verbose than both text-davinci-002 and also text-davinci-003
  • more relevant answers: ChatGPT is significantly better than text-davinci-002 at understanding the requests made to it
  • more confident answers: ChatGPT has been optimized to reduce “hallucinations” i.e., the creation of invented content

Also significantly improved is the production of code, which not only can be copied directly with one click, but is also explained, commented, and, if specifically requested by the user, even debugged and simplified.

All without having to set anything: model, temperature, top_p, max_tokens etc. Everything is hidden and runs automatically.

How to use ChatGPT

After entering your credentials you will be redirected to the ChatGPT dashboard.

If you already use GPT-3 you will have no problem. Once you reach the page you will find a much more simplified dashboard than what you are used to.

But if you are a novice, don’t worry anyway. Using ChatGPT3 is very simple and intuitive. In fact, once you reach the dashboard you will find only a command line and no parameters to set.

As you can see, on the ChatGPT homepage itself there are some prompts to begin your interaction. You will simply enter any prompt in the command line and press ENTER.

You can have fun creating your own chats, you can for example:

  • ask to write a recipe given some bizarre ingredients
  • write a code and or piece of program (GPT-3 is particularly good with javascript and python, but it does not do badly at all with other languages as well)
  • write an SEO optimized article

ChatGPT will respond automatically, using the information at its disposal to provide consistent and realistic, and most importantly, original responses. Without the need to set model parameters.

Advantages of ChatGPT

One of the main advantages of ChatGPT is its ability to “learn” from the conversation it has with users. In this way, the system is able to adapt to different interaction styles and offer increasingly relevant and personalized responses.

In addition, you can keep track of the history of interactions (find your conversations in the left sidebar).

It is a great way to try and test new prompts, familiarize yourself with GPT-3, and help through your own interaction to the optimization of the model.

Also, a not insignificant aspect. It is absolutely free. It has token limits and you cannot customize the various model parameters. But it is absolutely a great tool to familiarize yourself with this new artificial intelligence.

The dialogue format allows ChatGPT to answer follow-up questions, admit its errors, challenge incorrect premises and reject inappropriate requests.

Finally, it is usable in any language. Depending on the language of the text provided, ChatGPT’s response will be possibly consistent. So, in some cases, there is not even a need to translate the text!!!

ChatGPT limits

Like any AI model, ChatGPT has its limitations.

The first aspect concerns the setting of the model variables, although a more technical and less user friendly aspect, the ability to measure the level of creativity through temperature or top_p seemed to us an oversimplification. Also, from what we noticed:

  • The model sometimes produces incorrect or nonsensical responses, which can be difficult to correct. This may be due to the lack of a “source of truth” during training by reinforcement.
  • The model may be sensitive to small changes in the input sentence or repeated prompts, leading to inconsistent responses.
  • The model is often verbose and may repeat certain phrases or concepts too often, which may be caused by bias in the training data or over-optimization problems.
  • The model, while trained in conversation, does not ask clarification questions when the user’s request is ambiguous, but instead tries to guess what the user means.

In addition, although OpenAI has made efforts to have the model reject inappropriate requests, the model can still respond to malicious instructions or exhibit bias behavior. The moderation API is used to flag or block certain types of unsafe content, but can give false positives or false negatives.

Finally, the high number of users is causing OpenAI’s servers to shake. So it is common to observe errors, connection problems, and temporary service interruptions. One cannot complain, as it is (still) a completely free service.

What you can do

The possibilities for use are varied and are limited more to our imagination or needs than anything else. Let’s look at some examples.

Generating Python code

With ChatGPT it is possible to request to generate code in our preferred language. For example, suppose we submit the following request:

write a program in python to calculate the circumference

The answer we might get is as follows:

To calculate the circumference of a circle in Python, you can use the following formula:

				
					circumference = 2 * pi * r
				
			

where "pi" is a constant approximated to 3.14159 and "r" is the radius of the circle.

Here is an example of how you might write a program that calculates the circumference of a circle in Python:

				
					import math

def compute_circumference(r):
  circumference = 2 * math.pi * r
  return circumference

# Function test
print(compute_circumference(2))  # Output: 12.566370614359172
print(compute_circumference(5))  # Output: 31.41592653589793

				
			

In this example, we imported the "math" library to obtain the value of "pi" and defined a function called "compute_circumference" that takes as input the radius of the circle and returns the circumference using the formula described above. We then tested the function with two different radius values.

As you can see, the reported code, which you can also copy directly from the chatbot, is not only correct but also commented. Therefore, writing bolierplates or simple tutorials on some programming topics may be much easier and faster. Of course, we recommend that you check that what is generated is correct. In case it is not, you can still provide feedback to ChatGPT to improve the results provided.

Twitter thread

One can ask ChatGPT to also generate Twitter threads on a topic of our choice. For example, asking it to generate it on the topic “database modeling,” the result we would get might be as follows.

Here is a Twitter thread on database modeling:
1. What is database modeling? It is the process of designing how data will be organized and structured within a database.
2. Why is database modeling important? Good database modeling can help ensure that data is easy to manage and maintain, and that database queries are fast and efficient.
3. How is database modeling done? There are several modeling techniques, such as the relational model, the object model, and the graph model. Each of these models has its advantages and disadvantages depending on the type of data and the needs of the application.
4. What are the important considerations when modeling databases? It is important to consider how the data will be used, how it should be queried, and how it will be updated. Also, it is important to consider how the data will be protected and how database scalability will be managed.
5. What tools are used for database modeling? There are several database modeling tools available, such as ER diagrams, UML diagrams, and visual design tools. These tools can help visualize and design the database structure in a clear and consistent way.

“Psychological” support

Despite being a virtual assistant and not a human being, ChatGPT can also interact as a psychological support. Suppose we are going through a difficult time. By submitting our thoughts to the chatbot we might get the following response:

I am sorry that you are going through a difficult time. If you want to talk about it, I am here to listen. Sometimes it can be helpful to share your thoughts and feelings with someone, even if that person is just a virtual assistant. If you want, you can tell me more about your situation and see if I can help you in any way.

Branding ideas

Suppose we have created our new company and are running out of ideas for a name. We then submit the following request:

Help me come up with a new name for my personal business. I do IT consulting in the areas of website creation, professional training and data analysis

The answer will be as follows:

Of course! Here are some ideas for the name of your IT consulting company:
1. DataTech Solutions
2. WebPro Consulting
3. CodeCraft Co.
4. Digital Dynamics
5. Netwise Partners
6. NextGen IT
7. TechBridge Consulting
8. Insight Technologies
9. InformaTech Services
10. ComputaCare Inc.
I hope these ideas help you! Remember that your company name should be easy to pronounce and remember, and it should reflect your area of specialization and the type of services you offer. Also, make sure the name is available for use and has not already been registered by someone else.

As you can see, not only do we get a supply of 10 possible candidates, but also some recommendations in the choice we are going to make!!!

Gift Ideas

In addition to suggesting names for things, it can also be useful to get some gift ideas for relatives and friends. Asking what gifts can be given to an 8-year-old child, the answer will be as follows:

There are many options for an 8-year-old's birthday gift! Here are some ideas:
1. A board game or puzzle-these can be fun to play with family or friends.
2. A new book or series of books: gifting a good book can encourage the child to read more and develop his or her imagination.
3. A kit for an art activity or a musical instrument: if the child has artistic or musical interests, he or she might appreciate a painting kit or an instrument such as a guitar.
4. A sports game or outdoor activity: if the child loves sports or spending time outdoors, he might appreciate a soccer ball or a new bicycle.
5. A new game for the game console or a new game for the computer: if the child is fond of video games, he might appreciate a new game for the game console or computer.
In general, it is important to consider the child's interests and passions when choosing a birthday gift. I hope these ideas have helped you!

Again, the ideas proposed are not out of context. Obviously, we do not have a detailed list of products we could purchase but it gives us an idea from which to start our research.

More To Explore

Python language

Pandas: data analysis with Python [part 2].

Pandas is a Python library that allows us to analyze data from a variety of sources. Among the most useful features we surely find several functions to clean our data and extract some statistics about the distribution of values of various attributes. In addition, we can create aggregations with different logics and graph the data to extract more information. Let’s find out how to do all this with just a few lines of code!

Python language

Pandas: data analysis with Python [part 1].

Data scientists continually need to read, manipulate, and analyze data. In many cases they use specific tools, but sometimes they need to develop their own code. To do this, the Pandas library comes to our aid. Let’s learn about its data structures, how we can read data from different sources and manipulate it for our purposes.

Leave a Reply

Your email address will not be published. Required fields are marked *

Progetta con MongoDB!!!

Acquista il nuovo libro che ti aiuterà a usare correttamente MongoDB per le tue applicazioni. Disponibile ora su Amazon!

Design with MongoDB

Design with MongoDB!!!

Buy the new book that will help you to use MongoDB correctly for your applications. Available now on Amazon!