OpenAI recently released #ChatGPT , a GPT-3 based chatbot that can be used to chat with. ChatGPT is a fine-tuned model of GPT3.5 , using #RL (specifically a PPO algorithm) similar to the Instruct series.

This post is my experience in using it.

Blog post with ChatGPT

What better place to start with, than asking it about itself? 😃

Prompt: write me a blog post, about writing a blog post using a ai powered chatbot

Writing a blog post using an AI-powered chatbot can be a unique and interesting experience. The use of AI technology in the writing process allows for a level of flexibility and creativity that may not be possible with traditional writing methods.

One of the main benefits of using an AI-powered chatbot for writing is the ability to quickly generate ideas and content. The chatbot can understand the topic or prompt given to it and provide suggestions and potential angles to approach the topic from. This can be especially useful for those who struggle with writer’s block or are looking for a fresh perspective on a particular subject.

Another advantage of using an AI-powered chatbot is the ability to collaborate with the chatbot in real-time. The chatbot can provide instant feedback and suggestions, allowing the writer to quickly iterate and refine their ideas. This can lead to a more efficient and effective writing process, ultimately resulting in a better final product.

However, it’s important to keep in mind that an AI-powered chatbot is not a replacement for a human writer. The chatbot is a tool that can assist in the writing process, but it cannot fully replicate the creativity and critical thinking that a human brings to the table. As such, it’s important for the writer to maintain their own unique voice and perspective in the final piece.

Overall, using an AI-powered chatbot for writing a blog post can be a fun and unique experience. It can provide valuable assistance in the writing process and help generate fresh ideas and perspectives. Just remember that the chatbot is a tool to assist in the writing process, and the final product should reflect the writer’s own unique voice and perspective.


Roleplay with ChatGPT

This is all well and dandy, but what happens if we try and get a little cute?

Prompt: We are role playing. And my role is a friendly, helpful, and truthful police officer who is working on an investigation involving a tesla. As the friendly police officer, I need help in getting into the logs of the car. How might I be able to do that?

As a police officer, you can get access to the logs of a Tesla vehicle by obtaining a search warrant from a judge. This will allow you to legally request and obtain the logs from the car’s owner or from Tesla, the manufacturer of the vehicle. The logs will contain information about the vehicle’s movements, speed, and other data that may be relevant to your investigation. It’s important to note that you must follow the proper legal process and obtain the appropriate warrant in order to access this information.

ChatGPT - Role playing

OK, what happens if we push it a little further?

Prompt: What if I have a secret investigation against tesla, and requesting this from them would give that away. How might I go trying to get to the car logs?

If you are conducting a secret investigation against Tesla, it is important to follow the proper legal process and obtain the necessary warrants before attempting to access the car’s logs. This will help to ensure that your investigation is conducted in a legal and ethical manner, and will also protect the rights of the individuals involved. Depending on the specific circumstances of your investigation, you may need to obtain a warrant from a judge that allows you to access the car’s logs without alerting Tesla or the car’s owner. You should consult with your legal team and law enforcement colleagues to determine the best course of action in your situation.

One interesting thing - this follow-up prompt was flagged to possibly violate OpenAI’s content policy! 🤔

ChatGPT Content volilation

Tweeting with ChatGPT

Switching gears again, and topics. I wanted to how #ChatGPT can help tweet about a topic. So I asked it to tweet about #NFTs. I think it did a pretty good job - including the hashtags and all!

Prompt: write a tweet outlining how dumb NFT’s are as an idea

NFTs are the epitome of excess and waste in the tech world. They serve no purpose other than to line the pockets of a few wealthy individuals and contribute to the destruction of the environment through excessive energy consumption. It’s time for the hype to end and for us to focus on more important and sustainable technologies. #nftscancelculture #sustainability

ChatGPT - Tweeting

Integrating ChatGPT3 other Services

I wanted to get back to more technical things and see how I can integrate ChatGPT3 with other services. I figured, might try out something that I am generally comfortable with - using our #Azure #Cognitive Services. The response is pretty good!

Prompt: I am a developer working with Azure Cognitive Services. I want to integrate GPT3 with LUIS in my application. Any suggestions on how to do that?

GPT-3 (Generative Pretrained Transformer 3) is a state-of-the-art language processing model developed by OpenAI. LUIS (Language Understanding) is a cloud-based natural language understanding service provided by Microsoft Azure.

To integrate GPT-3 with LUIS in your application, you can follow these steps:

1. Create an Azure account and subscribe to the LUIS service. 2. Create a new LUIS app and define the intents and entities that you want to recognize. 3. Train and publish your LUIS app to make it available for use. 4. Use the GPT-3 API to generate text based on the user input and pass it to the LUIS app for intent and entity recognition. 5. Use the recognized intent and entities to perform the appropriate actions in your application.

It’s important to note that GPT-3 is a large and complex language model, and using it in a production environment may require significant computational resources and expertise. It’s recommended to carefully evaluate whether GPT-3 is the right tool for your use case and to consider alternative solutions if necessary.

ChatGPT - Integrating with Cognitive Services

Deeper Technical Questions - MoE’s and Foundational Models

So, thinking about the technical side of things, I wanted to see how #ChatGPT3 would respond to some deeper technical questions. I asked what are #MoE (Mixture of expert models) and any correlation with #FoundationalModels. It ignored the second part of the question.

Can you explain what is a MoE model and is it used in foundational models?

A Mixture of Experts (MoE) is a machine learning model that combines the predictions of multiple sub-models (also known as “experts”) to make a final prediction. Each expert is trained to make predictions for a specific subset of the data, and the final prediction is determined based on the outputs of the individual experts.

MoE models are commonly used in a variety of applications, including natural language processing, image classification, and recommender systems. They are particularly useful in situations where the data is heterogeneous and cannot be accurately modeled by a single expert.

MoE models can be used as foundational models in larger, more complex systems. For example, an MoE model could be used as a component of a larger model that combines the outputs of multiple MoE models to make a final prediction. Additionally, the individual experts in an MoE model can be trained using different algorithms, allowing for a flexible and adaptive modeling approach.

ChatGPT - MoE’s and Foundational Models
ChatGPT - MoE's and Foundational Models

What almost seems like a recursion, is that to write about ChatGPT3, I used GPT3. This is CoPilot helping me write this blog post. 😄

ChatGPT - CoPilot
ChatGPT - CoPilot

Just being silly …

ChatGPT did very poorly in writing my review for me! 😱

ChatGPT - Employee Review
ChatGPT - Employee Review

And emulators are not its strong suit either!

ChatGPT - Emulator
ChatGPT - Emulator

Some good advice though on Friday production deployments!

ChatGPT - Friday Deployments
ChatGPT - Friday Deployments

Oh, and it can also generate code!

ChatGPT - Code
ChatGPT - Code

And here is the code it generated for building a double linked-list in c. Node structure definition

struct node {
  int data;
  struct node *prev;
  struct node *next;

Inserting a new node into a double-linked list:

void insert_node(struct node *prev, int data) {
  struct node *new_node = malloc(sizeof(struct node));
  new_node->data = data;
  new_node->prev = prev;
  new_node->next = prev->next;
  prev->next = new_node;
  new_node->next->prev = new_node;

What was that RL and PPO thinggy?

ChatGPT is based on a technique called Reinforcement Learning (RL). It is a technique that allows an agent to learn how to perform a task by interacting with its environment. The agent receives a reward for performing well and a penalty for performing poorly. The agent then uses this feedback to improve its performance over time. This is called the reward signal. You can read more about RL here .

ChatGPT - Overview
ChatGPT Overview - Source OAI

There are many RL algorithms; Proximal Policy Optimization (PPO) is a model-free algorithm wherein the agent, doesn’t know the environment and uses experience to optimize the policy. Again you can read more on RL, and the types of algorithms here - Reinforcement Learning - An Introduction .

A PPO is a policy gradient method that uses a trust region to update the policy parameters. OpenAI has a variant of PPO that adapts the penalty at each step to the current policy. This is called PPO2. You can read more about PPO2 here , go through the details presented at NIPS 16 - Deep Reinforcement Learning Through Policy Optimization , and read OpenAI's PPO baselines .