OpenArch: Thư viện PyTorch tái hiện kiến trúc các mô hình LLM hiện đại để học tập

Phần mềm14 tháng 9, 2026·5 phút đọc

OpenArch là dự án mã nguồn mở cung cấp các bản triển khai PyTorch viết tay cho những kiến trúc LLM mã nguồn mở hiện đại như Llama 3, DeepSeek R1, Qwen 3 hay Kimi K2. Mục tiêu không phải cạnh tranh với các thư viện sản xuất mà là làm rõ cấu trúc bên trong của từng mô hình, giúp lập trình viên và nhà nghiên cứu dễ đọc, dễ so sánh và học hỏi.

OpenArch: Thư viện PyTorch tái hiện kiến trúc các mô hình LLM hiện đại để học tập

OpenArch: Thư viện PyTorch tái hiện kiến trúc các mô hình LLM hiện đại để học tập

Trong bối cảnh các mô hình ngôn ngữ lớn (LLM) ngày càng phức tạp, việc đọc hiểu mã nguồn chính thức của chúng trở thành một thách thức không nhỏ. OpenArch ra đời như một giải pháp cho vấn đề đó: một kho lưu trữ GitHub tập hợp các bản triển khai PyTorch viết tay, mỗi mô hình nằm gọn trong một file duy nhất, phục vụ mục đích học tập và nghiên cứu.

Điểm khác biệt của OpenArch

Hầu hết các mô hình LLM hiện đại đều chia sẻ một bộ khung chung, nhưng khác biệt ở hàng chục lựa chọn nhỏ nhưng quan trọng. Các thư viện sản xuất như transformers của Hugging Face thường tối ưu cho tốc độ, khả năng chia nhỏ mô hình và tương thích ngược, khiến mã nguồn trở nên khó đọc với người mới.

OpenArch chọn hướng ngược lại: tối ưu cho việc đọc hiểu. Mỗi kiến trúc được triển khai dựa trên bài báo gốc, báo cáo kỹ thuật, file cấu hình tham chiếu và các bài viết phân tích của chuyên gia. Các quyết định cấu trúc như loại attention, chuẩn hóa, cách trộn lớp, định tuyến MoE hay mã hóa vị trí đều được thể hiện tường minh, giúp người đọc so sánh trực tiếp giữa các mô hình.

Mục tiêu không phải là cạnh tranh với transformers hay các thư viện sản xuất. Mục tiêu là sự rõ ràng và học tập.

Những gì đã được triển khai

Tính đến thời điểm hiện tại, OpenArch đã hoàn thiện nhiều kiến trúc quan trọng, trải dài từ các mô hình văn bản đến đa phương thức:

  • GPT-2 XL (1.5B tham số) — attention đa đầu cổ điển, mã hóa vị trí tuyệt đối
  • Llama 2 (7B) — RMSNorm kết hợp RoPE
  • Llama 3 (8B) — chuyển sang Grouped Query Attention
  • OLMo 2 (7B) — bổ sung QK-Norm bên cạnh RMSNorm
  • DeepSeek R1 (671B) — sử dụng Multihead Latent Attention và có Mixture of Experts
  • Gemma 3 (27B) — attention cửa sổ trượt
  • Mistral 3 (24B) — GQA kết hợp cửa sổ trượt
  • Llama 4 Maverick (400B) — GQA với MoE
  • Qwen 3 — nhiều kích thước, bản 30B-A3B có MoE
  • Kimi K2 (1T tham số) — MLA kết hợp MoE
  • GLM 4.5 (355B) — kết hợp GQA và Multi-Token Prediction
  • GPT-OSS (20B) — GQA cửa sổ trượt với MoE
  • PaliGemma (3B) — mô hình đa phương thức đầu tiên được hoàn thiện

Ngoài ra, các mô hình như Grok-2.5, Qwen3 đa phương thứcDALL-E đang trong quá trình xây dựng. Danh sách mục tiêu đầy đủ phản chiếu 72 kiến trúc trong LLM Architecture Gallery của Sebastian Raschka.

Những khác biệt kiến trúc được làm rõ

Điểm giá trị nhất của OpenArch nằm ở việc phơi bày những lựa chọn thiết kế mà các bài báo thường chỉ đề cập thoáng qua:

  • Attention: MHA, GQA, MQA, MLA, cửa sổ trượt, hoặc lai với DeltaNet tuyến tính
  • Chuẩn hóa: pre-norm, post-norm, QK-Norm, sandwich norm, RMSNorm
  • Mã hóa vị trí: RoPE, NoPE, RoPE một phần, YaRN
  • Loại decoder: dense so với sparse MoE (có hoặc không có shared experts), lai Mamba/attention
  • Thủ thuật huấn luyện: dự đoán đa token, latent experts, gated attention

Việc đặt các lựa chọn này cạnh nhau trong những file riêng biệt giúp người đọc nhanh chóng nhận ra xu hướng tiến hóa của kiến trúc LLM qua từng thế hệ.

Cấu trúc kho lưu trữ

Mỗi mô hình sống trong thư mục riêng với file model.py và một README.md ngắn mô tả các lựa chọn kiến trúc cùng tài liệu tham khảo. Cách tổ chức này giúp việc điều hướng và đối chiếu trở nên thuận tiện:

OpenArch/
├── text/
│   ├── gpt2/
│   ├── llama3/
│   ├── qwen3/
│   ├── grok2.5/
│   └── deepseek_v3/
├── multimodal/
│   └── pali-gemma/
├── README.md
└── requirements.txt

Cơ hội đóng góp cho cộng đồng

Tác giả đang tích cực tìm kiếm người đóng góp, đặc biệt là những ai yêu thích đọc bài báo khoa học và so sánh file cấu hình. Các đóng góp được khuyến khích bao gồm:

  • Chọn một mô hình chưa triển khai và thêm model.py cho nó
  • Viết README.md cho mô hình hiện có, ghi lại các lựa chọn kiến trúc
  • Thêm bài kiểm tra forward-pass tải trọng số chính thức và đối chiếu kết quả
  • Sửa lỗi, cải thiện docstring hoặc tái cấu trúc các thành phần dùng chung

Nguyên tắc cốt lõi: ưu tiên khả năng đọc hơn hiệu năng, bởi đây trước hết là một tài nguyên học tập. Dự án được cấp phép theo Apache License 2.0.

Ý nghĩa với cộng đồng lập trình viên Việt Nam

Với các kỹ sư AI và sinh viên Việt Nam đang tìm hiểu sâu về LLM, OpenArch là một tài nguyên quý giá. Thay vì phải vật lộn với hàng nghìn dòng mã tối ưu hóa trong các kho chính thức, người học có thể bắt đầu từ những file đơn giản, dễ đọc, rồi dần dần mở rộng hiểu biết.

Đặc biệt, các mô hình như Qwen 3 hay DeepSeek R1 đang được cộng đồng nghiên cứu và ứng dụng mạnh mẽ tại Việt Nam. Việc có một bản triển khai tường minh để tham chiếu sẽ hỗ trợ đáng kể cho các dự án fine-tune, tối ưu suy luận hoặc nghiên cứu kiến trúc mới.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗