TopGit
Đánh giá repo GitHub

makemore character-level language model

karpathy/makemore
MTopGit review image for karpathy/makemore
Review by Topgit.dev for karpathy/makemore, with GitHub repository stats and README context.
Nhận định nhanh

makemore là chương trình Python nhỏ gọn để học cách mô hình ngôn ngữ tự hồi quy sinh văn bản. Đáng dùng cho học tập và thử nghiệm vì một tệp duy nhất trình bày bigram, mạng nơ-ron và Transformer. Không phù hợp khi cần thư viện được duy trì, mô hình huấn luyện sẵn hoặc tính năng phục vụ sản phẩm.

Sao
★ 4.5k
Fork
⑂ 1.1k
Người đóng góp
👥 2
Ngôn ngữ
Python
Giấy phép
MIT
Chủ đề
—
Cập nhật
Jun 2024
Trang chủ
—
GitHub

A minimal character-level language model

makemore là chương trình Python chạy từ dòng lệnh, học mô hình ngôn ngữ tự hồi quy ở mức ký tự từ tệp văn bản thuần. Mỗi dòng là một ví dụ huấn luyện, còn mô hình tạo ra chuỗi giống tên hoặc giống từ. Đây là mã nguồn giảng dạy cố ý viết gọn, không phải dịch vụ văn bản cho sản phẩm.

Supported model architectures

  • ✓Các lựa chọn mô hình gồm bigram, MLP, RNN, LSTM, GRU và Transformer.
  • ✓Mô hình ở mức ký tự tạo từng ký tự tiếp theo thay vì bắt đầu từ các từ hoàn chỉnh.
  • ✓Phiên bản CNN có trong mã nhưng README vẫn đánh dấu là đang hoàn thiện.
  • ✓PyTorch là yêu cầu phần mềm duy nhất được README nêu.
  • ✓Cấu hình mặc định dùng Transformer nhỏ với 200K tham số.
  • ✓Tiến trình huấn luyện và các chuỗi được tạo được in ra trong lúc học.
  • ✓Nhật ký và tệp mô hình đã lưu được ghi vào thư mục kết quả.
  • ✓Tệp names.txt đi kèm cung cấp tập dữ liệu ví dụ dùng được ngay.
Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao ↗

Training and sampling names

Huấn luyện với mỗi mục nằm trên một dòng trong tệp đầu vào: bash python makemore.py -i names.txt -o names Tiến trình huấn luyện, nhật ký và mô hình được ghi vào thư mục `names`. Các chuỗi mới xuất hiện trong lúc huấn luyện. Để nạp mô hình tốt nhất đã lưu và yêu cầu tạo thêm, chạy lệnh sau ở terminal khác: bash python makemore.py -i names.txt -o names --sample-only Sau đó có thể tiếp tục tạo thêm chuỗi.

Strengths

  • ✓Thiết kế trong một tệp giúp toàn bộ quá trình huấn luyện và tạo kết quả nằm gọn trong tầm nhìn của người đọc.
  • ✓PyTorch là phụ thuộc duy nhất được nêu, còn GPU không bắt buộc.
  • ✓Nhiều kiến trúc cho phép so sánh bigram đơn giản với MLP, mạng hồi quy, mạng tích chập và Transformer.
  • ✓Các chuỗi được hiển thị trong lúc huấn luyện, còn mô hình tốt nhất đã lưu có thể tạo thêm kết quả sau đó.
  • ✓Giấy phép MIT cho phép nghiên cứu, sửa đổi và tái sử dụng mã nguồn trong phạm vi điều khoản.
  • ✓Bộ dữ liệu tên đi kèm giúp lệnh cơ bản chạy được mà không cần chuẩn bị tập dữ liệu bên ngoài.

Designed for learning, not production

  • △Dự án được thiết kế rõ ràng cho mục đích học tập nên thiếu cơ chế đóng gói, các điều khiển vận hành và hành vi cần có trong thư viện được duy trì.
  • △Cách sinh ở mức ký tự dựa trên các dòng ví dụ riêng lẻ, không phù hợp để mô hình hóa cấu trúc tài liệu phức tạp hoặc định dạng văn xuôi dài.
  • △Phiên bản CNN vẫn được mô tả là đang hoàn thiện.
  • △Chất lượng sinh kết quả phụ thuộc vào tập dữ liệu và các tham số huấn luyện, nên có thể phải điều chỉnh để đạt kết quả mong muốn.
  • △Dự án không ghi tài liệu cho API, lớp dịch vụ hay quy trình triển khai.

Choosing a model architecture

Frequently asked questions

makemore là thư viện hay chương trình dòng lệnh?

makemore là chương trình dòng lệnh, không phải thư viện để nhập vào ứng dụng khác. README mô tả dự án gồm một tệp dễ sửa đổi và chỉ nêu PyTorch là yêu cầu phần mềm duy nhất.

makemore hỗ trợ những kiến trúc mô hình nào?

makemore gồm bigram, MLP, CNN, RNN, LSTM, GRU và Transformer. README đánh dấu phần CNN vẫn đang hoàn thiện; các mô hình còn lại trình bày phạm vi từ bảng đếm đơn giản đến mô hình theo kiểu GPT.

Làm cách nào để tạo tên mới bằng makemore?

Hãy chuẩn bị tệp văn bản có mỗi tên trên một dòng, rồi chạy `python makemore.py -i names.txt -o names`. Quá trình huấn luyện in các tên được tạo và ghi mô hình, nhật ký cùng tiến trình vào thư mục kết quả `names`.

Làm cách nào để nạp mô hình tốt nhất đã lưu và tạo thêm kết quả?

Chạy `python makemore.py -i names.txt -o names --sample-only` từ thư mục dự án. Lệnh này nạp mô hình tốt nhất đã lưu và in thêm các chuỗi theo yêu cầu.

makemore có cần GPU để huấn luyện không?

Không. makemore có thể huấn luyện trên phần cứng thông thường mà không cần thiết bị tăng tốc riêng, dù README lưu ý GPU sẽ giúp quá trình huấn luyện nhanh hơn.

makemore có được dùng thương mại không?

Có. makemore được phân phối theo giấy phép MIT, cho phép sử dụng thương mại theo các điều khoản của giấy phép. Tuy nhiên, mã nguồn gọn và mang tính giáo dục nên khả năng dùng trong sản phẩm vẫn phụ thuộc vào kiểm thử và nhu cầu triển khai của bạn.

Best use cases

  • •Biến một bộ tên thành các tên mới trong lúc tìm hiểu cách sinh văn bản tự hồi quy ở mức ký tự.
  • •Khám phá khác biệt giữa bigram, MLP, RNN, LSTM, GRU và Transformer thông qua mã nguồn có thể sửa đổi.
  • •Sinh ý tưởng tên công ty từ danh sách tên công ty hiện có, mỗi tên nằm trên một dòng.
  • •Tạo chuỗi giống tiếng Anh từ danh sách từ hợp lệ dùng trong Scrabble.
  • •Dạy mô hình ngôn ngữ mạng nơ-ron theo trình tự từ bảng đếm ký tự đến Transformer theo kiểu GPT.

How to install / try

Cài đặt từ mã nguồn của kho lưu trữ. README không ghi lệnh cài đặt bằng trình quản lý gói; tài liệu chỉ nêu PyTorch là yêu cầu duy nhất. Sao chép kho lưu trữ, bảo đảm PyTorch có sẵn trong môi trường Python, rồi chạy `python makemore.py` từ thư mục dự án.

Who should try it — and who should skip

Nên thử makemore nếu bạn đang học mô hình tự hồi quy, muốn đọc cách triển khai PyTorch của nhiều kiến trúc hoặc cần thử nhanh việc tạo tên và từ. Hãy bỏ qua nếu cần mô hình huấn luyện sẵn, API ổn định, sinh văn bản có thể mở rộng hoặc hỗ trợ sản phẩm.

Nguồn & ghi công

Dựa trên kho lưu trữ GitHub karpathy/makemore tại https://github.com/karpathy/makemore và README của dự án.

Dữ liệu GitHub · đồng bộ lần cuối 25 thg 10, 2026Đánh giá bởi Henry
← Về TopGit

Muốn nghe thêm một ý kiến về makemore?

Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về makemore.

GitHub