Jump to content

Draft:Artificial intelligence engineering

From Wikipedia, the free encyclopedia

Artificial Intelligence engineering (or AI engineering) is a tech discipline that focuses on the design, development, and deployment of AI systems. AI engineering involves applying engineering principles and methodologies to create scalable, efficient, and reliable AI-based solutions. It merges aspects of data engineering and software engineering to create real-world applications in diverse domains such as healthcare, finance, autonomous systems, and industrial automation.[1][2]

Key components

[edit]

AI engineering integrates a variety of technical domains and practices, all of which are essential to building scalable, reliable, and ethical AI systems.

Data engineering and infrastructure

[edit]

Data serves as the cornerstone of AI systems, necessitating careful engineering to ensure quality, availability, and usability. AI engineers gather large, diverse datasets from multiple sources, including databases, APIs, and real-time streams. This data undergoes cleaning, normalization, and preprocessing, often facilitated by automated data pipelines that manage extraction, transformation, and loading (ETL) processes.[3]

Efficient storage solutions, such as SQL databases, NoSQL databases, and data lakes, must be selected based on data characteristics and use cases. Security measures, including encryption and access controls, are critical for protecting sensitive information and ensuring compliance with regulations like GDPR. Scalability is essential, frequently involving cloud services and distributed computing frameworks to handle growing data volumes effectively.[4][5][6]

Algorithm selection and optimization

[edit]

Selecting the appropriate algorithm is crucial for the success of any AI system. Engineers evaluate the problem—classification, regression, clustering, or reinforcement learning—to determine the most suitable machine learning or deep learning algorithm. Simpler algorithms may suffice for straightforward tasks, while more complex problems typically require advanced options like neural networks.[7][8]

Once an algorithm is chosen, optimizing it through hyperparameter tuning is essential to enhance efficiency and accuracy.[9] Techniques such as grid search or Bayesian optimization are employed, and engineers often utilize parallelization to expedite training processes, particularly for large datasets.[10] For existing models, techniques like transfer learning can be applied to adapt pre-trained models for specific tasks, reducing the time and resources needed for training.[11]

Deep Learning engineering

[edit]

Deep learning is particularly important for tasks involving large and complex datasets. Engineers design neural network architectures tailored to specific applications, using Convolutional Neural Networks (CNNs) for visual tasks and Recurrent Neural Networks (RNNs) for sequence-based tasks. Transfer learning, where pre-trained models are fine-tuned for specific use cases, helps streamline development and often enhances performance.[12]

Optimization for deployment in resource-constrained environments, such as mobile devices, involves techniques like pruning and quantization to minimize model size while maintaining performance. Engineers also tackle data imbalance challenges through augmentation and synthetic data generation, ensuring robust model performance across various classes.[12]

Natural Language Processing

[edit]

Natural Language Processing (NLP) is a crucial component of AI engineering, focused on enabling machines to understand and generate human language. The process begins with text preprocessing to prepare data for machine learning models. Recent advancements, particularly transformer-based models like BERT and GPT, have greatly improved the ability to understand context in language.[13]

AI engineers work on various NLP tasks, including sentiment analysis, machine translation, and information extraction. These tasks require sophisticated models that utilize attention mechanisms to enhance accuracy.[14] Applications range from virtual assistants and chatbots to more specialized tasks like Named Entity Recognition (NER) and Part-of-Speech (POS) tagging.[15][16]

Reasoning and decision-making systems

[edit]

Developing systems capable of reasoning and decision-making is a significant aspect of AI engineering. Whether starting from scratch or building on existing frameworks, engineers create solutions that operate on data or logical rules. Symbolic AI employs formal logic and predefined rules for inference, while probabilistic reasoning techniques like Bayesian networks help address uncertainty. These models are essential for applications in dynamic environments, such as autonomous vehicles, where real-time decision-making is critical.[17][18]

Security, ethics and compliance

[edit]

As AI systems increasingly influence societal aspects, security, ethics, and compliance are vital components of AI engineering. Engineers design models to withstand adversarial attacks and mitigate risks such as data poisoning.[19][20] Ensuring compliance with data protection regulations like GDPR involves implementing privacy-preserving techniques, including data anonymization and differential privacy.[21]

Ethical considerations focus on reducing bias in AI systems, preventing discrimination based on race, gender, or other protected characteristics. By developing fair and accountable AI solutions, engineers contribute to the creation of technologies that are both technically sound and socially responsible.[22]

Workload

[edit]

An AI engineer’s workload revolves around the AI system’s life cycle, which is a complex, multi-stage process.[23] This process may involve building models from scratch or using pre-existing models through transfer learning, depending on the project’s requirements.[24] Each approach presents unique challenges and influences the time, resources, and technical decisions involved.

Problem definition and requirements analysis

[edit]

Regardless of whether a model is built from scratch or based on a pre-existing model, the work begins with a clear understanding of the problem. The engineer must define the scope, understand the business context, and identify specific AI objectives that align with strategic goals. This stage includes consulting with stakeholders to establish key performance indicators (KPIs) and operational requirements.[23]

When developing a model from scratch, the engineer must also decide which algorithms are most suitable for the task (e.g., classification, regression, reinforcement learning).[7] Conversely, when using a pre-trained model, the workload shifts toward evaluating existing models and selecting the one most aligned with the task. The use of pre-trained models often allows for a more targeted focus on fine-tuning, as opposed to designing an entirely new model architecture.[25]

Data acquisition and preparation

[edit]

Data acquisition and preparation are critical stages regardless of the development method chosen, as the performance of any AI system relies heavily on high-quality, representative data.

For systems built from scratch, engineers must gather comprehensive datasets that cover all aspects of the problem domain, ensuring enough diversity and representativeness in the data to train the model effectively. This involves cleansing, normalizing, and augmenting the data as needed. Creating data pipelines and addressing issues like imbalanced datasets or missing values are also essential to maintain model integrity during training.[26]

In the case of using pre-existing models, the dataset requirements often differ. Here, engineers focus on obtaining task-specific data that will be used to fine-tune a general model. While the overall data volume may be smaller, it needs to be highly relevant to the specific problem. Pre-existing models, especially those based on transfer learning, typically require fewer data, which accelerates the preparation phase, although data quality remains equally important.[27]

Model design and training

[edit]

The workload during the model design and training phase depends significantly on whether the engineer is building the model from scratch or fine-tuning an existing one.

When creating a model from scratch, AI engineers must design the entire architecture, selecting or developing algorithms and structures that are suited to the problem. For deep learning models, this might involve designing a neural network with the right number of layers, activation functions, and optimizers[28]. Engineers go through several iterations of testing, adjusting hyperparameters, and refining the architecture.[9] This process can be resource-intensive, requiring substantial computational power and significant time to train the model on large datasets.

For AI systems based on pre-existing models, the focus is more on fine-tuning. Transfer learning allows engineers to take a model that has already been trained on a broad dataset and adapt it for a specific task using a smaller, task-specific dataset. This method dramatically reduces the complexity of the design and training phase. Instead of building the architecture, engineers adjust the final layers and perform hyperparameter tuning. The time and computational resources required are typically lower than training from scratch, as pre-trained models have already learned general features that only need refinement for the new task.[24]

Whether building from scratch or fine-tuning, engineers employ optimization techniques like cross-validation and early stopping to prevent overfitting. In both cases, model training involves running numerous tests to benchmark performance and improve accuracy.[29]

System integration

[edit]

Once the model is trained, it must be integrated into the broader system, a phase that largely remains the same regardless of how the model was developed. System integration involves connecting the AI model to various software components and ensuring that it can interact with external systems, databases, and user interfaces.

For models developed from scratch, integration may require additional work to ensure that the custom-built architecture aligns with the operational environment, especially if the AI system is designed for specific hardware or edge computing environments. Pre-trained models, by contrast, are often more flexible in terms of deployment since they are built using widely adopted frameworks like TensorFlow or PyTorch, which are compatible with most modern infrastructure.[30]

Engineers use containerization tools like Docker to package the model and create consistent environments for deployment, ensuring seamless integration across cloud-based or on-premise systems. Whether starting from scratch or using pre-trained models, the integration phase requires ensuring that the model is ready to scale and perform efficiently within the existing infrastructure.

Testing and validation

[edit]

Testing and validation play a crucial role in both approaches, though the depth and nature of testing might differ slightly. For models built from scratch, more exhaustive functional testing is needed to ensure that the custom-built components of the model function as intended. Stress tests are conducted to evaluate the system under various operational loads, and engineers must validate that the model can handle the specific data types and edge cases of the domain.

For pre-trained models, the focus of testing is on ensuring that fine-tuning has adequately adapted the model to the task. Functional tests validate that the pre-trained model’s outputs are accurate for the new context. In both cases, bias assessments, fairness evaluations, and security reviews are critical to ensure ethical AI practices and prevent vulnerabilities, particularly in sensitive applications like finance, healthcare, or autonomous systems.

Explainability is also essential in both workflows, especially when working in regulated industries or with stakeholders who need transparency in AI decision-making processes. Engineers must ensure that the model’s predictions can be understood by non-technical users and align with ethical and regulatory standards.

Deployment and monitoring

[edit]

The deployment stage typically involves the same overarching strategies—whether the model is built from scratch or based on an existing model. However, models built from scratch may require more extensive fine-tuning during deployment to ensure they meet performance requirements in a production environment. For example, engineers might need to optimize memory usage, reduce latency, or adapt the model for edge computing.

When deploying pre-trained models, the workload is generally lighter. Since these models are often already optimized for production environments, engineers can focus on ensuring compatibility with the task-specific data and infrastructure. In both cases, deployment techniques such as phased rollouts, A/B testing, or canary deployments are used to minimize risks and ensure smooth transition into the live environment.

Monitoring, however, is critical in both approaches. Once the AI system is deployed, engineers set up performance monitoring to detect issues like model drift, where the model’s accuracy decreases over time as data patterns change. Continuous monitoring helps identify when the model needs retraining or recalibration. For pre-trained models, periodic fine-tuning may suffice to keep the model performing optimally, while models built from scratch may require more extensive updates depending on how the system was designed.

Regular maintenance includes updates to the model, re-validation of fairness and bias checks, and security patches to protect against adversarial attacks.

Challenges

[edit]

AI engineering faces a distinctive set of challenges that differentiate it from traditional software development. One of the primary issues is model drift, where AI models degrade in performance over time due to changes in data patterns, necessitating continuous retraining and adaptation. Additionally, data privacy and security are critical concerns, particularly when sensitive data is used in cloud-based models. Ensuring model explainability is another challenge, as complex AI systems must be made interpretable for non-technical stakeholders. Bias and fairness also require careful handling to prevent discrimination and promote equitable outcomes, as biases present in training data can propagate through AI algorithms, leading to unintended results. Addressing these challenges requires a multidisciplinary approach, combining technical acumen with ethical and regulatory considerations.

Another significant challenge is the growing energy consumption associated with AI infrastructure, particularly in generative models that require vast amounts of computational resources. The rapid expansion of data centers around the world, needed to support large-scale AI training and inference, has led to a substantial increase in electricity demand. Training large AI models, such as generative language models, involves processing immense datasets over prolonged periods, consuming considerable amounts of energy. This has raised concerns about the environmental impact and the sustainability of AI advancements, prompting researchers and companies to explore energy-efficient algorithms, green data centers, and renewable energy sources to mitigate the carbon footprint of AI technologies. Addressing this challenge is crucial as the scale of AI applications continues to grow globally.

Educational pathways

[edit]

Education in AI engineering typically involves advanced courses in software and data engineering. Key topics include machine learning, deep learning, natural language processing and computer vision. Many universities now offer specialized programs in AI engineering at both the undergraduate and postgraduate levels, including hands-on labs, project-based learning, and interdisciplinary courses that bridge AI theory with engineering practices.

Professional certifications can also supplement formal education. Additionally, hands-on experience with real-world projects, internships, and contributions to open-source AI initiatives are highly recommended to build practical expertise.

References

[edit]
  1. ^ "What is Ai Engineering? Exploring the Roles of an Ai Engineer". ARTiBA. Retrieved 2024-10-17.
  2. ^ Marr, Bernard. "15 Amazing Real-World Applications Of AI Everyone Should Know About". Forbes. Retrieved 2024-10-17.
  3. ^ DEITEL, Paul J.; DEITEL, Harvey M. (2019). Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud. Pearson.
  4. ^ Tobin, Donal. "Which Database Is Right for Your Use Case?". Integrate.io. Retrieved 2024-10-18.
  5. ^ Scalzo, Bert (2022-08-16). "Data Modeling 301 for the cloud: data lake and NoSQL data modeling and design". erwin Expert Blog. Retrieved 2024-10-18.
  6. ^ Bahmani, Amir; Alavi, Arash; Buergel, Thore; Upadhyayula, Sushil; Wang, Qiwen; Ananthakrishnan, Srinath Krishna; Alavi, Amir; Celis, Diego; Gillespie, Dan; Young, Gregory; Xing, Ziye; Nguyen, Minh Hoang Huynh; Haque, Audrey; Mathur, Ankit; Payne, Josh (2021-10-01). "A scalable, secure, and interoperable platform for deep data-driven health management". Nature Communications. 12 (1): 5757. Bibcode:2021NatCo..12.5757B. doi:10.1038/s41467-021-26040-1. ISSN 2041-1723. PMC 8486823. PMID 34599181.
  7. ^ a b Bischl, Bernd; Kerschke, Pascal; Kotthoff, Lars; Lindauer, Marius; Malitsky, Yuri; Fréchette, Alexandre; Hoos, Holger; Hutter, Frank; Leyton-Brown, Kevin; Tierney, Kevin; Vanschoren, Joaquin (2016-08-01). "ASlib: A benchmark library for algorithm selection". Artificial Intelligence. 237: 41–58. doi:10.1016/j.artint.2016.04.003. ISSN 0004-3702.
  8. ^ "Explained: Neural networks". MIT News | Massachusetts Institute of Technology. 2017-04-14. Retrieved 2024-10-18.
  9. ^ a b FEURER, Matthias; HUTTER, Frank. "Hyperparameter optimization". AutoML: Methods, Systems, Challenges. pp. 3–38.
  10. ^ "Grid Search, Random Search, and Bayesian Optimization". Keylabs: latest news and updates. 2024-08-21. Retrieved 2024-10-18.
  11. ^ West, Jeremy; Ventura, Dan; Warnick, Sean (2007). "Spring Research Presentation: A Theoretical Foundation for Inductive Transfer". Brigham Young University, College of Physical and Mathematical Sciences. Archived from the original on 2007-08-01. Retrieved 2024-10-18.
  12. ^ a b Chaudhury, Krishnendu (2024). Math and Architectures of Deep Learning. Manning Publications.
  13. ^ "The Power of Natural Language Processing". Harvard Business Review. 2022-04-19. ISSN 0017-8012. Retrieved 2024-10-18.
  14. ^ Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N.; Kaiser, Lukasz; Polosukhin, Illia (2023-08-01), Attention Is All You Need, arXiv:1706.03762
  15. ^ Sun, Peng; Yang, Xuezhen; Zhao, Xiaobing; Wang, Zhijuan (November 2018). "An Overview of Named Entity Recognition". 2018 International Conference on Asian Language Processing (IALP). IEEE. pp. 273–278. doi:10.1109/IALP.2018.8629225. ISBN 978-1-7281-1175-9.
  16. ^ Chiche, Alebachew; Yitagesu, Betselot (2022-01-24). "Part of speech tagging: a systematic review of deep learning and machine learning approaches". Journal of Big Data. 9 (1): 10. doi:10.1186/s40537-022-00561-y. ISSN 2196-1115.
  17. ^ Susskind, Zachary; Arden, Bryce; John, Lizy K.; Stockton, Patrick; John, Eugene B. (2021-09-13), Neuro-Symbolic AI: An Emerging Class of AI Workloads and their Characterization, arXiv:2109.06133
  18. ^ Garnelo, Marta; Shanahan, Murray (2019-10-01). "Reconciling deep learning with symbolic artificial intelligence: representing objects and relations". Current Opinion in Behavioral Sciences. 29: 17–23. doi:10.1016/j.cobeha.2018.12.010. ISSN 2352-1546.
  19. ^ Fan, Jiaxin; Yan, Qi; Li, Mohan; Qu, Guanqun; Xiao, Yang (July 2022). "A Survey on Data Poisoning Attacks and Defenses". 2022 7th IEEE International Conference on Data Science in Cyberspace (DSC). IEEE. pp. 48–55. doi:10.1109/DSC55868.2022.00014. ISBN 978-1-6654-7480-1.
  20. ^ Ren, Kui; Zheng, Tianhang; Qin, Zhan; Liu, Xue (2020-03-01). "Adversarial Attacks and Defenses in Deep Learning". Engineering. 6 (3): 346–360. Bibcode:2020Engin...6..346R. doi:10.1016/j.eng.2019.12.012. ISSN 2095-8099.
  21. ^ European Parliament. Directorate General for Parliamentary Research Services. (2020). The impact of the general data protection regulation on artificial intelligence. LU: Publications Office. doi:10.2861/293. ISBN 978-92-846-6771-0.
  22. ^ Ferrara, Emilio (March 2024). "Fairness and Bias in Artificial Intelligence: A Brief Survey of Sources, Impacts, and Mitigation Strategies". Sci. 6 (1): 3. doi:10.3390/sci6010003. ISSN 2413-4155.
  23. ^ a b Haakman, Mark; Cruz, Luís; Huijgens, Hennie; van Deursen, Arie (2021-07-08). "AI lifecycle models need to be revised". Empirical Software Engineering. 26 (5): 95. doi:10.1007/s10664-021-09993-1. ISSN 1573-7616.
  24. ^ a b Fritz (2023-09-21). "Pre-Trained Machine Learning Models vs Models Trained from Scratch". Fritz ai. Retrieved 2024-10-18.
  25. ^ Alshalali, Tagrid; Josyula, Darsana (December 2018). "Fine-Tuning of Pre-Trained Deep Learning Models with Extreme Learning Machine". 2018 International Conference on Computational Science and Computational Intelligence (CSCI). IEEE. pp. 469–473. doi:10.1109/CSCI46756.2018.00096. ISBN 978-1-7281-1360-9.
  26. ^ Jain, Mitaksh (2024-05-27). "Data Acquisition: The Ultimate Guide to Master Machine Learning". Emeritus Online Courses. Retrieved 2024-10-18.
  27. ^ Dodge, Jesse; Ilharco, Gabriel; Schwartz, Roy; Farhadi, Ali; Hajishirzi, Hannaneh; Smith, Noah (2020-02-14), Fine-Tuning Pretrained Language Models: Weight Initializations, Data Orders, and Early Stopping, arXiv:2002.06305
  28. ^ "What is a Model Architecture? - Hopsworks". www.hopsworks.ai. Retrieved 2024-10-18.
  29. ^ "How the training of the AI models works - The Data Scientist". 2023-08-16. Retrieved 2024-10-18.
  30. ^ Thórisson, Kristinn R.; Benko, Hrvoje; Abramov, Denis; Arnold, Andrew; Maskey, Sameer; Vaseekaran, Aruchunan (2004). "Constructionist Design Methodology for Interactive Intelligences" (PDF). A.I. Magazine. Archived from the original (PDF) on 2006-09-03.