Giới thiệu về GuppyLM
GuppyLM là một mô hình ngôn ngữ nhỏ (~9 triệu tham số) mô phỏng con cá tên Guppy. Mô hình sử dụng các câu ngắn, chữ thường và nói về chủ đề liên quan đến nước, thức ăn, và cuộc sống trong bể nuôi.
Kiến trúc
- Tham số: 8,7M
- Lớp: 6
- Chiều ẩn: 384
- Đầu: 6
- FFN: 768 (ReLU)
- Vocab: 4.096 (BPE)
- Max sequence: 128 tokens
Mô hình sử dụng cấu trúc transformer cơ bản.
Tính cách của Guppy
- Nói bằng câu ngắn, chữ thường
- Trải nghiệm qua nước, ánh sáng, và nhiệt độ
- Không hiểu các khái niệm trừu tượng của con người
- Thân thiện, tò mò
Bắt đầu nhanh
Thử dùng trong trình duyệt
Chạy hoàn toàn trong trình duyệt thông qua WebAssembly, không cần cài đặt gì thêm.
Trò chuyện với Guppy trên Colab
Tải mô hình từ HuggingFace và thực hiện giao tiếp qua Colab.
Huấn luyện mô hình của bạn
- Thiết lập runtime GPU T4
- Chạy tất cả các cell để tải dataset, huấn luyện tokenizer và mô hình
Trò chuyện cục bộ
Cài đặt và chạy mô hình dựa trên máy cục bộ:
pip install torch tokenizers
python -m guppylm chat
Cấu trúc dự án
guppylm/
├── config.py # Hyperparameters (model + training)
├── model.py # Transformer cơ bản
├── dataset.py # Tải và xử lý dữ liệu
├── train.py # Vòng lặp huấn luyện
Quyết định thiết kế
- Không có hệ thống prompt: Giúp tiết kiệm ~60 tokens mỗi lần inference.
- Chỉ nhận diện đơn lượt: Đảm bảo ổn định hơn trong xử lý câu.
- Dữ liệu tổng hợp: Đảm bảo tính nhất quán cho nhân vật cá.
Giấy phép
MIT