Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Machine Learning Infrastructure and Best Practices for Software Engineers

You're reading from  Machine Learning Infrastructure and Best Practices for Software Engineers

Product type Book
Published in Jan 2024
Publisher Packt
ISBN-13 9781837634064
Pages 346 pages
Edition 1st Edition
Languages
Author (1):
Miroslaw Staron Miroslaw Staron
Profile icon Miroslaw Staron

Table of Contents (24) Chapters

Preface 1. Part 1:Machine Learning Landscape in Software Engineering
2. Machine Learning Compared to Traditional Software 3. Elements of a Machine Learning System 4. Data in Software Systems – Text, Images, Code, and Their Annotations 5. Data Acquisition, Data Quality, and Noise 6. Quantifying and Improving Data Properties 7. Part 2: Data Acquisition and Management
8. Processing Data in Machine Learning Systems 9. Feature Engineering for Numerical and Image Data 10. Feature Engineering for Natural Language Data 11. Part 3: Design and Development of ML Systems
12. Types of Machine Learning Systems – Feature-Based and Raw Data-Based (Deep Learning) 13. Training and Evaluating Classical Machine Learning Systems and Neural Networks 14. Training and Evaluation of Advanced ML Algorithms – GPT and Autoencoders 15. Designing Machine Learning Pipelines (MLOps) and Their Testing 16. Designing and Implementing Large-Scale, Robust ML Software 17. Part 4: Ethical Aspects of Data Management and ML System Development
18. Ethics in Data Acquisition and Management 19. Ethics in Machine Learning Systems 20. Integrating ML Systems in Ecosystems 21. Summary and Where to Go Next 22. Index 23. Other Books You May Enjoy

Summary and Where to Go Next

This is the last chapter of this book. We’ve learned a lot – starting with understanding the differences between traditional and machine learning-based software. We’ve learned how to handle data and how to work with algorithms. We’ve also looked at how to deploy models and how to work ethically with machine learning. In this chapter, we’ll summarize the best practices and try to get a glimpse of future developments in the area of machine learning overlapped with software engineering.

In this chapter, we’re going to cover the following main topics:

  • To know where we are going, we need to know where we’ve been
  • Best practices
  • Current developments
  • My view on the future

To know where we’re going, we need to know where 
we’ve been

My journey with computers started in the early 1990s, with Atari 800XL. Once I got my hands on that computer, I was amazed by the sheer fact that it could do what I told it to do. My first program was, of course, a program in BASIC:

10 PRINT Hello world!
20 GOTO 10

It’s neither well-formed nor a very useful program, but that was all I could do at the time. This first program shaped my entire career as it sparked my interest in software development. Later on, during my professional career, I realized that professional software engineering is much more than just writing source code and compiling it. The programs need to be well-formed, well-documented, well-designed, and well-tested (among many other things). This observation, in turn, shaped my view on software engineering as a discipline that can turn homebrewed software into a piece of art that can be used over long periods if well maintained...

Best practices

The first part of this book contains significantly more best practices, which is because these best practices relate to engineering software, designing it, and making crucial decisions about machine learning – for example, the first best practice tells us when to use (and not to use) machine learning.

As this part of this book was about the machine learning landscape in software engineering, we’ll discuss different types of models and data and show how they come together.

The list of best practices from the first part of this book is presented in Table 17.1:

Current developments

At the time of writing this book, the Technology Innovation Institute (https://www.tii.ae/) has just released its largest model – Falcon 170B. It is the largest fully open source model that is similar to the GPT-3.5 model. It shows the current direction of the research in large language models.

Although GPT-4 exists, which is larger by a factor of 1,000, we can develop very good software with moderately large models such as GPT-3.5. This brings us to some of the current topics that we, as a community, need to discuss. One of them is the energy sustainability of these models. Falcon-170B requires 400 GB of RAM (eight times that of an Nvidia A100 GPU) to execute (according to Hugging Face). We do not know how much hardware the GPT-4 model needs. The amount of electricity that it takes and the resources that it uses must be on par with what we get as value from that model.

We also approach limits to the conventional computational power when it comes...

My view on the future

Based on my observations of the machine learning landscape today, with a particular focus on software engineering, I can see a few trends.

Language models will get better at completing software engineering tasks, such as requirements, testing, and documenting. This means that software engineers will be able to focus on their core work – engineering software – rather than on tedious, repetitive tasks. We will see models that will test software, document it, explain it, and maybe even repair it. The latest advancements in this field are very promising.

Hybrid models will be more popular. Combining symbolic analysis and neural networks will gain traction and be able to assist us in finding advanced vulnerabilities in software, as well as identifying them before they are exploited. This will make our software more robust and more resilient over time.

Large models and the availability of significant computational power will help us also to detect...

Final remarks

I hope that this book was interesting for you and that you have gained new knowledge in machine learning, AI, and engineering software. I hope that you can use this book as a reference and that you will use the associated code to create new products. I would also greatly appreciate it if you could let me know if you liked it, connect via LinkedIn, and contribute to this book’s GitHub repository. I will monitor it and integrate all pull requests that you may have.

Before we part, I have one last best practice.

Best practice #79

Never stop learning.

Take this from a university professor. The field of machine learning grows quickly, with new models being introduced almost every week. Make sure that you observe the scientific publications in this area and commercial developments. This will help you keep your knowledge up-to-date and help you advance in your professional career.

References

  • Cerezo, M., G. Verdon, H.-Y. Huang, L. Cincio and P. J. Coles (2022). Challenges and opportunities in quantum machine learning. Nature Computational Science 2(9): 567-576.
  • Gao, C., Y. Zheng, N. Li, Y. Li, Y. Qin, J. Piao, Y. Quan, J. Chang, D. Jin and X. He (2023). A survey of graph neural networks for recommender systems: Challenges, methods, and directions. ACM Transactions on Recommender Systems 1(1): 1-51.
  • Meskó, B. and E. J. Topol (2023). The imperative for regulatory oversight of large language models (or generative AI) in healthcare. npj Digital Medicine 6(1): 120.
  • Rajeesh Kumar, N. V., N. Jaya Lakshmi, B. Mallala and V. Jadhav (2023). Secure trust aware multi-objective routing protocol based on battle competitive swarm optimization in IoT. Artificial Intelligence Review.
  • Rosenberg, L. (2016). Artificial Swarm Intelligence, a Human-in-the-loop approach to AI. Proceedings of the AAAI conference on artificial intelligence.
lock icon The rest of the chapter is locked
You have been reading a chapter from
Machine Learning Infrastructure and Best Practices for Software Engineers
Published in: Jan 2024 Publisher: Packt ISBN-13: 9781837634064
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime}

ID

Best Practice

1

Use machine learning algorithms when your problem is focused on data, not on the algorithm.

2

Before you start developing a machine learning system, do due diligence and identify the right...