Giải thuật mã hóa BPE khi suy luận (BPE Inference Encoding Algorithm)
Sau khi huấn luyện, ta thu được danh sách các quy tắc gộp merges: list[tuple[str, str]]. Mỗi quy tắc gộp được gán một mức độ ưu tiên (rank), quy tắc nào được học sớm hơn sẽ có rank…
Tiến độ của tôi ở bài này
Điểm đượ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: bpe-training-loop-merge-rules.
Nội dung đề bài
Mô tả bài toán
Sau khi huấn luyện, ta thu được danh sách các quy tắc gộp merges: list[tuple[str, str]]. Mỗi quy tắc gộp được gán một mức độ ưu tiên (rank), quy tắc nào được học sớm hơn sẽ có rank nhỏ hơn (ưu tiên gộp trước): bpe_ranks = {pair: i for i, pair in enumerate(merges)}
Giải thuật mã hóa BPE cho một từ mới khi suy luận:
- Tách từ thành tuple các ký hiệu ban đầu: w = (c1, c2, …, cn).
- Vòng lặp:
- Liệt kê tất cả các cặp liền kề trong w: P = {(wi, wi+1) | i = 0 … |w|-2}.
- Tìm trong P cặp có rank nhỏ nhất trong
bpe_ranks:
p* = argminp ∈ P ∩ bpe_ranks bpe_ranks[p]
- Nếu không có bất kỳ cặp nào nằm trong
bpe_ranks, dừng lại. - Thực hiện gộp tất cả các lần xuất hiện của p* trong w thành ký hiệu mới p*0 + p*1.
- Trả về tuple các subword cuối cùng.
Hãy viết hàm bpe_encode_word(word_symbols: tuple[str, ...], bpe_ranks: dict[tuple[str, str], int]) -> tuple[str, ...].
Input
- Hàm
bpe_encode_word(word_symbols,bpe_ranks): 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
bpe_encode_word: Trả về kết quả kiểutuple[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
bpe_ranks = {('l', 'o'): 0, ('o', 'w'): 1}
bpe_encode_word(('l', 'o', 'w'), bpe_ranks)Output
('lo', 'w')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
bpe_ranks = {('a', 'b'): 0, ('ab', 'c'): 1}Output
{
('a', 'b'): 0,
('ab', 'c'): 1
}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.
