Table of Contents
From predicting text to following instructions
Follow instructions safely
Model fine-tuning
Home Technology peripherals AI These technologies are used by ChatGPT and its potential competitors

These technologies are used by ChatGPT and its potential competitors

Apr 12, 2023 pm 01:13 PM
ai technology

With the emergence of ChatGPT and the widespread discussion that followed, obscure acronyms such as RLHF, SFT, IFT, CoT, etc. have appeared in the public eye, all due to the success of ChatGPT. What are these obscure acronyms? Why are they so important? The author of this article reviewed all important papers on these topics and classified and summarized them.

ChatGPT is not the first language model (LM)-based dialogue agent. In fact, many organizations have released language model dialogue agents before OpenAI, including Meta BlenderBot, Google LaMDA, DeepMind’s Sparrow and Anthropic Assistant. Some organizations have also announced plans to build open-source chatbots and made their roadmaps public (such as LAION’s Open-Assistant). There are certainly other organizations doing the same thing, just not announced.

The table below compares the AI ​​chatbots mentioned above based on whether they are publicly accessible, training data, model architecture, and evaluation details. There is no relevant data for ChatGPT. The information used here is InstructGPT, which is a fine-tuned model of OpenAI and is considered the basis of ChatGPT.

These technologies are used by ChatGPT and its potential competitors

While there are many differences in training data, models and fine-tuning, these chatbots also share some commonalities - Instruction following means responding to the user's instructions. For example, ask ChatGPT to write a poem about nudges.

These technologies are used by ChatGPT and its potential competitors

From predicting text to following instructions

In general, basic language modeling has insufficient goals To allow the model to efficiently follow the user's instructions. Model creators also use Instruction Fine-Tuning (IFT), which can fine-tune basic models on diverse tasks and can also be applied to classic NLP tasks such as sentiment analysis, text classification, and summarization.

IFT mainly consists of three parts: instructions, input and output. Input is optional, and some tasks only require instructions, like the ChatGPT example above. Input and output constitute an instance. A given instruction can have multiple inputs and outputs. A relevant example is as follows ([Wang et al., ‘22]).

These technologies are used by ChatGPT and its potential competitors

IFT data is typically bootstrapped using human instructions and language models. For bootstrapping, LM generates new instructions, inputs, and outputs based on prompts with zero samples. In each round, the model is prompted with samples selected from humans writing and generating the model. The contribution of humans and models to a dataset can be expressed as a spectrum, as shown in the figure below.

These technologies are used by ChatGPT and its potential competitors

One is an IFT dataset generated by a pure model such as Unnatural Instructions, and the other is a collection of community efforts and manual Create instructions like Super natural Instructions. In between, choose a high-quality seed data set and then bootstrap such as Self-instruct. Another way to collect datasets for IFT is to use existing high-quality crowdsourced NLP datasets for various tasks (including prompting) and use these datasets as instructions using unified patterns or different templates. Related work includes T0, Natural instructions dataset, FLAN LM and OPT-IML.

Follow instructions safely

LM Using fine-tuned instructions may not always generate useful and safe responses. Examples of this behavior include invalid responses (subterfuges), always giving invalid responses such as "Sorry, I don't understand," or responding unsafely to user input about sensitive topics.

To solve this problem, model developers use Supervised Fine-tuning (SFT) to fine-tune the underlying language model on high-quality human labeled data to achieve effective and safe responses.

SFT and IFT are closely linked. Instruction tuning can be thought of as a subset of supervised fine-tuning. In recent literature, the SFT phase is generally used for security topics rather than instruction-specific topics that follow IFT. This classification and description will have clearer use cases and methods in the future.

These technologies are used by ChatGPT and its potential competitors

Google’s LaMDA also fine-tunes a conversation data set with security annotations based on a set of rules. These rules are typically predefined and enacted by the model creator and cover a broad range of topics such as harmfulness, discrimination, and misinformation.

Model fine-tuning

On the other hand, OpenAI’s InstructGPT, DeepMind’s Sparrow and Anthropic’s ConstitutionalAI all use reinforcement learning from human feedback, RLHF) technology. In RLHF, model responses are ranked based on human feedback (such as choosing a better answer), then the model is trained with these annotated responses to return scalar rewards to the RL optimizer, and finally a conversational agent is trained via reinforcement learning to simulate Preference model.

Chain-of-thought (CoT) is a special case of instruction demonstration that generates output by eliciting step-by-step reasoning from the conversational agent. Models fine-tuned with CoT use a dataset of human-annotated instructions with step-by-step inference. As shown in the example below, orange markers represent instructions, pink markers represent inputs and outputs, and blue markers represent CoT reasoning.

These technologies are used by ChatGPT and its potential competitors

Models fine-tuned with CoT perform better on tasks involving common sense, arithmetic, and symbolic reasoning. Fine-tuning with CoT has also been shown to be very effective at achieving harmlessness (sometimes better than RLHF), and the model doesn't shy away from generating "Sorry, I can't answer this question" responses.

These technologies are used by ChatGPT and its potential competitors

##Summary of key points

The main points of this article are summarized as follows:

1. Compared with pre-training data, only a very small part of the data is needed to fine-tune the instructions.

2. Supervised fine-tuning uses manual annotation to make model output safer and more helpful.

3. CoT fine-tuning improves the performance of models on step-by-step thinking tasks and reduces their invalid responses or avoidance on sensitive topics.

Thoughts on further work on dialogue agents

Finally, the author gives some of his own thoughts on the future development of dialogue agents.

1. How important is RL in learning from human feedback? Can the same performance as RLHF be obtained by training on high-quality data in IFT or SFT?

2. How safe is using SFT RLHF in Sparrow compared to using SFT in LaMDA?

3. What level of pre-training is required for IFT, SFT, CoT and RLHF? What is tradeoff? What is the best base model that should be used?

4. Many of the models introduced in this article are carefully designed, and engineers specifically collect patterns that lead to failure and improve future training (prompts and methods) based on the problems that have been dealt with. How can the effects of these methods be systematically documented and reproduced?

The above is the detailed content of These technologies are used by ChatGPT and its potential competitors. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to get logged in user information in WordPress for personalized results How to get logged in user information in WordPress for personalized results Apr 19, 2025 pm 11:57 PM

Recently, we showed you how to create a personalized experience for users by allowing users to save their favorite posts in a personalized library. You can take personalized results to another level by using their names in some places (i.e., welcome screens). Fortunately, WordPress makes it very easy to get information about logged in users. In this article, we will show you how to retrieve information related to the currently logged in user. We will use the get_currentuserinfo();  function. This can be used anywhere in the theme (header, footer, sidebar, page template, etc.). In order for it to work, the user must be logged in. So we need to use

How to elegantly obtain entity class variable names to build database query conditions? How to elegantly obtain entity class variable names to build database query conditions? Apr 19, 2025 pm 11:42 PM

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

How to process and display percentage numbers in Java? How to process and display percentage numbers in Java? Apr 19, 2025 pm 10:48 PM

Display and processing of percentage numbers in Java In Java programming, the need to process and display percentage numbers is very common, for example, when processing Excel tables...

How do subclasses modify private properties by inheriting the public method of parent class? How do subclasses modify private properties by inheriting the public method of parent class? Apr 19, 2025 pm 11:12 PM

How to modify private properties by inheriting the parent class's public method When learning object-oriented programming, understanding the inheritance of a class and access to private properties is a...

How to efficiently query large amounts of personnel data through natural language processing? How to efficiently query large amounts of personnel data through natural language processing? Apr 19, 2025 pm 09:45 PM

Effective method of querying personnel data through natural language processing How to efficiently use natural language processing (NLP) technology when processing large amounts of personnel data...

When do you need to use double backslashes in strings in Java programming? When do you need to use double backslashes in strings in Java programming? Apr 19, 2025 pm 10:09 PM

Character escape problem in Java syntax In Java programming, character escape is a common but confusing concept. Especially for beginners, how to...

See all articles