Great tool, easy to learn and use.
Use Cases and Deployment Scope
I use PyTorch to teach deep learning to my university students and professionally train and deploy models. Sometimes, it is done directly or through other libraries like Transformers from Hugging Face. PyTorch is very flexible and easy to write with a battery included. It offers a nice tradeoff between helpfulness and flexibility.
Pros
- flexibility
- Clean code, close to the algorithm.
- Fast
- Handles GPUs, multiple GPUs on a single machine, CPUs, and Mac.
- Versatile, can work efficiently on text/audio/image/tabular datasets.
Cons
- Not easy to handle TPUs.
- Surprisingly, some industry-standard building blocks are not there (e.g., cosine lr scheduler with warmup).
- Deployment requires additional things not there, for example, dynamic batching.
Likelihood to Recommend
Everything deep learning related if not on TPU (in such case, JAX would be better suited). For LLM deployment, libraries such as vLLM would be better suited, too; otherwise, wrapping the PyTorch model with Ray is a good option.
