OpenArchLabOpen Architecture — From Models to Systems

L0/L3 · Lifecycle

Checkpoint, artifact và việc nạp mô hình

Quản lý bộ hồ sơ mô hình (trọng số, cấu hình, tokenizer) và quy trình nạp tham số từ đĩa lưu trữ lên bộ nhớ GPU.

LESSON ID weights GROUP Kiến trúc Inference
Mục lục bài học

1Định nghĩa

Weights là tập hợp các ma trận tham số số học đã đúc kết được sau quá trình huấn luyện; một bản lưu các trọng số này trên đĩa gọi là checkpoint. Để phục vụ suy luận chính xác, một gói mô hình (model artifact) không chỉ có file trọng số (thường lưu ở định dạng safetensors để đọc trực tiếp vào bộ nhớ), mà bắt buộc phải đi kèm file cấu hình kiến trúc (config.json), tokenizer và khuôn mẫu hội thoại đồng bộ phiên bản.

Khi worker khởi động, bộ nạp (model loader) kiểm tra tính toàn vẹn của gói artifact rồi đọc các tensor trọng số vào bộ nhớ HBM — hoặc cắt thành từng mảnh (shards) tương ứng nếu chạy song song nhiều GPU. Khác với checkpoint phục vụ huấn luyện tiếp phải lưu kèm trạng thái bộ tối ưu (AdamW), gói phục vụ suy luận chỉ nạp phần trọng số tham gia tính forward.

Ví dụ đời thường: Bộ trọng số (weights) và các file đi kèm giống như cuốn sổ công thức nấu ăn bí truyền kèm bộ muỗng đong tiêu chuẩn của một nhà hàng. Trước khi mở cửa đón khách, đầu bếp phải mang đúng cuốn công thức đó từ tủ két sắt ra đặt lên bàn bếp (nạp vào HBM) và dùng đúng bộ muỗng đong đi kèm (tokenizer/config) thì món ăn nấu ra mới đúng hương vị đã học.

2Luồng

Sơ đồ luồng (4 bước)
  1. Chọn artifact

    Kiểm tra version và nguồn dữ liệu.

  2. Nạp đúng partition

    Đưa weights và metadata tới workers.

  3. Warmup và kiểm tra

    Thử forward và chuẩn bị runtime.

  4. Ready để phục vụ

    Router bắt đầu chuyển traffic.

Mã Mermaid
flowchart TD
  step1["Chọn artifact"]
  step2["Nạp đúng partition"]
  step3["Warmup và kiểm tra"]
  step4["Ready để phục vụ"]
  step1 --> step2
  step2 --> step3
  step3 --> step4

3Giải pháp

Lưu version model/tokenizer/config cùng nhau; xác minh artifact trước khi rollout. Cache artifact gần worker có thể giảm thời gian load.

Artifact đã compile chỉ tái dùng khi phù hợp hardware, dtype và shape assumptions. Có sẵn file không đồng nghĩa worker sẵn sàng.

4Profiling

  • Load và warmup

    Đo từng bước, cả lần tải đầu và lần dùng local cache.

  • Memory sau load

    Đối chiếu expected weights/shards với memory thực tế; kiểm tra checksum/version.

Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.

5Ví dụ

Resume training

Nạp thêm optimizer và tiến độ để giữ đúng chuỗi cập nhật.

Serving nhiều version

Mỗi replica khai báo bộ version rõ để router và prefix caching không trộn state giữa models.

6Thuật ngữ

Manifest
Danh sách định danh/version và thông tin tương thích của bộ artifact.
Sharding weights
Chia tham số thành các phần để lưu hoặc nạp trên nhiều workers.
Glossary (9)
Data type
Kiểu dữ liệu của tensor, quyết định cách biểu diễn số.
Checkpoint
Bản lưu trạng thái model; phạm vi states phụ thuộc mục đích serving hay resume.
Tokenizer
Bộ chuyển đổi văn bản và chuỗi mã token theo bảng từ vựng.
Prefix
Phần đầu của một chuỗi token; cache reuse cần phần đầu tương thích.
Cache
Bộ nhớ giữ kết quả có thể dùng lại; trong attention thường giữ key/value vectors.
Runtime
Phần mềm quản lý việc thực thi, buffers và phụ thuộc giữa phép toán.
Warmup
Chạy chuẩn bị để hoàn tất khởi tạo, compilation/capture hoặc ổn định execution trước đo.
Forward pass
Tính kết quả model từ đầu vào theo weights hiện tại.
Tensor shape
Kích thước các chiều của tensor; ảnh hưởng layout, kernel và memory.

7Bài liên quan

8Nguồn