Phân tách tiền xử lý bằng Regex (GPT-2 / GPT-4 Regex Pre-tokenization)
Trước khi thuật toán BPE thực hiện gộp các cặp, các mô hình ngôn ngữ lớn hiện đại (GPT-2, GPT-4, LLaMA) luôn chạy một bước Pre-tokenization bằng biểu thức chính quy (Regex).
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: byte-level-bpe-byte-encoder-decoder.
Nội dung đề bài
Mô tả bài toán
Trước khi thuật toán BPE thực hiện gộp các cặp, các mô hình ngôn ngữ lớn hiện đại (GPT-2, GPT-4, LLaMA) luôn chạy một bước Pre-tokenization bằng biểu thức chính quy (Regex).
Mục đích: Ngăn chặn BPE gộp các ký tự xuyên qua ranh giới tự nhiên (ví dụ: không cho phép gộp dấu phẩy với từ tiếp theo, hoặc gộp chữ số với chữ cái).
Mẫu Regex chuẩn của GPT-2:
GPT2_SPLIT_PATTERN = r"""'s|'t|'re|'ve|'m|'ll|'d| ?\w+| ?[^\s\w]+|\s+(?!\S)|\s+"""Hãy viết hàm regex_pretokenize(text: str) -> list[str]:
- Sử dụng mẫu regex phân rã văn bản đầu vào text thành danh sách các chuỗi con.
- Đảm bảo ghép lại toàn bộ các chuỗi con sẽ khôi phục chính xác 100% văn bản ban đầu: "".join(tokens) == text (Lossless Preservation).
- Nếu text rỗng, trả về danh sách rỗng [].
Input
- Hàm regex_pretokenize(text): Các tham số đầu vào chứa dữ liệu Tensor/mảng NumPy hoặc giá trị siêu tham số tương ứng.
Output
- Hàm regex_pretokenize: Trả về kết quả kiểu list[str] theo đúng đặc tả kỹ thuật và kích thước quy định.
Ràng buộc
- Thời gian chạy tối đa: 6000ms.
- Giới hạn bộ nhớ: 512MB.
- Dữ liệu đầu vào hợp lệ theo đúng kiểu dữ liệu và miền giá trị được mô tả.
Ví dụ 1
Input
text = "Hello, world! It's an AI model: 100% fast."
tokens = regex_pretokenize(text)
Output
['Hello', ',', ' world', '!', ' It', "'s", ' an', ' AI', ' model', ':', ' 100', '%', ' fast', '.']
Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Ví dụ 2
Input
text = 'Cost: $15.50.' tokens = regex_pretokenize(text) ``` ### Output ```python ['Cost', ':', ' $', '15', '.', '50', '.']
Giải thích
Hàm/lớp được gọi với các tham số mẫu trên và trả về kết quả số học / kích thước tensor tương ứng theo đúng thiết kế.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
