Sách trực tuyến về kỹ thuật ML
(github.com/stas00)-
Kỹ thuật chiến đấu AI - Những điều cần biết
- Bộ sưu tập mở tổng hợp các phương pháp để huấn luyện thành công các mô hình trí tuệ nhân tạo (ML), đặc biệt là mô hình ngôn ngữ lớn (LLM) và mô hình đa phương thức (VLM).
- Tài liệu kỹ thuật dành cho kỹ sư và người vận hành huấn luyện LLM/VLM, chứa nhiều script và lệnh sao chép-dán để có thể nhanh chóng thực hiện các tác vụ cần thiết.
- Liên tục ghi chép kinh nghiệm và bí quyết thu được trong quá trình huấn luyện mô hình mã nguồn mở BLOOM-176B vào năm 2022 và mô hình đa phương thức IDEFICS-80B vào năm 2023; hiện đang phát triển/huấn luyện các mô hình tăng cường truy xuất mã nguồn mở tại Contextual.AI.
-
Mục lục
- Xin lỗi vì bố cục còn chưa ổn định; hiện đang trong quá trình viết các chương mới và tái cấu trúc nội dung theo hướng trực quan hơn.
-
Các thành phần phần cứng
- Bộ tăng tốc - Các cỗ máy chủ lực của ML, bao gồm GPU, TPU, IPU, FPGA, HPU, QPU, RDU, v.v.
- Mạng - Kết nối bên trong node và giữa các node, cùng cách tính yêu cầu băng thông.
- Lưu trữ - Đĩa và hệ thống tệp cục bộ cũng như phân tán.
- CPU - Nội dung về CPU và affinity.
- Bộ nhớ CPU - Chương ngắn nhất về việc bao nhiêu bộ nhớ CPU là đủ.
-
Hiệu năng
- Khả năng chịu lỗi
- Hiệu năng
- Mạng đa node
- Song song mô hình
-
Vận hành
- SLURM
- Siêu tham số huấn luyện và khởi tạo mô hình
- Tính bất ổn định
-
Phát triển
- Gỡ lỗi lỗi phần mềm và phần cứng
- Thêm về gỡ lỗi
- Khả năng tái lập
- Độ chính xác tensor / kiểu dữ liệu
- Ghi chú về HF Transformers - Mẹo về mô hình nhỏ, tokenizer, dataset, v.v.
-
Khác
- Tài liệu - Biên niên sử LLM/VLM.
-
Lối tắt
- Các công cụ và hướng dẫn thường cần tìm nhanh.
- Công cụ:
all_reduce_bench.py,torch-distributed-gpu-test.py - Hướng dẫn:
debugging pytorch applications,slurm for users,make tiny models/datasets/tokenizers,LLM/VLM chronicles collection
-
Tạo sách
- Nếu muốn tạo PDF hoặc kiểm tra liên kết, hãy xem phần 'Tạo sách'.
-
Lời cảm ơn
- Việc có thể học được những bí quyết này là một đặc quyền chỉ số ít người có được, vì chi phí thuê các cụm tính toán ML quy mô lớn là cực kỳ đắt đỏ.
- Gửi lời cảm ơn đặc biệt tới Thom Wolf và HuggingFace.
-
Đóng góp
- Nếu phát hiện lỗi, lỗi chính tả hoặc có đề xuất cải thiện, bạn nên mở issue hoặc gửi PR.
-
Giấy phép
- Nội dung của trang này được phân phối theo giấy phép Attribution-ShareAlike 4.0 International.
-
Bản đồ kho lưu trữ của tôi
- Học máy: ML Engineering Open Book | ML ways | Porting
- Hướng dẫn: The Art of Debugging
- Ứng dụng: ipyexperiments
- Công cụ và cheat sheet: bash | conda | git | jupyter-notebook | make | python | tensorboard | unix
Ý kiến của GN⁺
- Tài liệu này đóng góp rất lớn cho cộng đồng ML bằng cách cung cấp kiến thức thực tiễn và các công cụ cần thiết để huấn luyện mô hình ngôn ngữ lớn và mô hình đa phương thức.
- Việc chia sẻ bí quyết đúc kết từ kinh nghiệm dự án thực tế giúp các kỹ sư phần mềm mới vào nghề tiếp thu kiến thức thực hành cần thiết cho việc huấn luyện các mô hình ML quy mô lớn.
- Cách tiếp cận mã nguồn mở thúc đẩy việc chia sẻ tri thức và hợp tác trong lĩnh vực ML, đóng vai trò quan trọng trong việc tăng tốc nghiên cứu và đổi mới.
1 bình luận
Ý kiến trên Hacker News
Bài viết này thực sự rất giá trị. Tôi đang làm công việc gỡ lỗi các cấu hình huấn luyện LLM để hỗ trợ nghiên cứu, và tôi ước gì mình đã có những ghi chú như thế này ngay từ khi bắt đầu.
Tôi làm việc cùng một Applied Scientist và hỗ trợ các công việc liên quan đến huấn luyện và triển khai mô hình; một người như tôi có thể tiếp cận với các công việc kỹ thuật ở tầng thấp hơn như tối ưu hóa, hiệu năng, v.v. bằng cách nào? Chúng tôi có một đội ML infra, nhưng mục tiêu của họ là xây dựng công cụ xoay quanh nền tảng chứ không nhất thiết là chạy workload một cách tối ưu.
Tôi muốn thử nghiệm cái này, nhưng lại không có GPU đủ tốt. Mọi người thường chạy những thứ này như thế nào?
Thực sự cảm ơn vì mọi điều trong mục "Unsolicited Advice" của phần AI Battlefield [1]. Đây là một góc nhìn rất thực tế về việc luôn chật vật để theo kịp tốc độ phát triển chóng mặt của AI và gánh nặng cảm xúc đi kèm với điều đó.
Slurm được sử dụng rộng rãi đến mức nào?
Tôi đã bấm ngẫu nhiên rồi đọc về repeatability, nhưng vẫn thắc mắc điều này được đạt được như thế nào trong huấn luyện phân tán. Việc đồng bộ hóa mang tính quyết định chẳng phải sẽ làm mọi thứ chậm đi sao? Tuy vậy, ít nhất tôi có nghe nói rằng ở một vài công ty lớn, quá trình huấn luyện của họ là có thể lặp lại được.
Khi chưa có việc làm thì làm sao để tích lũy kinh nghiệm với những thứ như thế này?
Có bản pdf ở đâu đó không? Có vẻ như có cách để build nó, nhưng lại không thấy file thực tế.