Bắt đầu ngayBắt đầu miễn phí

Tạo input embeddings

Đến lúc bắt tay xây dựng mô hình transformer của riêng bạn, và bước đầu tiên là nhúng (embed) các ID token đầu vào!

Bạn sẽ định nghĩa một lớp InputEmbeddings với các tham số sau:

  • vocab_size: kích thước từ vựng của mô hình
  • d_model: số chiều của các input embedding

Thư viện torchmath đã được nhập sẵn cho bạn, cùng với torch.nn dưới tên nn. Chúng sẽ được sử dụng xuyên suốt các bài tập trong khóa học.

Bài tập này là một phần của khóa học

Các mô hình Transformer với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Gán số chiều mô hình và kích thước từ vựng lần lượt từ các đối số d_modelvocab_size.
  • Khởi tạo lớp embedding.
  • Trả về các embedding đã được nhân với căn bậc hai của self.d_model.
  • Khởi tạo InputEmbeddings với vocab_size bằng 10.000 và d_model bằng 512, rồi áp dụng nó lên token_ids.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

class InputEmbeddings(nn.Module):
    def __init__(self, vocab_size: int, d_model: int) -> None:
        super().__init__()
        # Set the model dimensionality and vocabulary size
        self.d_model = ____
        self.vocab_size = ____
        # Instantiate the embedding layer
        self.embedding = ____

    def forward(self, x):
        # Return the embeddings multiplied by the square root of d_model
        return ____

# Instantiate InputEmbeddings and apply it to token_ids
embedding_layer = ____
output = ____
print(output.shape)
Chỉnh sửa và Chạy Mã