เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้าง Input Embeddings

ถึงเวลาเริ่มสร้างโมเดล transformer ของคุณเองแล้ว! ขั้นตอนแรกคือการแปลง token ID ของ input ให้เป็น embedding

ให้กำหนดคลาส InputEmbeddings ที่มีพารามิเตอร์ดังนี้:

  • vocab_size: ขนาด vocabulary ของโมเดล
  • d_model: จำนวนมิติของ input embedding

ไลบรารี torch และ math รวมถึง torch.nn ในชื่อ nn ได้ถูก import ไว้ให้แล้ว และจะใช้ตลอดแบบฝึกหัดในคอร์สนี้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Transformer Models ด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดจำนวนมิติของโมเดลและขนาด vocabulary ให้กับอาร์กิวเมนต์ d_model และ vocab_size ตามลำดับ
  • สร้าง instance ของ embedding layer
  • คืนค่า embedding ที่คูณด้วยรากที่สองของ self.d_model
  • สร้าง instance ของ InputEmbeddings โดยกำหนด vocab_size เป็น 10,000 และ d_model เป็น 512 แล้วนำไปใช้กับ token_ids

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)
แก้ไขและรันโค้ด