This book grew out of the graduate and undergraduate courses the authors built and taught at colleges and universities, refined over many semesters as the field changed underneath the syllabus. Both authors split their time between academia and applied research with industry partners; the material here reflects what survived the round trip between the two.
Alexander (Sasha) Apartsin, Ph.D.
Sasha holds a Ph.D. in Computer Science from Tel Aviv University, M.Sc. degrees from the Weizmann Institute and NYU Polytechnic, and a B.Sc. from the Technion.
Before returning to academia he led data science, AI, and research teams across the technology sector: automotive AI, telecommunications, and financial services. That industry stretch, building data and AI systems that had to run across many machines rather than one, shaped a research program he now calls Pragmatic AI: designing methods that hold up when real-world data, scale, and conditions depart from clean benchmarks. The current work covers robust perception under degraded inputs, constraint-driven generation with verifiable specifications, and coordination mechanisms for multi-agent systems; the multi-agent and coordination chapters of this book (Part VI) draw directly on that line of work, while his industry experience leading large-scale data and machine-learning teams runs through the distributed-data and distributed-ML parts (Parts II, III, and IV).
His teaching focuses on the practical and scientific foundations of modern AI systems. The undergraduate and graduate courses he designed and taught in machine learning, deep learning, distributed and large-scale systems, and AI engineering are the immediate ancestor of this book, and many of the exercises at section ends started life as course assignments.
Yehudit holds a Ph.D. in Mathematical Economics from the Weizmann Institute and an M.Sc. in Game Theory from the Technion, with postdoctoral work in Financial Mathematics at Bar-Ilan University. She has been on the Afeka faculty since 2008.
She founded and directed the M.Sc. Program in Intelligent Systems at Afeka from 2016 to 2023, and in 2024 founded ICSGen.AI, the Afeka Interdisciplinary Center for Social Good and Generative AI. She has led collaborative research projects with defense organizations and industry partners, focusing on intelligent systems applied to healthcare, finance, and signal processing; those collaborations are the lived source for the case studies that close the book, from federated medical AI in Chapter 37 to distributed recommendation at scale in Chapter 38.
Her teaching spans machine learning, data science, optimization, game theory, and decision-making under uncertainty. Her game-theoretic work underpins the treatment of strategic interaction in Chapter 28, and her grounding in optimization and decision-making under uncertainty shapes the distributed-optimization and multi-agent reinforcement-learning chapters; her experience designing and leading academic programs shaped the educational structure and interdisciplinary orientation of this book, particularly the way each part walks the seam between technique and consequence.
The book is produced with a staged pipeline of about 42 specialized AI writing agents working under the authors' direction. The authors set the vision, structure, scope, and quality standards, define what each chapter must teach and how the eight-part arc fits together, and review the results; the pipeline drafts, critiques, revises, illustrates, and cross-checks the material under that direction. A chapter passes through planning, drafting, structural review, self-containment verification (no concept used before it is taught), clarity and engagement audits, terminology and cross-reference consistency checks across all 41 chapters, visual identity and diagram passes, epigraphs, applied industry examples, exercises, and bibliographies, followed by a final polish and a quality challenge that deliberately attacks each chapter's weakest points.
This way of working has a practical consequence for you as a reader: the book's signature consistency, the recurring callout system, the paired from-scratch and library implementations, the cross-reference arcs that connect one scaling pattern to the next, is not a style guide that authors tried to remember. It is enforced mechanically, chapter after chapter, by agents whose only job is to check it. You will feel that consistency most where a primitive returns scaled out: the MapReduce shuffle of Chapter 6 returns as the all-reduce of Chapter 15; the parameter-server sharding of Chapter 11 returns as ZeRO and FSDP in Chapter 16; the per-node KV-cache economics of Chapter 22 return multiplied across the serving fleet in Chapter 24. A book produced this way is reviewed many more times than any single human could manage, and still, errors can survive any process. Where the text and reality disagree, reality wins; corrections are folded into subsequent revisions of the text.
Note: If the book helps
The book is independently published. If a chapter saved you a day of debugging or unlocked a project, a sentence about which chapter helped is more useful to other readers than a five-star rating.