Home  >  Article  >  Technology peripherals  >  A guide to developing enterprise-grade artificial intelligence applications

A guide to developing enterprise-grade artificial intelligence applications

WBOY
WBOYforward
2023-11-13 14:29:011379browse

If you want to delve deeper into the artificial intelligence application development process, you first need to understand how these projects differ from regular application development projects. When it comes to artificial intelligence, every problem requires a unique solution, even if companies have already developed similar projects. On the one hand, there are various pre-trained models and proven methods for building artificial intelligence. Furthermore, AI is unique because it is based on different data and business cases. Because of this, AI engineers typically start the journey by delving into the business case and available data, exploring existing methods and models

A guide to developing enterprise-grade artificial intelligence applications

Due to these aspects, Artificial Intelligence The creation of projects is closer to scientific research than to classic software development. Here’s a look at why, and how understanding this reality can help organizations prepare to implement these processes and budgets for their projects.

Artificial Intelligence Project Classification

Artificial Intelligence projects can be divided into four categories:

  • Straightforward projects: Typical examples include those that can be achieved by applying public data sets and Production-ready models implemented using well-known technologies. For example, ImageNet is suitable for projects aimed at classifying images.
  • Reputable Technology Projects: In these cases, we know the appropriate technology required for the project, but we still need to work hard to collect and prepare the data.
  • Items that require in-depth research: In principle, we can figure out how the model works, how to apply existing data, or what steps should be taken to train the model to complete a specific task. No predictions can be made based on experience alone because we don't know how the model behaves. The startup process requires additional testing and case handling.
  • Production projects require additional effort: neither the data nor the models in this set of cases have been fully tried in practice.

Why are artificial intelligence projects so unpredictable?

The artificial intelligence project development environment can be visualized as a three-layer pyramid composed of technologies and ready-to-use solutions.

The upper layer contains ready-made products suitable for artificial intelligence use - such as third-party libraries or proven company solutions. For example, Google’s solutions for detecting check fraud, facial recognition, and object detection are good examples.

The second level includes describing new areas of business challenges. We may have the right model to solve the challenge, but the technology needs to be slightly modified or adapted to prove its effectiveness during implementation. The model should be specialized for its specific use case, which has led to the emergence of new niches in the use of artificial intelligence.

Scientific research constitutes the lower level. Scientific research is not ready for production because one does not know what results the models will show. This is a deep aspect of artificial intelligence systems, although efforts can be made in this direction.

AI application development and conventional applications

There is no fundamental difference between the development of AI applications and non-AI applications, and both require a proof of concept (PoC) and demonstration stage. The User Interface (UI)/User Experience (UX) phase begins after the demo and AI components are ready Ask customers about their needs and data: Is AI core to the product or an add-on? The answer to this question will affect the complexity of the solution

Customers may not require the most accurate and modern solution. Therefore, it is important to find out whether the lack of AI components hinders mature product development and whether there is any point in creating a product without AI components. With that out of the way we can move on.

Initially, AI projects can be divided into two subcategories:

Applications built from scratch
  • Artificial intelligence components integrated into existing applications
  • Building an AI Application from Scratch

So, if you decide to develop a new AI-enabled application from scratch. Because of this, there is no infrastructure to integrate AI applications. Here comes the most important question: Can AI feature development be handled like usual app features like logging in/out or sending/receiving messages and photos?

At first glance, AI is just about the user A feature that can be interacted with. For example, AI can be used to detect whether a message should be considered spam, identify smiles on faces in photos, and enable AI-based logins with the help of face and voice recognition. However, the development of AI solutions is still young and research-based. This has led to the realization that the AI ​​functionality of an application is the riskiest part of the entire project, especially when the business goals require coming up with innovative and complex AI solutions.

For example, if you want to build a chat application with login/logout screen, messaging system and video calling functionality. The video calling function should support filters similar to Snapchat. The following is a risk table and an overview of the different functional complexities of the application: The task of starting the development process is unreasonable. You may ask, why are Snapchat-like filters the most risky? Here’s a simple answer: To create a Snapchat-like filter, many cutting-edge technologies, such as augmented reality (AR) and deep learning, must be involved to put them appropriately mix them together and place them on a mobile phone with low computing resources. To do this, you have to solve many extraordinary engineering tasks.

Integrating AI components into existing applications

Integrating AI capabilities into an existing project is a little different than building an AI application from scratch. First, it is a common situation that existing projects that we have to augment with AI are developed without any architecture considering AI capabilities. Considering that AI capabilities are part of some data pipelines, we conclude that developing AI capabilities will definitely require at least some changes to the application architecture. From the perspective of artificial intelligence, existing applications can be divided into the following categories:

Database-based projects:

Text processing

Recommendation system
  • Chatbot
  • Time Series Forecasting
  • Non-database-based projects:
Image/Video Processing

Speech/Sound Processing
  • Main Stages of Artificial Intelligence Application Development
  • The following are the five stages of a typical Artificial Intelligence application development process. The first is the problem definition phase. At this stage, the development team needs to clarify the goals of the application and the problems it wants to solve. They hold discussions with customers or relevant stakeholders to determine needs and expectations. Next comes the data collection and preparation phase. At this stage, the team will collect large amounts of data, which will be used to train and optimize the artificial intelligence algorithm. Data quality and diversity are critical to application performance. The third stage is model selection and training. At this stage, the team selects an appropriate AI model and trains it using previously collected data. The goal of training is to enable the model to accurately predict and handle various situations. Then comes the model testing and evaluation phase. At this stage, the team will test the trained model to ensure its performance in different situations. They use test data sets to evaluate the model's accuracy and performance. Finally comes the deployment and maintenance phase. At this stage, the team will deploy the trained model to the actual application environment and continue to monitor and maintain the performance of the model. They may need to be adapted and updated to accommodate changing needs and data. The order of these phases may vary, and the specific development process will vary from project to project. However, these stages provide an overview of a typical artificial intelligence application development process

1. Business Analysis

In the first phase, we obtain the customer’s input or vision, which Can be used as a document with an overview of a general idea. Here we begin the business analysis process. To prepare the input, we need to consider the business problem. Enterprises use business problems to solve application development companies, whose job is to find the intersection of business and artificial intelligence capabilities.

In scenarios such as restaurants or grocery chains, business owners are showing keen interest in reducing food waste and achieving balance by analyzing purchases and sales. For artificial intelligence engineers, this task transforms into a time series prediction or relationship analysis task, whose solutions can help people predict specific numbers

2. Machine learning problem determination

Next In the next stage, we need to identify the machine learning (ML) problems that need to be discussed and solved. This step must take into account the technical capabilities of artificial intelligence subfields, such as computer vision, natural language processing, speech recognition, predictive and generative artificial intelligence, etc.

3. Data collection

Data is the machine The fuel for learning is a critical step in the development of artificial intelligence applications. There are two main types of data - specific and general. General data is available from open source data websites, so all we have to do is narrow down the target audience and focus on a specific region, gender, age, or other key factors. Large amounts of common data can streamline the process.

So if a customer has an app based on fitness tracker activity, we can apply data and transfer learning to start implementation as quickly as possible. The same applies to image classification which can start from a large collection.

The content that needs to be rewritten is: (1) Developing AIPoC for new projects

The proof of concept (PoC) phase of a new artificial intelligence project should be AI-centric. What does this mean? To satisfy the risk minimization strategy, we should start with the riskiest part of the project, the AI ​​functionality, and if possible, not touch any other functionality of the project. The Proof of Concept (PoC) phase can be repeated multiple times to achieve suitable results. After achieving satisfactory results, you are free to move into the MVP/Industrialization phase to develop all remaining features of the application.

(2) Develop AIPoC for existing projects

In order for end users to use artificial intelligence functionality, the functionality first needs to be developed and then integrated with existing applications. In other words, the application’s code base, architecture, and infrastructure need to be considered

Rewritten as: The most attractive thing about artificial intelligence is that they can be researched, developed and tested without touching the main application. This sparked the idea that one could launch a proof of concept (PoC) of artificial intelligence without risking the main application. This is actually the core of the risk minimization strategy

Here are the three steps to follow:

(1) Collect data from existing applications by:

  • Make database dump
  • Collect image/video/audio samples
  • Tag the collected data or get related datasets from open source libraries

Before building an isolated AI environment, please collect data first

  • Training
  • Testing
  • Analysis

(3) Deployment training Successful AI Components:

  • Changes to prepare for current application architecture
  • Codebase adaptation for new AI capabilities

According to project Type, adjustments to the code base may result in:

  • Changes to the database schema to simplify and accelerate access to it by artificial intelligence modules
  • Changes in video/audio processing microservices topology
  • Change Minimum System Requirements for Mobile Apps

4.PoC Phase Estimation

Business owners often ask questions of software vendors when going through the Proof of Concept (PoC) phase The budget, timeline and workload that may be required. As mentioned above, AI projects are highly unpredictable compared to regular development processes. This is because task types, data sets, methods, and techniques are all highly variable. All these factors explain why estimating hypothetical projects is a rather difficult task. Nonetheless, we present one possible classification of the above AI projects based on the complexity of the project

5. New iteration or production

After the first Proof of Concept (PoC) , the next step can be a new round of Proof of Concept (PoC) and further improvements or deployments. Creating a new proof of concept (PoC) means adding data, working on cases, performing error analysis, etc. The number of iterations is conditional and depends on the specific project

Any artificial intelligence project is directly related to risk. There may be risks arising from data suitability, as well as algorithmic or implementation risks. To reduce risk, it is wise to begin product development only when the accuracy of the AI ​​component meets business goals and expectations

The above is the detailed content of A guide to developing enterprise-grade artificial intelligence applications. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:51cto.com. If there is any infringement, please contact admin@php.cn delete