Recent advances in artificial intelligence have been mind-boggling. In just a few weeks, we have seen major breakthroughs that have the potential toimpact the labor market and our society as a whole.
ChatGPT, which has expanded access to this technology, is now in its fourth, even more powerful version. Last week a thousand IT experts and entrepreneurs, including Yoshua Bengio and Elon Musk, demanded a six-month break in research.
In this unusual context, training future citizens and teachers in fundamental digital skills appears necessary to face the challenges of the 21st century.e century and actively contribute to building a safer and more ethical world.
Respectively researcher in didactics of programming and co-director of the Unesco Chair in curriculum development at UQAM, we have in a previous article discussed the three arguments most often mentioned by the scientific literature in order to justify the integration of programming at school, both primary and secondary. We must now extend this education to the whole of society.
Read more: Here’s why elementary and middle school students should learn to program
Know how to program to better use language models
In the world of AI, language models such as ChatGPT play a crucial role in various applications, such as various text generation, computer code generation, and data analysis. However, to fully exploit the potential of these models, it is essential to master certain programming skills.
Instruction engineering is a new discipline of designing and structuring instructions (often called “prompts”, even in French) to guide language models to produce accurate results. These instructions can be organized according to different templates depending on the intended objectives. These templates are called “instruction templates”, and can be compared to functions in programming.
Functions are reusable blocks of code that perform a specific task. Similarly, statement templates are reusable solutions for solving common problems when interacting with language templates. The main difference between the two? Functions are written in computer language (like Python or C++), while instruction models are written in natural language (especially in French or English). In other words, it’s a way of giving instructions to software with words, rather than lines of code.
There knowledge of instruction templates therefore allows users to structure the instructions that are given to the language model in such a way as to obtain the most precise and relevant results possible. An example is the “reverse interaction model”, an approach where the language model takes the initiative in conversation, asking questions to obtain the information necessary to accomplish a specific task. This approach helps to make interactions more focused and efficient, as the model will only ask the relevant questions to achieve the defined objective.
An example, the reverse interaction model
Let’s say you want to plan a trip and you want ChatGPT to help you organize your itinerary by asking you relevant questions. An example of a reverse interaction model might be:
From now on, I want you to ask me questions to help me plan my trip to Italy. Keep asking me questions until you have enough information to give me a detailed 10-day itinerary.
In this example, ChatGPT will ask you questions to gather information about your travel preferences, such as the cities you want to visit, your budget, your interests and your time constraints, while considering the main attractions that are found in Italy. Depending on your answers, he can then develop a personalized itinerary that meets your expectations and needs.
ChatGPT and malicious requests
Although impressive and currently very popular, language models are still vulnerable to computer attacks (“hacking”). For example, hackers have used a technique called “instruction injection” (prompt injection) to manipulate the results of GPT-3. This manipulation allows a user to bypass the security controls and restrictions imposed by the designers of the model to access unauthorized functionality or to manipulate the model maliciously.
Instruction injection thus consists of entering instructions into the model, which causes it to generate biased or misleading results. The most popular malicious instruction pattern is DANwhich stands for “Do Anything Now.” It allows the user to get unverified, uncensored information and even opinions from ChatGPT free from any limitations imposed by OpenAI.
These attacks on language models are concerning because they compromise the security, confidentiality and integrity of the models, while posing risks to the stability and performance of the associated systems. Additionally, they can discourage innovation by making developers fear that their models will be compromised by malicious actors.
Programming for all, a solution to promote cybersecurity
To prevent such attacks, it is important to have strong security measures in place and to monitor and update them as new threats emerge. It is also crucial to have a pool of talented people familiar with programming who can develop and implement these measures.
It is therefore important to introduce individuals to programming, so that they become more aware of the security challenges associated with the use of language models and AI technologies. By understanding the working mechanisms of these technologies and their potential vulnerabilities, they may then be more inclined to adopt security practices and use language models responsibly.
Programming education can also help create a community of responsible users and developers (“white hat users”), who work together to strengthen the security of language models and make the ethical limits imposed by developers more transparent.
Introducing people to programming encourages innovation and the development of more robust security solutions.
Beyond simple coding
The idea of introducing people to the basic concepts of computing is not new and goes beyond learning to code. Peter Denning, a pioneer in the field, published an article in 1989 titled “Computing as a Discipline”which already highlighted the importance of skills associated with learning to program for all citizens. According to him, this learning should focus on the logical and systematic processing of information and data to solve problems, rather than emphasizing coding.
Coding involves knowing how to write lines of code to give instructions to a computer, while programming encompasses a broader approach that includes design, analysis, problem solving, and understanding fundamental computer concepts. Denning insisted as early as 1989 on the fact that mastering these fundamental principles, and not simply coding, makes it possible to better understand and adapt to the rapid technological changes that shape our world. This discourse is still relevant, as recent advances in the last 4 weeks show:
bardthe new model developed by Google;
Microsoft’s announcement that [Copilot]an AI tool based on GPT-4, would be integrated into their Office suite (Excel, Word and PowerPoint);
I’added plugins to GPT-4 which will allow the development of additional functions directly accessible via the ChatGPT platform; And
The new version of MidJourney V5 which allows to generate photorealistic visual content using text instructions. It is moreover this new version of MidJourney which led to the viral photo of the pope last weekwhich is shown below.
The integration of programming and AI into the education system could also contribute to reducing social inequalities and avoiding the creation of different “categories” of citizens: those who ignore and do not use AI tools, those who know them and use them, those who are able to pay to use the best AI tools and finally, those who master these tools perfectly and derive the maximum benefit from them.
A break, but not for everyone: the opportunity to rethink the course
The pause in research called for by experts last week could be used by the education system to rethink how it approaches technologies and programming in the curriculum.
Indeed, technologies currently occupy a transversal place in the curriculum, which may not be enough to prepare students for the challenges of the future. It’s not necessarily about quickly integrating coding and AI into all curricula, but rather taking the time to assess their relevance and determine the best way to integrate them into curricula. Teachers, in particular, could benefit from this break to familiarize themselves with these concepts and think about the best ways to teach them to their students.
Their continuous training is a priority. Educational bodies must support them by offering appropriate resources and training.