How to Create General Artificial Intelligence

London Lowmanstone
7 min readDec 7, 2021

This piece is important.

I was recently reading IBM Project Debater’s paper in Nature, in which there was the following paragraph:

Research in AI and in natural language processing is often focused on so called ‘narrow AI’, consisting of narrowly defined tasks. The preference for such tasks has several reasons. They require less resources to pursue; typically have clear evaluation metrics; and are amenable to end-to-end solutions such as those stemming from the rapid progress in the study of deep learning techniques. Conversely, ‘composite AI’ tasks — namely, tasks associated with broader human cognitive activities, which require the simultaneous application of multiple skills — are less frequently tackled by the AI community. Here, we break down such a composite task into a collection of tangible narrow tasks and develop corresponding solutions for each. Our results demonstrate that a system that properly orchestrates such an arsenal of components can meaningfully engage in a complex human activity, one which we presume is not readily amenable to a single end-to-end solution.

This reminded me of an idea I’ve had for building general AI that I’ve been thinking about for years.

The main idea is that decomposing a general task into narrow tasks is something a narrow AI can do.

The main argument as to why general AI is not possible right now is that all of our AIs are very narrow in what they are able to accomplish. Each AI is only good at doing one particular thing that it was trained to do well on.

I think one of the best tasks to demonstrate a general AI is to have an AI run a business. This could be a managerial role at a shop, or a CEO at a large firm. As a manager, you are constantly faced with a large range of general problems that are highly unpredictable. Everything from technology malfunctioning to angry customers to writing emails to engaging in company politics is done by a business leader. If an AI can accomplish the job of a competent manager or CEO, I think I would usually be willing to call that a general AI.

The best AIs today cannot do this. There are AIs that are really good at drawing, or writing, or programming, or composing music, or playing the game of Go, but no one system can accomplish all of those tasks at a near-human level.

So, my idea is to have one AI that is really good at breaking complex general tasks into smaller, achievable tasks for modern AI systems. For example, above, I split the task of “running a business” into multiple more narrow tasks such as “coming up with alternative ways of running a business when technology fails,” “writing an email,” “understanding and exploiting the political structure of a workplace.” I think we are at the point where for each of these smaller tasks, similar to how IBM’s Project Debater worked, we could create an AI specific to accomplishing that particular task.

If we can break up general tasks into narrow tasks (especially if we can do so in real-time, and even more so if we can create the AI’s to solve the narrow tasks in real-time), then I believe we will have something that most people will agree could solve tasks that are usually only thought to be able to be solved by a general AI system.

I think there are two main reasons that my approach (to the best of my knowledge) has not been successfully implemented.

Shared Databases

In order to accomplish a general task with multiple separate AIs, information needs to be communicated between the AIs in order to enable them to accomplish the same task in a coherent manner.

For example, if the AI that writes emails is separate from the AI that takes phone calls, then this could result in the odd situation where the AI emails a client, and then talks to them on the phone, but doesn’t have any memory or knowledge of what was sent in the email.

Thus, there needs to be some form of communication between each of the narrow AIs that enable them to communicate with one another to solve the problem coherently.

This is currently a far-from-solved problem in AI. In fact, it’s so unsolved that there are multiple different names for the problem. One is “transfer learning,” where an AI that was trained on one narrow task can “learn” from its own past experience in order to accomplish a different narrow task more quickly. Another is called “knowledge-grounding” — getting an AI system to correctly use a database of facts to make decisions. In addition to knowledge-grounding, there’s the issue of connecting that database of facts to modern-day machine learning algorithms, which is being worked on under the topic of “neuro-symbolic systems.”

Ideally, we would like a fairly standard communication method for an extremely general machine learning algorithm (for example, neural networks) that would allow algorithms of that kind to communicate with one another to solve a problem.

I have a hunch that this “fairly standard communication method” should be the AIs talking to each other in natural language, because it will make the communication easily interpretable. (Though we do want to make sure that they’re actually using natural language.) This is one of the main reasons I’m beginning my PhD by researching natural language processing.

However, right now, no such communication exists. Right now, if you even want to give a neural network AI a new type of information that it didn’t have before, unless the AI was very specially built, you need to rebuild and retrain the entire neural network. That’s how far behind we are.

Thus, I think that creating a mechanism for a database of information that all of the AIs use correctly to share and gather information with other AIs is not a project that is to be taken lightly.

Lack of Datasets

In order to accomplish narrow tasks with modern-day AI systems, we usually need a large dataset to train them on.

There is no clear dataset for breaking up tasks that humans complete on a regular basis into smaller components. I’ve thought about using WikiHow or something similar, but I don’t think that the task break-down is at the level that would be helpful for an AI system trying to design and create other new AI systems.

For example, on the page for how to be a CEO, the first task is “embrace your role with confidence and take charge.” That’s not a narrow problem. The second task is more likely to be usable: “provide a clear corporate vision that defines a specific culture.” But, even then, I would split this up into multiple subtasks of “understand the culture of the business and determine a slightly adjacent business culture that would help improve the business, but doesn’t change too much at once” followed by “write a mission statement that supports a description of business culture” followed by “come up with a measurement for how likely it is that a particular piece of communication is in-line with a particular mission statement” followed by “if any communication is created by this general AI, measure it using the mission-alignment-measuring AI. If it does not score very highly, request that the AI that came up with that communication review the mission statement and adjust its communication accordingly.” Each one of these steps could probably be done by AIs today.

That is, they could be done if we had the datasets to train them on. However, there’s no datasets to train them on. As mentioned before, critically, there’s no dataset for training an AI to break down general tasks into narrow tasks in the first place. Then, even if there was, there are often times no datasets to train on for the narrow tasks themselves.

Thus, an AI that used this general-to-narrow decomposition idea would also likely need to have narrow AIs that could construct or find datasets very efficiently, which is a very tough (and potentially non-narrow) problem to solve.

Overall

In the end, I think this mechanism for general AI is very complex, and we’re not likely to see it soon. However, I do think that something like it may start stretching the definition of a “narrow” AI until we get AI systems that are somewhere in-between narrow and general before making the full jump (if there even is a jump) to a completely general artificial intelligence system.

As always, I would love to hear your thoughts.

Update - April 9th, 2023

The piece above was originally published on December 7th, 2021.

Since then, ChatGPT and GPT-4 have come out, which are systems that are somewhere in-between narrow and general, and look what’s happening.

It’s almost exactly the same scenario as I described above. We’re using an AI system that’s somewhere between narrowly intelligent and generally intelligent in order to figure out how to organize narrow systems which can then do what we want.

We still have a bit of work to do on long-term / collective memory, but ChatGPT and AIs like it have clearly solved the dataset issue. All that’s left to do is to find the right planning prompts / architecture and set up a good memory architecture (which is starting to happen as well.)

I’m worried. It seems like AGI may be here, and the infrastructure to treat humans with respect throughout this transition does not seem to be ready yet.

--

--

London Lowmanstone

I’m a visionary, philosopher, and computer scientist sharing and getting feedback (from you!) on ideas I believe are important for the world.