Imagine a world where you could tell an application what you want, and it would take care of the rest. The artificial intelligence (AI) industry has been edging toward this world for decades, but technology is finally catching up to the vision. The incredible advances in natural language processing (NLP) – a subfield of AI – have been credited mainly to the emergence of large language models (LLMs). Trained on massive text corpora, these models can understand and process natural language texts. This power isn’t limited to written words; image generation is also a significant focus for LLM developers. A “prompt” is an integral part of the NLP process, as it tells the system how to interpret and respond to specific texts. A well-written prompt will create a pattern the algorithm can match against, helping it understand and respond appropriately to the input provided. This article will discuss what fast engineering is and how you can use it to execute downstream, domain-specific NLP tasks.


Prompting 101: The Basics of Prompt Engineering

In contrast to the conventional method of using a carefully curated training set, a new technique called prompt engineering is at the heart of many NLP applications. It prompts work by providing a pre-trained LLM with a snippet of text as input and expecting it to be appropriately complete. For example, while writing queries against the Google search engine algorithm may seem like a black-box process, search engine optimization (SEO) guides people to consume the content most relevant to their search intent. In the same way, prompt engineering is a technique that can help anyone get the best out of an LLM’s architecture. They are both about ensuring you get results that fulfill your intent. However, getting the intuition to know what prompt will make the application work better can be difficult. Trying different prompts and fine-tuning the LLM’s parameters is an effective way to obtain the most relevant result. How you express what it needs to do can dramatically alter the output. For example, we asked the GPT3 engine to translate a text with different prompts.

Sans titre2.png

Prompt 1 (GPT3 generated the highlighted text)

Sans titre3.png

Prompt 2 (GPT3 generated the highlighted text)

The output text signifies a firm reliance on the input prompt because altering the request changed the output to suit the new set of languages (Turkish, German, and Finnish). Therefore, to get the LLM to do anything we want, we need to “engineer” the prompt until it generates the most relevant result, hence the term prompt engineering.


Approaches to Prompt Engineering

Now that you’ve seen how an LLM like GPT-3 can be made to translate texts, look at the translation prompts we tried earlier. You’ll notice we didn’t provide examples to show the model what we want (i.e., sample translations). This is because GPT-3 was able to learn many valuable tasks when OpenAI originally trained it.


However, there are two approaches to prompt engineering: zero-shot learning and few-shot learning.


Zero-shot learning refers to a system’s ability to generate a relevant output from a prompt with no examples. It requires the model to draw inferences and reason about what is being asked of it only from instructions embedded in the prompt.


Few-shot learning teaches an application of the nuances of a prompt by showing some examples to determine the appropriate context. For our translation example, that would mean including a few English sentences and the corresponding translations in the prompt. It enables the model to perform better on tasks that require a deep understanding of the context.


In this example, we attempt to guide the model toward factual answers by showing it how to respond to questions outside its knowledge base.

Sans titre4.png

Few-shot learning (GPT3 generated the highlighted text)

We used the question marks to ask the model not to respond to words, phrases, or topics it does not know. The few-shot learning technique enables this application only to provide an objective natural response or refrain from answering.



How Prompt Engineering can Transform Technical Processes

Prompt engineering is more than just a neat idea; there are already products and services in the market based on this technology—the popular GPT3 and Dall. E LLMs from OpenAI use prompts to execute several language and image generation tasks.


Many companies have extensive databases of their items and customer records. Still, when it comes time to share that data with a customer relationship management (CRM) tool, it can be arduous to sort through a spreadsheet and enter the information one record at a time.


You may also have to perform regression analysis on the records (for example, estimating the relationship between two variables), which requires updating the spreadsheet file every time there’s a change. This process can become even more tedious as you try to enter new items into the database.


To make your data compatible with your CRM or perform regression analysis, you can run your file through a script designed for those purposes. Python is a popular programming language that lets you do this quickly, but you must be adept at writing Python code. But now, there’s another way. You can write a text-based prompt to execute any analysis on your dataset using an LLM with the right prompt.


The Way Forward

There’s no doubt that the large language models we have today have a remarkable grasp on the nuances of human language. Indeed, they perform better than any other existing technique by far. Their performance is so impressive that it can be tempting to believe they can perform any task. However, there may be tasks for which these models are not well-suited, and we need to fine-tune our inputs to ensure they perform as expected.


The illustration’s prompt is “a robot playing with letter cubes.”

Related Post


Subscribe for updates