fbpx

How to Write the Specification For Your AI Projects

ai project specification

The specification is an extremely important artifact for starting any project.

The essence of this document is twofold. Firstly, it is a declaration of the seriousness of the intentions to implement the project.

Secondly, it is an initial set of objectives, requirements, and characteristics that the project and the resulting product should have.

The specifications for artificial intelligence projects and products have a lot in common with ordinary software. But they also have an important difference.

Which one? Do not worry. I’ll tell you everything!

 

AI vs ordinary software specification

Specifications for software products must contain a lot of different information. In fact, the specification is a complete list of the characteristics of a product from different points of view.

It contains information on the business value, objectives, and tasks that the software must manage.

Technical requirements, recommendations, and limitations are also placed here, not to mention all the information on use cases and users.

Well, I can cite dozens of things that should be part of a specification…

There are many similar things between ordinary software products and AI, but would like to draw your attention to the most important differences:

  • Data is an essential part of AI projects, and you have to add some information about it in the specification.
  • AI projects are very similar to scientific projects: they both are based on hypotheses.

 

The first peculiarity of AI specifications: Data

Ok, let’s start with data in AI specifications. Why is it important?

You know… data is the heart of AI projects.

They are definitely data-driven.

In general, AI systems are very sensitive to data variations. It means that even small changes in data can lead to confusing results.

Unfortunately, we still do not live in a fantastic movie-style future where AI can perform any operations with any data.

In our reality, everything should be strictly defined. The specification is the right place to do this.

 

Define the right data from the beginning!

For example, think about an AI system that makes a classification of paintings by art-style: Classicism, Pop-Art, Cubism, and so on.

If the system is trained on black-and-white images, it will probably not be able to work with colored images.

This issue needs just one line of code to be fixed.

But a lot of projects cannot be changed so simply.

They even cannot be stopped.

So, data is important.

More details on data in Specifications are available below.

 

What about the hypotheses?

In science, a hypothesis turns into theory when it has strong experimental evidence.

In this regard, scientific and artificial intelligence projects have a lot in common: both are based on hypotheses.

AI engineers play the role of scientists, who must prove the project hypothesis.

So, you should clearly understand that your project is hypothetical before the AI ​​team will say otherwise.

For this reason, it is not necessary to include only one objective in the specification, but additional information that will help form hypotheses on how to achieve the objective of the project.

For ordinary software, goals are always (or almost always) achievable and straightforward.

No place for hypothetical stuff!

For example, online stores or chat apps are pretty common things and they can be obviously implemented.

But an AI app that recognizes and classifies artistic styles is not at all.

 

The AI specifications main features

I will use the project for the classification of the artistic styles of the paintings as an example. This will help to understand the ideas below.

The imaginary client of the project will be a large museum.

Like the Louvre in Paris.

I will list the main points that are directly relevant to AI projects and that should appear in your specification:

  • Business goal
  • Platform
  • Success criteria
  • Data
  • Testing
  • Project’s future

Let’s see them together in detail!

 

Business goal

The most important thing in the specifications is the description of the project goal. A good description of the goal will help the team find the right ways to achieve it.

To immediately put the team on the right track, you can describe several hypotheses that you used to create your project idea.

If it’s difficult, don’t worry.

An experienced AI team can help you easily.

Remember: every idea and hypothesis can be confirmed or refuted.

This is normal for scientific projects.

But for business, it can be very confusing.

Stay calm if it happens to you.

Find new hypotheses and ask the team to test them (most likely they will find them on their own and ask you for permission to try).

Sometimes even the most unexpected things can work.

For example, Facebook was able to predict pandemic flu from the likes to cats pics!

 

The question that will help you

What commercial value will the project give me?

 

Example of a goal

To attract new categories of museum visitors, such as millennials who are used to seeing the world through the screen of a smartphone thanks to the smart interaction with art objects.

 

Example of hypothesis

Knowing only the visual image of the image, it is possible to determine its style.

 

Platform

For AI products, the platform they are launched on is extremely important.

This is because the AI ​​and Machine Learning frameworks have technical limitations.

For some activities, the product must have an exact type of GPU. For other activities, it must have valuable computing power.

Hence, not all platforms can provide this.

For example, almost all AI software can be started on a server in real-time mode.

But on a smartphone, you can only launch a limited number of products. Most of them will take time to process the activities.

And this may not even be possible for some IoT devices.

 

The question that will help you

On which device will my project run?

 

Example of a platform

The art classifier app should be run on the latest iPhones and Android smartphones and tablets. It should make a classification in 3 seconds or faster.

 

Success criteria

Another important part of the specification is the success evaluation. How to understand that AI products work well?

Each artificial intelligence project should be based on a business metric, a quantifiable measure that will be used to track the effectiveness of project implementation.

This rating should be based on the commercial value of the project.

The AI ​​team will transform the business metric into a technical evaluation, which it will use during the development process and validation of the results.

Choosing the right business metric is essential since it will be a criterion for the success of the project for your company.

 

The questions that will help you

What is the sign of your project’s success?

 

What mistakes can the project have?

What are the costs of these mistakes?

 

Example of a commercial metric

After the product launch, the increase in visits to the museum by representatives of the ta

rget group of the project should be at least 10% monthly for 6 months compared to the same period last year.

 

Example of a technical metric (suggested by the AI ​​team)

The app should have a classification quality of 95% (or more) based on the art classification metric, where the cost of the error for the related classes is 1 point (classicism and neoclassicism) while for non-related is 3 points (classicism and Pop-Art).

These are internal constraints which, in the opinion of an AI team, are important for maintaining interest in the application and, by extension, the museum and for achieving the project’s business goals.

 

Data

You should be extremely precise when entering the data requirements into a specification because that’s the main criterion for the correct implementation of the project.

It’s important to describe all types of data and formats with which your project should work.

It will be easier for the team to consider all the changes in the data at the beginning than during the final steps… and it will be much cheaper for you!

In addition, I suggest you enter examples of correct and incorrect data for the project.

Finally, the amount of data is very important. Having 100 or 10,000 data samples represents a big difference in artificial intelligence projects.

The choice of technologies and the time required for its implementation depend on this.

 

The questions that will help you

What data does the project need?

 

How much data do I have?

Example of data information

General requirements: the app should work with color images, HD and 4K resolutions, taken in daylight or artificial light from a distance of 1-4 meters, portrait and landscape orientation.

Data volume: each artistic style class will have 250 samples.

Positive example: Full HD color portrait image, taken in normal daylight, from a distance of 1.5 meters.

Negative example: 4K color landscape images, taken at night without light or splash, at a distance of 0.5 meters.

 

Testing

Before the start of development, it is very important to define how the results of the project will be tested and evaluated.

The fact is that even the smallest nuances of the tests will influence the final results.

For example, if too much data is used in the test, the true quality of the project will remain a mystery. On the other hand, if the test conditions are too ideal, the project could be useless. in real life.

 

The questions that will help you

How will the project be used in real life?

How many data samples can be used for testing?

 

Example of testing requirements

For tests, 25 (or more) images must be used for each class of artistic style.

All test images must be “normal” (they should look like a photo taken by users) taking into account the data requirements.

 

Project’s future

Expanding the results of the AI ​​project to new spheres is not a simple task.

Updating the project with a new training dataset can be difficult if this opportunity was not considered at the beginning.

So, it is necessary to think about the future, about the potential business value of the project.

However, it is not always possible to combine different ideas.

For example, if you want your app to classify paintings and statues, it should be known in the beginning.

That’s because this option will require different project data, architecture, time, and costs.

 

The questions that will help you

What additional commercial value can these projects bring to my company?

In which additional areas can the usage of the project be useful for my company?

 

Example of future use of the project and maintenance cases

First, the app should have an option to be retrained with new images to improve the quality of the classification according to the art classification metric.

Secondly, the app should be used for classifying artistic styles in prints and tapestries (the quality of the classification here should be 80% or higher based on the art classification metric).

 

Conclusion

The more detailed the specifications, the more information the AI ​​team has.

And the more information they have, the greater the chance of success.

But be careful. Excessive details can be harmful.

For example, you shouldn’t impose your opinion on the tech team unless there are good reasons.

Otherwise, it can make the project difficult to implement.

Remember that you are working with professionals for whom the success of the project is as important as it is for you.

A good AI team will help you create an appropriate specification and give you dozens of important tips.

So, having a good project description means having a project done at least 50%. Don’t forget about it!