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.
If someone's familiar with this, what would you say are the prerequisites?
This is taken from the book as it is:
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 came in thinking it was a free ebook lol
Well it can be... «Архив Анны»
[dead]
I guess it wouldn't sell shit if it used a language suitable for this type of work.
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.
"Since when is Python a good language for numerical computation?"
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.
I know all of these facts. Doesn't mean it is how it is for the right reasons, and even if it is, it does not imply that it is a good way to teach.
Taking constant side-quests into Rust memory management during a class on LLMs doesn't sound like a productive way to teach to me.
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.
I'd wager on the latter.
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.
I assume you mean book's code shown in the Jypyter notebooks in the repository. (Which I think is both simple and messy.)