Giới thiệu về GuppyLM
GuppyLM là một mô hình ngôn ngữ nhỏ, được tạo ra để nói như một con cá tên Guppy. Mô hình này sử dụng khoảng 9 triệu tham số và có thể chạy trong trình duyệt. GuppyLM nói về nước, thức ăn, ánh sáng, và cuộc sống trong bể.
Cấu trúc
- Tham số: 8.7M
- Lớp: 6
- Hidden dim: 384
- Heads: 6
- FFN: 768 (ReLU)
- Từ vựng: 4,096 (BPE)
- Max sequence: 128 tokens
- Norm: LayerNorm
Tính cách của Guppy
- Nói câu ngắn, không viết hoa.
- Cảm nhận thế giới qua nước, nhiệt độ, ánh sáng, và thức ăn.
- 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ò, và có chút ngô nghê.
60 chủ đề: chào hỏi, cảm xúc, nhiệt độ, thức ăn, ánh sáng, nước, bể, tiếng ồn, bong bóng, màu sắc, thực vật, và hơn nữa.
Bắt đầu nhanh
Thử trên trình duyệt
Chạy hoàn toàn trên trình duyệt qua WebAssembly. Tải về một mô hình ONNX (~10 MB) và chạy inference nội bộ.
Trò chuyện với Guppy trên Colab
Tự huấn luyện
- Chọn runtime T4 GPU
- Chạy tất cả cell — tải dataset, huấn luyện tokenizer, huấn luyện mô hình, kiểm tra.
Cấu trúc dự án
gu...lm/
|- config.py
|- model.py
|- dataset.py
|- train.py
|- generate_data.py
|- eval_cases.py
|- prepare_data.py
|- inference.py
Quyết định thiết kế
- Tại sao không có system prompt? Mọi mẫu đều giống nhau. Loại bỏ phần này giúp tiết kiệm ~60 tokens mỗi lần inference.
- Tại sao dữ liệu tổng hợp? Tính cách nhất quán cần dữ liệu huấn luyện nhất quán. Thành phần mẫu tạo ra đầu ra độc nhất từ các mẫu nhất định.
Giấy phép
MIT