Debug: chẩn đoán lỗi ML dựa trên bằng chứng
Khi job huấn luyện bị lỗi, NaN, OOM, treo hay chậm, skill buộc Claude thăm dò hệ thống và chạy smoke test trước khi kết luận nguyên nhân.
Lập trìnhTrung cấp★ 371⑂ 32Điểm AI 8/10Cập nhật lần cuối: 3 thg 7, 2026
Làm được gì
Ngăn Claude đoán bừa kiểu "có lẽ do batch size" rồi vá lỗi che mất vấn đề thật. Thay vào đó, skill áp đặt quy trình 5 bước:
- Thăm dò rẻ:
ps auxxem tiến trình còn sống/zombie,dmesgvàjournalctltìm oom-kill, lỗi phần cứng, lỗi NFS,nvidia-smixem GPU có thực sự chạy,df -h/du -shxem dung lượng, đọc vài trăm dòng log cuối, kiểm tra thời điểm và kích thước checkpoint. - Nêu giả thuyết và ghi rõ đó là giả thuyết, kèm các khả năng chưa loại trừ.
- Smoke run:
batch_size=1một step, dataset tổng hợp trong RAM,lr=0, chạy 1 GPU… mỗi cách kiểm chứng một giả thuyết trong 30 giây. - Đối chứng: đổi đúng một biến mỗi lần (mixed precision, torch.compile, số worker...) để khoanh vùng cơ chế gây lỗi.
- Kết luận nguyên nhân chỉ khi bằng chứng đủ, và phải trích dẫn output công cụ cụ thể; nếu chưa đủ thì nói "chưa biết" và đề xuất bước thăm dò tiếp.
Phù hợp với ai
- Nghiên cứu viên / kỹ sư ML huấn luyện mô hình bằng PyTorch, torchrun, accelerate trên server GPU Linux
- Người thường xuyên gặp job chết qua đêm trên cluster và phải mò log
- Ai muốn agent chứng minh nguyên nhân bằng dữ liệu thật thay vì sửa code theo cảm tính
Ví dụ sử dụng
- "Tiến trình biến mất sau 3 giờ train" → đối chiếu log oom-kill trong dmesg với thời điểm checkpoint cuối để phân biệt OOM kernel hay bị kill từ ngoài.
- "Loss thành NaN" → chạy smoke với
lr=0để tách lỗi optimizer khỏi lỗi hàm loss. - "GPU util = 0 nhưng vẫn báo đang train" → kiểm tra dataloader bị block qua trạng thái tiến trình và thống kê GPU, rồi đối chứng bằng cách chỉ đổi số worker.
· · · Hướng dẫn cài đặt · · ·
Dùng thử ngay, không cần cài
Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.
Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình: https://raw.githubusercontent.com/fcakyon/phd-skills/HEAD/plugin/skills/debug/SKILL.md Mình muốn: (viết việc bạn cần ở đây)
Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.
↓ Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục plugin/skills/debug từ repo GitHub fcakyon/phd-skills vào ~/.claude/skills/fcakyon-debug/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/fcakyon/phd-skills.git && mkdir -p ~/.claude/skills && cp -r phd-skills/plugin/skills/debug ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal.
- Tải repo:
git clone https://github.com/fcakyon/phd-skills.git - Tạo thư mục skill:
mkdir -p ~/.claude/skills - Copy skill:
cp -r phd-skills/plugin/skills/debug ~/.claude/skills/ - Kiểm tra:
ls ~/.claude/skills/debug/SKILL.md - Khởi động lại Claude Code, rồi yêu cầu ví dụ "debug giúp tôi vì sao run này bị OOM".
- Lưu ý: các lệnh như
nvidia-smi,dmesgchỉ có ý nghĩa trên máy Linux có GPU NVIDIA, nên tốt nhất chạy Claude Code ngay trên server huấn luyện.
Xem mã nguồn trên GitHub ↗Giấy phép: MIT