Học PyTorch không khó ở việc nhớ một vài lệnh tạo tensor hay khai báo lớp mạng nơ-ron. Thử thách thực sự là hiểu toàn bộ vòng đời của một dự án học sâu: biểu diễn dữ liệu đúng cách, xây kiến trúc, định nghĩa hàm mất mát, huấn luyện và xác thực mô hình, kiểm soát quá khớp, mở rộng lên nhiều GPU rồi đưa mô hình vào ứng dụng thực tế.
Deep Learning with PyTorch, Second Edition: Training and Applying Deep Learning and Generative AI Models của Howard Huang, Eli Stevens, Luca Antiga và Thomas Viehmann được xây dựng cho hành trình đó. Phiên bản thứ hai không chỉ cập nhật nền tảng PyTorch hiện đại mà còn mở rộng sang Transformer, mô hình ngôn ngữ, mô hình khuếch tán tạo ảnh, Segment Anything, huấn luyện phân tán và các lựa chọn triển khai như ONNX, torch.compile, FastAPI, Gradio và ExecuTorch.
Đây là cuốn sách phù hợp với người muốn hiểu PyTorch từ bên trong thay vì chỉ ghép các đoạn code có sẵn. Từng khái niệm được đưa vào qua bài toán cụ thể, sau đó phát triển thành pipeline hoàn chỉnh. Phần cuối sử dụng một dự án ảnh y tế nhiều chương để buộc người đọc kết nối xử lý dữ liệu, kiến trúc mô hình, thước đo, tăng cường dữ liệu, phân đoạn và triển khai thành một hệ thống thống nhất.
Sách được chia thành hai phần rõ ràng. Phần 1, gồm chương 1 đến chương 8, xây nền móng PyTorch: tensor, biểu diễn dữ liệu, autograd, tối ưu hóa, mạng nơ-ron và mạng tích chập. Phần 2 mở rộng sang AI tạo sinh, một dự án phát hiện ung thư phổi từ ảnh CT, huấn luyện đa GPU và triển khai production.
Lộ trình này giải quyết một vấn đề phổ biến của người tự học: biết chạy notebook nhưng chưa hiểu các thành phần liên kết với nhau như thế nào. Người đọc được dẫn qua chuỗi quyết định đầy đủ:
Nhờ cấu trúc đó, cuốn sách vừa có thể đọc tuần tự như một giáo trình, vừa có thể dùng làm tài liệu tham chiếu theo từng giai đoạn của dự án.
Trước khi đi sâu vào toán học và huấn luyện, sách cho người đọc trải nghiệm các mạng đã huấn luyện sẵn. Các ví dụ về AlexNet, Vision Transformer, tạo và chỉnh sửa ảnh, Hugging Face Model Hub và mô hình mô tả hình ảnh giúp người đọc thấy nhiều kiểu đầu vào–đầu ra mà một hệ thống học sâu có thể xử lý.
Cách mở đầu này tạo động lực tốt hơn việc bắt đầu bằng hàng chục trang công thức. Người đọc trực tiếp tải mô hình, chuẩn hóa dữ liệu, thực hiện suy luận, đọc xác suất đầu ra và quan sát một pipeline pretrained hoạt động.
Quan trọng hơn, phần này đặt nền cho các chương sau: mô hình dù phức tạp đến đâu vẫn nhận tensor, biến đổi biểu diễn và tạo tensor đầu ra. Khi quay lại học tensor, autograd và neural network, người đọc đã có bối cảnh thực tế để hiểu mỗi khối kỹ thuật phục vụ mục tiêu gì.
Tensor là cấu trúc dữ liệu trung tâm của PyTorch. Sách không dừng ở việc tạo tensor mà đi sâu vào indexing, broadcasting, dtype, storage, offset, stride, view, tính liên tục trong bộ nhớ, chuyển vị không sao chép và di chuyển dữ liệu sang GPU.
Đây là phần rất đáng giá với người thường gặp lỗi shape, lỗi dtype hoặc hiệu năng kém nhưng không biết nguyên nhân. Khi hiểu một tensor chỉ là cách nhìn có cấu trúc lên vùng lưu trữ, người đọc có thể giải thích vì sao một thao tác tạo view gần như không tốn chi phí, vì sao phải gọi `contiguous()` trong một số trường hợp và vì sao bố cục dữ liệu ảnh hưởng đến tốc độ tính toán.
Sách cũng kết nối tensor với NumPy và HDF5, giúp người đọc đưa dữ liệu từ hệ sinh thái Python khoa học vào PyTorch mà vẫn kiểm soát kiểu số, bộ nhớ và khả năng tuần tự hóa.
Một mô hình tốt không thể bù cho dữ liệu được biểu diễn sai. Chương về biểu diễn dữ liệu hướng dẫn chuyển hình ảnh, dữ liệu thể tích 3D, dữ liệu bảng, chuỗi thời gian và văn bản thành tensor.
Người đọc học cách sắp xếp kênh màu, chuẩn hóa pixel, mã hóa biến phân loại, xử lý trục thời gian, one-hot encoding và tạo embedding cho văn bản. Giá trị của phần này nằm ở tư duy biểu diễn: phải xác định trục nào là batch, channel, time hoặc feature; giá trị nào cần chuẩn hóa; thông tin nào là liên tục, thứ tự hoặc phân loại.
Đây là kiến thức có tính chuyển giao cao. Dù sau này làm thị giác máy tính, xử lý ngôn ngữ, dữ liệu cảm biến hay dữ liệu doanh nghiệp, người đọc vẫn phải giải quyết cùng một câu hỏi: làm thế nào biến dữ liệu thô thành biểu diễn số phù hợp với kiến trúc mô hình.
Sách xây dựng trực giác về học máy từ ước lượng tham số, hàm mất mát và gradient descent. Một bài toán đơn giản được triển khai trước bằng các phép toán thủ công, sau đó mới thay dần bằng tensor PyTorch, autograd và optimizer.
Trình tự này giúp người đọc thấy rõ PyTorch đang tự động hóa phần nào. Autograd không còn là một hàm “gọi rồi có gradient”, mà là cơ chế ghi lại đồ thị phép toán và lan truyền đạo hàm ngược qua đồ thị đó.
Các nội dung về learning rate, chuẩn hóa đầu vào, vòng lặp tối ưu, tập validation và overfitting giúp người đọc biết chẩn đoán quá trình huấn luyện. Đây là phần nền tảng để hiểu vì sao loss không giảm, vì sao kết quả trên tập huấn luyện tốt nhưng dữ liệu mới lại kém và khi nào cần thay đổi dữ liệu, mô hình hoặc chiến lược tối ưu.
Sau khi hiểu cơ chế học, sách chuyển sang các abstraction thực tế của PyTorch: `nn.Module`, layer, activation, parameter, optimizer và DataLoader. Người đọc xây mạng nơ-ron cho bài toán hồi quy, sau đó phát triển sang phân loại hình ảnh.
Điểm hay là code cấp cao luôn được nối lại với nền tảng đã học. Một lớp `Linear` vẫn là phép biến đổi có trọng số và bias; optimizer vẫn cập nhật parameter dựa trên gradient; hàm loss vẫn định nghĩa mục tiêu mà mô hình phải giảm.
Nhờ đó, người đọc không bị phụ thuộc vào API. Khi kiến trúc thay đổi hoặc cần viết module tùy chỉnh, họ vẫn hiểu dữ liệu đi qua mô hình như thế nào và parameter được đăng ký, tính gradient rồi cập nhật ra sao.
Bài toán phân loại ảnh được xây dựng theo nhiều bước: chuẩn bị dữ liệu, tạo baseline với mạng kết nối đầy đủ, đo kết quả, phân tích giới hạn rồi chuyển sang mạng nơ-ron tích chập.
Sách giải thích convolution, kernel, channel, pooling, receptive field, depth và residual connection trong bối cảnh một mô hình đang được cải thiện. Người đọc thấy CNN tận dụng cấu trúc không gian của ảnh tốt hơn một lớp fully connected như thế nào.
Đây là cách học hiệu quả vì kiến trúc không xuất hiện dưới dạng danh sách khái niệm rời rạc. Mỗi thay đổi có một lý do: giảm số parameter, khai thác tính cục bộ, tăng khả năng tổng quát hóa hoặc cho phép mạng sâu hơn được huấn luyện ổn định.
Phiên bản thứ hai bổ sung phần quan trọng về Transformer và mô hình tạo sinh văn bản. Thay vì chỉ gọi một model có sẵn, sách xây dựng bài toán sinh tên theo ký tự rồi phát triển dần từ mô hình xác suất đơn giản sang embedding, self-attention, causal attention và kiến trúc Transformer decoder.
Người đọc hiểu vai trò của query, key, value; vì sao attention cho phép token trao đổi thông tin; masking ngăn mô hình nhìn thấy tương lai ra sao; và encoder, decoder, encoder–decoder khác nhau ở điểm nào. Phần tokenization và Vision Transformer mở rộng tư duy Transformer sang văn bản hoàn chỉnh và dữ liệu hình ảnh.
Đây là nền tảng hữu ích cho người muốn học LLM một cách nghiêm túc. Cuốn sách không hứa xây một mô hình ngôn ngữ quy mô ChatGPT trên máy cá nhân, nhưng cung cấp các khối kiến thức cần thiết để hiểu mô hình lớn được cấu tạo từ đâu.
Chương về mô hình khuếch tán đưa người đọc sang AI tạo sinh hình ảnh. Sách giải thích forward diffusion làm dữ liệu dần trở thành nhiễu, còn mô hình học reverse process để dự đoán và loại bỏ nhiễu qua nhiều bước.
Các khái niệm như lịch nhiễu, timestep, U-Net, điều kiện hóa và vòng lặp sampling được đặt trong một pipeline PyTorch có thể theo dõi. Người đọc thấy một mô hình tạo ảnh không “vẽ” theo nghĩa thông thường mà học phân phối dữ liệu và khôi phục mẫu có cấu trúc từ nhiễu.
Phần này giúp nối kiến thức CNN với mô hình sinh hiện đại, đồng thời chuẩn bị cho các bài toán cần tài nguyên GPU lớn hơn. Đây cũng là ví dụ tốt về cách PyTorch hỗ trợ một quy trình huấn luyện phức tạp nhưng vẫn có thể phân rã thành tensor, module, loss và optimizer.
Nửa sau của sách dành nhiều chương cho một dự án phát hiện nốt sần và khối u nghi ngờ trên ảnh CT. Đây là điểm khác biệt lớn so với các sách chỉ trình bày notebook nhỏ.
Người đọc phải giải quyết những vấn đề giống dự án thực tế:
Dự án này cho thấy phần lớn công sức của deep learning nằm ngoài việc khai báo model. Chất lượng dataset, sampling, nhãn, metric và pipeline xử lý mới quyết định hệ thống có trả lời đúng bài toán hay không.
Nội dung ảnh y tế mang tính giáo dục và kỹ thuật, không phải hướng dẫn chẩn đoán hoặc thay thế chuyên gia y khoa. Đây là lưu ý quan trọng khi áp dụng code vào các miền có rủi ro cao.
Khi mô hình hoặc dataset vượt quá khả năng của một GPU, người đọc cần hiểu huấn luyện phân tán. Sách trình bày data parallelism, model parallelism, pipeline parallelism và tensor parallelism; đồng thời hướng dẫn khởi tạo chương trình phân tán và phối hợp nhiều tiến trình.
Phần này không chỉ dành cho người có sẵn cụm GPU. Nó giúp AI Engineer hiểu nguyên nhân xuất hiện các lớp hạ tầng như process group, sampler phân tán, đồng bộ gradient và checkpoint. Nhờ vậy, người đọc có thể đánh giá lúc nào nên mở rộng phần cứng và chi phí phức tạp đi kèm.
Chương cuối khép kín vòng đời bằng các lựa chọn triển khai. Gradio giúp tạo giao diện demo nhanh; FastAPI cung cấp endpoint để ứng dụng khác gọi mô hình; ONNX hỗ trợ trao đổi mô hình giữa các runtime; `torch.compile` tối ưu hiệu năng; còn ExecuTorch mở đường đưa mô hình xuống thiết bị di động hoặc edge.
Sách cũng chạm đến profiling, export và C++/LibTorch. Người đọc hiểu deployment không đơn giản là lưu file trọng số. Cần chuẩn hóa preprocessing, đảm bảo đầu vào–đầu ra ổn định, chọn runtime, đo độ trễ và theo dõi sự khác biệt giữa mô hình nghiên cứu với mô hình được phục vụ.
Đây là phần giúp cuốn sách vượt khỏi phạm vi nhập môn. Sau 17 chương, người đọc có bản đồ tương đối đầy đủ từ dữ liệu thô đến dịch vụ dự đoán.
Bản Expert Version đi kèm Code Companion 183 trang, sắp xếp mã nguồn theo chương và theo đơn vị logic để tra cứu nhanh. Sổ tay giữ nguyên identifier, chuỗi, đầu ra notebook, dấu nhắc Python và đánh dấu rõ những đoạn mã chỉ là skeleton hoặc trích đoạn minh họa, không tuyên bố chạy độc lập.
Tổng cộng 576 ví dụ mã nguồn được liên kết với trang nguồn của sách chính. Phần này đặc biệt hữu ích khi người đọc vừa học vừa gõ code, cần tìm nhanh một API, đối chiếu output hoặc xác định đoạn nào phải ghép vào notebook hoàn chỉnh.
Code Companion không thay thế repository chính thức. Khi tái lập môi trường, người đọc vẫn nên dùng requirements và notebook từ kho mã nguồn của sách, đồng thời kiểm tra phiên bản PyTorch, Transformers, Diffusers và các thư viện liên quan.
Người mới học PyTorch nên đọc tuần tự chương 1 đến chương 8 và chạy code sau mỗi phần. Không nên bỏ qua chương tensor và cơ chế học, vì đây là hai phần giúp xử lý phần lớn lỗi shape, dtype, gradient và training loop về sau.
Người đã biết PyTorch cơ bản có thể bắt đầu ở phần 2:
Khi thực hành phần AI tạo sinh và ảnh y tế, GPU sẽ giúp rút ngắn thời gian đáng kể. Nếu không có GPU cục bộ, người đọc có thể dùng môi trường notebook đám mây nhưng cần theo dõi giới hạn tài nguyên và chi phí.
Sách dành cho lập trình viên Python đã có nền tảng machine learning. Người chưa biết Python, đại số tuyến tính, đạo hàm hoặc các khái niệm huấn luyện–xác thực sẽ cần học bổ sung.
Phần 1 có thể thực hành trên máy tính thông thường, nhưng các chương Transformer, diffusion, ảnh CT và huấn luyện đa GPU cần nhiều tài nguyên hơn nếu muốn chạy đầy đủ. Một số mô hình pretrained phải tải dữ liệu lớn và có thể yêu cầu tài khoản hoặc kết nối internet.
PyTorch và hệ sinh thái AI thay đổi nhanh. API, checkpoint hoặc phiên bản thư viện trong code có thể khác môi trường tại thời điểm người đọc thực hành. Giá trị bền vững của sách nằm ở cơ chế tensor, autograd, kiến trúc mô hình, thiết kế pipeline, đánh giá và triển khai; code nên được đối chiếu với repository cùng tài liệu phiên bản hiện hành.
Bản dịch chính có 686 trang, bao phủ đầy đủ 17 chương của Second Edition. Code Companion 183 trang với 576 ví dụ giúp tra cứu mã nguồn; eBook tiếng Anh tặng kèm hỗ trợ đối chiếu thuật ngữ, API và tên kiến trúc.
Sách in ruột đen trắng, bìa mềm full màu, giấy chống lóa mắt hiện đại, chữ và hình in sắc nét. 89ebook cam kết nội dung chuẩn 100% từ sách gốc và áp dụng chính sách lỗi in 1 đổi 1 trong 90 ngày kể từ ngày nhận sách.
Sách hướng dẫn toàn bộ quy trình học sâu bằng PyTorch: tensor, biểu diễn dữ liệu, autograd, mạng nơ-ron, CNN, Transformer, diffusion model, dự án ảnh CT, phân đoạn, huấn luyện nhiều GPU và triển khai production.
Có. Sách gốc được Manning xuất bản tháng 2/2026, bổ sung Transformer, mô hình ngôn ngữ, diffusion, Segment Anything, huấn luyện phân tán và các công cụ triển khai PyTorch hiện đại.
Có, nếu người đọc đã biết Python và có nền tảng machine learning. Sách xây dựng PyTorch từ tensor và autograd, nhưng không phải giáo trình Python nhập môn.
Có. Chương 9 xây dựng Transformer từ embedding, self-attention, causal attention, decoder và tokenization. Nội dung giúp hiểu nền tảng mô hình ngôn ngữ, không nhằm huấn luyện một LLM quy mô thương mại từ đầu.
Có. Chương 10 giải thích forward diffusion, reverse process, dự đoán nhiễu, U-Net và sampling trong pipeline tạo ảnh.
Có. Một dự án nhiều chương sử dụng ảnh CT phổi để xây dataset, classifier, metric, data augmentation và segmentation. Dự án phục vụ mục đích học tập kỹ thuật, không phải công cụ chẩn đoán y khoa.
Có. Chương 17 đề cập Gradio, FastAPI, ONNX, torch.compile, profiling, LibTorch và ExecuTorch.
Gồm bản dịch tiếng Việt 686 trang, Code Companion 183 trang với 576 ví dụ mã nguồn và eBook tiếng Anh tặng kèm. Sản phẩm được bảo hành lỗi in 1 đổi 1 trong 90 ngày kể từ ngày nhận sách.