Prerequisites
This book assumes that you have some experience programming in Python
and are familiar with the fundamentals of machine learning. The focus will
be on building a strong intuition rather than deriving mathematical
equations. As such, illustrations combined with hands-on examples will
drive the examples and learning through this book. This book assumes no
prior knowledge of popular deep learning frameworks such as PyTorch or
TensorFlow nor any prior knowledge of generative modeling.
If you are not familiar with Python, a great place to start is Learn Python,
where you will find many tutorials on the basics of the language. To further
ease the learning process, we made all the code available on Google Colab,
a platform where you can run all of the code without the need to install
anything locally.
I mean, what happened to "use the right tool for the job"? There is Rust, C++, Julia, D, and certainly many more. Are they hard or what? Are they harder than mastering the math and algorithms that are relevant to an LLM? The code is actually pretty simple, certainly simpler than many "boring" apps.
Arguing that Rust, C++, Julia or D are a better "right tool for the job" than Python for a book that teaches people about LLMs is a bit of an eyebrow-raiser.
How so? Since when is Python a good language for numerical computation? What if the reader wants to try something that cannot be achieved by plumbing canned C++? They are out of luck I guess.
Good job teaching the sloppy semantics of a scripting language for numerics I guess.
It is possible that the vast majority of AI researchers are flat-out incorrect and need to be shown a better direction by you.
It is also possible that your own fitness-for-purpose coefficients are tuned differently than the majority of the field and they've made a sensible choice for their situation.
Your comment shows such a fundamental misunderstanding of how modern AI/LLM works that is hard to be kind and thoughtful....
Python is simply the orchestration layer. The heavy lifting is done by low-level libraries used in the repo, written in C++, CUDA, and Rust (e.g., PyTorch’s C++ backend, Flash Attention’s CUDA kernels, FAISS’s SIMD optimizations, or Hugging Face’s Rust-powered tokenizers).
Python’s role is to glue these high-performance components together with minimal overhead, while providing accessibility. Claiming it’s "unsuitable" ignores the entire stack beneath the syntax.
A critique that is like blaming the steering wheel for a car’s engine performance.
Prerequisites This book assumes that you have some experience programming in Python and are familiar with the fundamentals of machine learning. The focus will be on building a strong intuition rather than deriving mathematical equations. As such, illustrations combined with hands-on examples will drive the examples and learning through this book. This book assumes no prior knowledge of popular deep learning frameworks such as PyTorch or TensorFlow nor any prior knowledge of generative modeling. If you are not familiar with Python, a great place to start is Learn Python, where you will find many tutorials on the basics of the language. To further ease the learning process, we made all the code available on Google Colab, a platform where you can run all of the code without the need to install anything locally.
Good job teaching the sloppy semantics of a scripting language for numerics I guess.
30 years. Numeric came out in 1995, then evolved into NumPy in 2005. https://en.m.wikipedia.org/wiki/NumPy
Almost every AI researcher and AI lab does most of their research work in Python.
It is also possible that your own fitness-for-purpose coefficients are tuned differently than the majority of the field and they've made a sensible choice for their situation.
I'd wager on the latter.
Python is simply the orchestration layer. The heavy lifting is done by low-level libraries used in the repo, written in C++, CUDA, and Rust (e.g., PyTorch’s C++ backend, Flash Attention’s CUDA kernels, FAISS’s SIMD optimizations, or Hugging Face’s Rust-powered tokenizers).
Python’s role is to glue these high-performance components together with minimal overhead, while providing accessibility. Claiming it’s "unsuitable" ignores the entire stack beneath the syntax.
A critique that is like blaming the steering wheel for a car’s engine performance.