laitimes

Will AI, which can be programmed autonomously, rob programmers of their jobs?

Will AI, which can be programmed autonomously, rob programmers of their jobs?

Source: Geek Pengyou Said (ID: geekpys)

Dictation: Popular science writer Skinny Camel, Jina AI founder and CEO Xiao Han, first-class technology OneFlow founder and CEO Yuan Jinhui, geek park founder and president Zhang Peng

Finishing: Tang Yitao

Original title: Can AI that can be programmed independently rob programmers of their jobs?

During the Spring Festival, DeepMind, an artificial intelligence company that developed AlphaGo, released a new model that can be programmed autonomously - AlphaCode.

In 10 competitions hosted by codeforces, the programming competition website, AlphaCode achieved the top 54.3%. That means it beat nearly half of the human players. More critically, all the code in the game is automatically generated by AlphaCode, without human supervision.

What does AlphaCode's achievements mean? Will it rob programmers of their jobs? What role does AI play in basic science? How to understand the relationship between humans and AI?

Last week, "Tonight's Science and Technology Talk" invited popular science writer Skinny Camel, Jina AI founder and CEO Xiao Han, and first-class technology OneFlow founder and CEO Yuan Jinhui to chat about AI-related topics.

Will AI, which can be programmed autonomously, rob programmers of their jobs?

How do I rate AlphaCode's achievements? Does it need manual training?

Xiao Han: AlphaCode is not actually a single algorithm, it is a system built from the GPT-3 model. So we don't think of AlphaCode as a breakthrough in AI algorithms, but in the result of a system capable of performing more complex tasks.

As far as algorithm training is concerned, the first step in artificial intelligence is pre-training. It's about pulling down all the programs on GitHub and giving the model a preliminary understanding of programming.

The second step is fine-tuning. Because the knowledge obtained by pre-training is not all useful, they give a general worldview, but if you want to solve a specific problem, you need to adjust it in orientation.

Another thing AlphaCode does is build a system of judgments. Because alphacode can generate a large number of answers based on a given question, it does not know whether the answers are correct or not. So by feeding the answer to the question and the answer he gives into the system, it can judge whether the answer is correct or not.

The whole process is indeed as claimed when AlphaCode was released, and it can be completely unsupervised.

Jinhui Yuan: I think AlphaCode is a milestone, based on natural language descriptions, automatically generating complete programs that solve algorithmic problems, which is remarkable.

In fact, I have experienced a psychological transformation from undervalued to overestimated to undervalued to undervalued with AlphaCode.

I underestimated AlphaCode before I saw the details of the paper. Similar to GPT-3 training natural languages, AlphaCode essentially grabs tens of billions of lines of code on GitHub, captures the language structure, and generates them. Also, the syntax of the code is very regular compared to very irregular natural language. From this perspective, AlphaCode is similar to the previous solution to the problem.

But to my surprise, I thought alphacode worked to automatically search for code snippets already in the codebase, but in reality the code was automatically generated by pre-trained models. Traditionally, we think that AI usually solves low-precision problems, such as 90% accuracy in image recognition, but it is extremely difficult to make AI achieve 100% accuracy. The code requires exactly 100%, even if you write a variable name incorrectly, or type one less ";" , the program will also report an error. So then I overestimated AlphaCode.

Later, I read the AlphaCode paper and found that it can indeed generate complete programs by itself, but it also uses some clever ingredients in the middle. Let's say it generates 1 million copies of a problem, of course, right and wrong. AlphaCode filters out 99% of the code, leaving 1%. Of the 1% of the thousands of pieces of code, AlphaCode filtered out 10 answers and submitted them to Codeforces through clustering filtering. As long as one of these 10 answers is correct, that's it.

So AlphaCode doesn't generate a problem-solving program at once, but generates hundreds of thousands, millions, or millions of programs for a problem, and after simple testing, sample screening, and finally filters out the correct answer.

Compared to codex, GitHub Copilot and other auxiliary programming tools, how is AlphaCode different?

Yuan Jinhui: I think there are two points, one is that the problems solved are different, and the other is that the methods are different.

AlphaCode solves the problem, or there is a certain degree of difficulty.

Second, AlphaCode is not a ready-made code snippet searched online, it is generated by itself. Like Github Copilot, it's a ready-made code snippet for searching. Someone has experimented before and found that it crawls code from Stack Overflow because it captures all the comments that programmers write in the code.

Will AI, which can be programmed autonomously, rob programmers of their jobs?

Will these AI programming tools replace programmers?

Xiao Han: In fact, these AI-assisted programming tools are all designed to help developers have a better programming experience. It's just that AI has evolved to this day to be very powerful, and it can automatically write the code, not just fill in the function name.

But all ai today has not reached the point of replacing the developer, who himself is still the ultimate decision maker. The code generated by the AI is just a reference.

Skinny Camel: As a writer, I still want to map this to the realm of "natural language."

First, it's not that hard to get the AI to generate a piece of code without any syntax errors. There are a lot of things in natural language that don't conform to logic and grammar, and we don't strictly follow a certain rule when we speak. But the code itself is syntactically strict, and it has a common set of logic.

Second, I don't think the coders need to be too nervous, for word creators, we have already encountered similar challenges in previous years. Some fixed-format text is now heavily generated by AI, such as match results, stock market broadcasts, and weather forecasts. For this kind of regular text, AI writes much faster than people. But it's still very difficult for an AI to write something creative, because creativity is essentially a challenge to existing logic and systems, and even creativity involves allowing THE AI to make mistakes. For AI, it is difficult to maintain a certain personality, such as in "Dream of the Red Chamber", Jia Baoyu's poems and Lin Daiyu's poems are obviously different. This kind of capability, AI may still be difficult to do now.

Xiao Han: I think the difference in personality is nothing more than the difference in training corpus. If I want to generate the style of a obscure poet, I will collect all the corpus of the obscure poet and train it.

So I think the most important thing about AI is data. If the algorithm model can better mine the data and make full use of the value of the data, the so-called personality will actually be achieved.

Yuan Jinhui: Let me add an opposite direction. According to Xiao Han's logic, if there is no corpus of the Obscure School, there will be no AI of the Obscure School; if there is no Van Gogh person, it will not be possible to train Van Gogh style painting. Therefore, AT the creative level, AI is still essentially more like a memory, the difference is that it is a mechanical memory or a relatively intelligent memory, but in fact, it cannot jump out of the original category.

There are two words in technical terms, "exploitation" and "exploration." Exploitation refers to working conservatively within the scope of what should be, and exploration refers to exploring outside the scope.

Maybe we need to give AI a little bit of room to make mistakes.

In the context of the rise of AI, how to be a valuable programmer?

Yuan Jinhui: AI is better at doing more mechanical work, but writing code also needs to be creative, writing to a certain extent, we also call it art.

There are good or bad in the code, whether the code written is concise and elegant enough, whether there is a creative aesthetic, this may still be a human advantage.

Zhang Peng: But should this kind of beauty also be reflected in the efficiency of things that are higher than ugly and complex things, and the business world will recognize it?

Yuan Jinhui: This beauty is indeed reflected in efficiency. One criterion for judging the beauty and ugliness of code is reusability. Simple code has better extensibility and can be reused in more places in the future. If my code is only available for the current task, it's not a good practice.

Xiao Han: I remembered that there was a particularly hot post on a foreign forum before, that is, a law firm hired a young man to do something like sorting out reports. It just so happens that this guy knows a little programming, so he automates this work, and the program runs for 5 minutes to complete the original week's work. Two weeks later, the young man felt a little guilty in his heart, so he posted this matter to the forum and asked everyone if they should tell the boss about it.

I think it reflects a point – whether he tells his boss or not that mechanized jobs will be replaced. Even he himself felt that there was no point in doing this kind of work, otherwise there would be no such entanglement. Life always has to be a little pursuit, why waste time here?

The second is that I don't think it's a bad thing to have these code-assisted AI. Human development to today, whether it is the industrial revolution or the introduction of assembly lines, human beings will always engage in more advanced occupations, will create higher value. Overall, I think it's a positive thing.

How to understand the concepts of low-code and software 2.0 that are hot at the moment?

Xiao Han: The reason for the emergence of low code is that we have accumulated a lot of code capital in the past few decades. None of today's pieces of software are written from scratch, they have their own upstream dependencies – software libraries.

In fact, when we build modern software, the most important thing is often not innovation, but reusability. Reusability means that after the software is completed, it must become a component of the larger software, rather than repeatedly building the wheel from scratch.

When the concept of "reusability" became deeply rooted in the minds of the people, there was the concept of low code and no code. Today we build more and more advanced code, no longer the underlying software of the operating system, but more advanced software for C-end users. This is where the importance of low code and no code is highlighted.

If you look at the entire history of human engineering, reusability is actually a very critical turning point - once something can be reused, human civilization will develop to a new height. We can suppose that a primitive man holding two stones touched a spark, is this an accident? Or did it become an experience that could be reused, so that humans mastered the use of fire?

So I'd rather emphasize that low-code and no-code are definitely the trend. But the reason behind the trend is that we are now targeting more advanced software development, which places particular emphasis on reuse.

Jinhui Yuan: Let me add software 2.0.

Software 1.0 is about code being data. We train an AI model based on data based on code.

Software 2.0 refers to the model as code. Before AlphaCode, AI's models had long since begun to write code for people. For example, the graphic recognition model, its principle is that computer vision scientists write a bunch of rules - what features are in the picture, then this picture is the car. But after doing this for decades, it was found that the recognition rate of this method was not high. So the current practice is to train a model from a pile of data.

In the past, code had to be translated from programmers to understand problems into computer-understood language in order for computers to help us solve problems, essentially a process of migration from the physical world to the digital world. Model is code means that now we don't need to go through the human brain, as long as we collect a bunch of data, the computer can automatically mine the laws in the data and generate models.

What if there is a problem with the underlying code referenced by the reusable code?

Xiao Han: This has indeed happened in the real world. Errors in the Log4j package in the first few months have caused panic among many software companies. Such problems are more difficult to detect in low-code and no-code environments. Because not many people will write this kind of underlying code, everyone pays more attention to the more advanced software business logic.

There was also an incident that happened in the Javasript community. The programmer who maintains the underlying code deletes the code in anger because he feels that others are attacking him online. The consequence of this is that the entire chain of reuse is broken.

Therefore, in a low-code, code-free environment, it is necessary to ensure that the upstream is robust enough. It is important to be able to fix errors in a timely manner, even if they go wrong.

Yuan Jinhui: In fact, the MODEL of AI is very fragile and very easy to attack. In fact, the TRAINING OF THE AI model is a bunch of data, and simple understanding is a direction in high-dimensional space. If the data that comes in is in this direction, the AI will judge it accurately. If the data entered is perpendicular to that direction, the AI's judgment will be wrong.

A few years ago, someone did an experiment on Tesla's lidar, using a small piece of paper to slightly change the signal passed in, and Tesla's identification was wrong.

Zhang Peng: I also heard this view some time ago. As far as image recognition technology is concerned, when ImageNet (Visual Image Network Database) was first constructed, because of the limitations of the data at that time, some deviations were formed now, such as the discrimination of AI against humans. But today ImageNet has become an infrastructure, and countless people have built new facilities on top of it, and this deviation has become a problem of gradual infection, which is becoming more and more difficult to overcome.

There may be moments when a fundamental reboot is needed to fix this.

What role can AI play in basic science?

Skinny Camel: For a lot of data-sensitive industries, AI does liberate a lot of scientists and allow them to do more creative work.

As discussed earlier, among human astronomers, the easiest person to be replaced by AI may be Edwin Hubble. He spent decades discovering the galaxy's "redshift-distance relationship" from a large amount of data. This is essentially a question of data relevance, and when placed on today's AI, this pattern between data can be immediately discovered.

Another example is a fast radio burst, which was often overlooked before. Because fast radio bursts are so short-lived, it is easy to think of as an anomaly in the data. But with tools like AI, it can find patterns in these occasional anomalies that keep emerging.

I think the advent of AI has changed the paradigm of scientific discovery, giving us the ability to identify ignored laws in data.

The commercialization of AI companies is difficult, but DeepMind made a profit last year, how to understand this company?

Xiao Han: First of all, I have great respect for DeepMind, but I will not do this kind of company, I personally think that DeepMind risk is very high, the probability of returning the cost is very low.

First of all, under the premise of deep learning, the investment in computing power cost and storage cost is very high, which is very easy to understand.

The second is the personnel reason. Every year DeepMind publishes one or two blockbuster papers, and importantly, it has a large pool of the world's top talent. This kind of talent cost is not something that every company can afford. The development of deep learning to this day has actually widened the gap between rich and poor between large companies and small companies.

Personally, I actually pay more attention to AI's breakthrough in the field of engineering, how to better solve existing problems, rather than finding a new problem that has never been solved to break through.

Yuan Jinhui: DeepMind is indeed not typical, he is not a commercial company in theory. Most commercial companies must be to make a replicable commercial product, more to consider a series of more practical issues such as market size.

DeepMind is more like a research institution. It's just that it's not as difficult for research institutions to apply for funding, and DeepMind has a steady stream of money from Google.

Over the years, what has changed in the development of AI?

Xiao Han: I think there are two points, one is the explanatory nature of AI, and the other is the training process of AI.

1. Explanatory. AI has actually gone through a process from explainable to unexplainable over the years.

Early AI was generated based on a set of rules, such as the earliest question-answering machine, Eliza, whose logic was to identify which characters your words contained, and return specific answers after causal judgment. These answers are all explainable because the program is written to death.

Later, AI evolved to around 2000, and parametric models appeared. The parametric model will describe the picture, sound, text and other information as a data function, and all the AI has to do is fill in the coefficients. Ai at this stage is also explainable.

Since 2010, AI has gradually shifted to deep learning frameworks, and AI has begun to become unexplainable. Because the deep learning framework is split into the thinnest, it is actually superimposed by a nonlinear function. It would be easier to explain if there was only one nonlinear function, but the superimposed nonlinear functions are somewhat similar to the butterfly effect and are basically impossible to trace.

Our entire deep learning network is a very deep nonlinear system, such as AlphaCode contains more than 40 billion parameters, in fact, can not be traced back to the source, which parameter has the impact. It's as if we can't tell which neuron is causing the brain to become conscious.

But today, there are some people who demand that AI be interpretable. Because as AI gets smarter, we're demanding that it assume its social responsibilities, such as not discriminating against black people. When something goes wrong, the cause of the problem can be found, which requires that the AI can be explained.

2. Training process. The training process of AI, from the beginning of the "end-to-end" process, is divided into two steps: "pre-training" and "fine-tuning", which is technically called transfer learning.

In fact, I personally like transfer learning very much because it points out a big direction for machine learning. In the past, machine learning, for each problem solved, had to build a model specifically. Even solving two very similar problems, such as identifying whether it's basketball news or soccer news, even if it's all natural language processing, is a different task in the eyes of traditional machines.

Machine learning splits the end-to-end training process into two parts. Part of it is pre-training, learning a relatively generic knowledge from large-scale corpus. Then there's the fine-tuning that will apply general knowledge to solve specific details of the problem.

The advantage of this split is that the model trained on large-scale corpus can be reused. Because not all companies have the ability to build this hyperscale model. After it can be reused, small and medium-sized companies can use this model to fine-tune their specific fields, which can generate business value in sub-fields and save a lot of manpower, material resources and time costs.

Yuan Jinhui: I would like to add that this big model has not yet reached the end, and it will become larger and larger in the future. Like GPT-3, the parameters have reached 170 billion, but compared with the number of neuronal connections in the human brain, it is still about 1000-10000 times worse.

One possible conjecture is that intelligence may not be so magical, but a matter of scale, and will eventually change from quantitative to qualitative.

Another view is that pre-trained models also have some support in brain science and neuroscience. Some of the reasons why people are so smart are acquired, but they are mainly determined by nature. Before a baby is born, the connections between the cerebral cortex and the protrusions of neurons are roughly determined by genes. After babies are born and see the physical world, the connections between neurons are fine-tuned according to physical signals—some of the connections get stronger and stronger, and the less used connections become weaker.

The whole process is very similar to the pre-training and fine-tuning pattern. So in a sense, the pre-training of large models does have biological rationality.

Will AI, which can be programmed autonomously, rob programmers of their jobs?

What will be the relationship between AI and humans?

Xiao Han: I am very confident in the enhancement of AI capabilities. However, with the current approach, I think AI may not be able to generate self-awareness in the end.

But then again, does AI have to be self-aware?

50 years from now, AI may still be self-aware, but it can solve very many important problems, much better than humans, at this time you will be willing to admit that this form of thing is "intelligent"?

Yuan Jinhui: I tend to understand this from a positive point of view, that is, AI can liberate humans and let humans pursue more essential things, just like the steam engine liberates us from manual labor.

This reminds me of a setting in Liu Cixin's novel Chaowen Dao: Earthlings can ask any questions to aliens, and aliens will tell you the correct answer. But the price is that after knowing the answer, the questioner will die immediately. But eventually someone asked the aliens the question: What is the purpose of the universe?

The aliens didn't know either, so he collapsed.

Zhang Peng: Although we are called "self-aware", there are also a large number of people around the world who do not know what their purpose is. So I think defining it as self-awareness is perhaps a form of human chauvinism.

Skinny Camel: I think there are several levels to thinking about AI.

One is on a philosophical level. I think if AI becomes human-like in the future, it must be failed AI. He has some shortcomings, some people can't figure out the logical errors themselves, so why should we create AI? Isn't it simpler to create man directly? The reason why we want to build AI must be that it can solve problems that humans can't solve, so that AI can make sense.

I also have some application-level concerns. Just a few also said that AI is very fragile. If we are already highly dependent on AI, once there is a problem with the underlying things, it will have a very big impact.

Then there's the dilemma of explanatoryity. The explanatory dilemma is actually used to liberate human beings themselves, that is, to seek a sense of peace of mind. But even if this statement itself does not make sense, it will certainly make many people wary. This vigilance, from the perspective of humans as social animals, will have an impact on the development of AI. We need to be prepared not to let this vigilance ferment to a sharp point, then the situation will be worse.

Zhang Peng: I think the real problem is that AI still has a lot of basic work to do well today. We can be sure that AI will become an important partner in the future civilization of mankind, but it is still a long way from this role.

Today's discussion of AI is meaningful if it is aimed at "don't make some basic mistakes". But when AI capabilities are still relatively weak, it is actually very pragmatic to over-discuss topics such as "self-awareness".

*Header image source: Unsplash, DeepMind

Read on