3. Token Embeddings

Token Embeddings

เคŸเฅ‡เค•เฅเคธเฅเคŸ เคกเฅ‡เคŸเคพ เค•เฅ‹ เคŸเฅ‹เค•เคจเคพเค‡เคœเคผ เค•เคฐเคจเฅ‡ เค•เฅ‡ เคฌเคพเคฆ, เคฌเคกเคผเฅ‡ เคญเคพเคทเคพ เคฎเฅ‰เคกเคฒ (LLMs) เคœเฅˆเคธเฅ‡ GPT เค•เฅ‡ เคฒเคฟเค เคกเฅ‡เคŸเคพ เคคเฅˆเคฏเคพเคฐ เค•เคฐเคจเฅ‡ เคฎเฅ‡เค‚ เค…เค—เคฒเคพ เคฎเคนเคคเฅเคตเคชเฅ‚เคฐเฅเคฃ เค•เคฆเคฎ เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เคฌเคจเคพเคจเคพ เคนเฅˆเฅค เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เคกเคฟเคธเฅเค•เฅเคฐเฅ€เคŸ เคŸเฅ‹เค•เคจ (เคœเฅˆเคธเฅ‡ เคถเคฌเฅเคฆ เคฏเคพ เคธเคฌเคตเคฐเฅเคก) เค•เฅ‹ เคจเคฟเคฐเค‚เคคเคฐ เคธเค‚เค–เฅเคฏเคพเคคเฅเคฎเค• เคตเฅ‡เค•เฅเคŸเคฐ เคฎเฅ‡เค‚ เคชเคฐเคฟเคตเคฐเฅเคคเคฟเคค เค•เคฐเคคเฅ‡ เคนเฅˆเค‚ เคœเคฟเคธเฅ‡ เคฎเฅ‰เคกเคฒ เคชเฅเคฐเฅ‹เคธเฅ‡เคธ เค•เคฐ เคธเค•เคคเคพ เคนเฅˆ เค”เคฐ เค‰เคธเคธเฅ‡ เคธเฅ€เค– เคธเค•เคคเคพ เคนเฅˆเฅค เคฏเคน เคตเฅเคฏเคพเค–เฅเคฏเคพ เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ, เค‰เคจเค•เฅ‡ เคชเฅเคฐเคพเคฐเค‚เคญเคฟเค•เค•เคฐเคฃ, เค‰เคชเคฏเฅ‹เค— เค”เคฐ เคŸเฅ‹เค•เคจ เค…เคจเฅเค•เฅเคฐเคฎเฅ‹เค‚ เค•เฅ€ เคธเคฎเค เค•เฅ‹ เคฌเคขเคผเคพเคจเฅ‡ เคฎเฅ‡เค‚ เคธเฅเคฅเคฟเคคเคฟ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เฅ€ เคญเฅ‚เคฎเคฟเค•เคพ เค•เฅ‹ เคคเฅ‹เคกเคผเคคเฅ€ เคนเฅˆเฅค

เค‡เคธ เคคเฅ€เคธเคฐเฅ‡ เคšเคฐเคฃ เค•เคพ เคฒเค•เฅเคทเฅเคฏ เคฌเคนเฅเคค เคธเคฐเคฒ เคนเฅˆ: เคถเคฌเฅเคฆเค•เฅ‹เคถ เคฎเฅ‡เค‚ เคชเคฟเค›เคฒเฅ‡ เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคŸเฅ‹เค•เคจ เค•เฅ‹ เคฎเฅ‰เคกเคฒ เค•เฅ‹ เคชเฅเคฐเคถเคฟเค•เฅเคทเคฟเคค เค•เคฐเคจเฅ‡ เค•เฅ‡ เคฒเคฟเค เค‡เคšเฅเค›เคฟเคค เค†เคฏเคพเคฎเฅ‹เค‚ เค•เคพ เคเค• เคตเฅ‡เค•เฅเคŸเคฐ เค…เคธเคพเค‡เคจ เค•เคฐเฅ‡เค‚เฅค เคถเคฌเฅเคฆเค•เฅ‹เคถ เคฎเฅ‡เค‚ เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคถเคฌเฅเคฆ X เค†เคฏเคพเคฎเฅ‹เค‚ เค•เฅ‡ เคเค• เคธเฅเคฅเคพเคจ เคฎเฅ‡เค‚ เคเค• เคฌเคฟเค‚เคฆเฅ เคนเฅ‹เค—เคพเฅค เคงเฅเคฏเคพเคจ เคฆเฅ‡เค‚ เค•เคฟ เคชเฅเคฐเคพเคฐเค‚เคญ เคฎเฅ‡เค‚ เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคถเคฌเฅเคฆ เค•เฅ€ เคธเฅเคฅเคฟเคคเคฟ "เคฏเคพเคฆเฅƒเคšเฅเค›เคฟเค•" เคฐเฅ‚เคช เคธเฅ‡ เคชเฅเคฐเคพเคฐเค‚เคญ เค•เฅ€ เคœเคพเคคเฅ€ เคนเฅˆ เค”เคฐ เคฏเฅ‡ เคธเฅเคฅเคฟเคคเคฟเคฏเคพเค เคชเฅเคฐเคถเคฟเค•เฅเคทเคฟเคค เค•เคฐเคจเฅ‡ เคฏเฅ‹เค—เฅเคฏ เคชเฅˆเคฐเคพเคฎเฅ€เคŸเคฐ เคนเฅˆเค‚ (เคชเฅเคฐเคถเคฟเค•เฅเคทเคฃ เค•เฅ‡ เคฆเฅŒเคฐเคพเคจ เคธเฅเคงเคพเคฐเคฟเคค เคนเฅ‹เค‚เค—เฅ€)เฅค

เค‡เคธเค•เฅ‡ เค…เคฒเคพเคตเคพ, เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เค•เฅ‡ เคฆเฅŒเคฐเคพเคจ เคเค• เค”เคฐ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เฅ€ เคชเคฐเคค เคฌเคจเคพเคˆ เคœเคพเคคเฅ€ เคนเฅˆ เคœเฅ‹ (เค‡เคธ เคฎเคพเคฎเคฒเฅ‡ เคฎเฅ‡เค‚) เคชเฅเคฐเคถเคฟเค•เฅเคทเคฃ เคตเคพเค•เฅเคฏ เคฎเฅ‡เค‚ เคถเคฌเฅเคฆ เค•เฅ€ เคจเคฟเคฐเคชเฅ‡เค•เฅเคท เคธเฅเคฅเคฟเคคเคฟ เค•เคพ เคชเฅเคฐเคคเคฟเคจเคฟเคงเคฟเคคเฅเคต เค•เคฐเคคเฅ€ เคนเฅˆเฅค เค‡เคธ เคคเคฐเคน เคตเคพเค•เฅเคฏ เคฎเฅ‡เค‚ เคตเคฟเคญเคฟเคจเฅเคจ เคธเฅเคฅเคฟเคคเคฟเคฏเฅ‹เค‚ เคฎเฅ‡เค‚ เคเค• เคถเคฌเฅเคฆ เค•เคพ เค…เคฒเค— เคชเฅเคฐเคคเคฟเคจเคฟเคงเคฟเคคเฅเคต (เค…เคฐเฅเคฅ) เคนเฅ‹เค—เคพเฅค

What Are Token Embeddings?

Token Embeddings เคจเคฟเคฐเค‚เคคเคฐ เคตเฅ‡เค•เฅเคŸเคฐ เคธเฅเคชเฅ‡เคธ เคฎเฅ‡เค‚ เคŸเฅ‹เค•เคจ เค•เฅ‡ เคธเค‚เค–เฅเคฏเคพเคคเฅเคฎเค• เคชเฅเคฐเคคเคฟเคจเคฟเคงเคฟเคคเฅเคต เคนเฅˆเค‚เฅค เคถเคฌเฅเคฆเค•เฅ‹เคถ เคฎเฅ‡เค‚ เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคŸเฅ‹เค•เคจ เคเค• เค…เคฆเฅเคตเคฟเคคเฅ€เคฏ เคจเคฟเคถเฅเคšเคฟเคค เค†เคฏเคพเคฎเฅ‹เค‚ เค•เฅ‡ เคตเฅ‡เค•เฅเคŸเคฐ เคธเฅ‡ เคœเฅเคกเคผเคพ เคนเฅ‹เคคเคพ เคนเฅˆเฅค เคฏเฅ‡ เคตเฅ‡เค•เฅเคŸเคฐ เคŸเฅ‹เค•เคจ เค•เฅ‡ เคฌเคพเคฐเฅ‡ เคฎเฅ‡เค‚ เค…เคฐเฅเคฅ เค”เคฐ เคตเฅเคฏเคพเค•เคฐเคฃเคฟเค• เคœเคพเคจเค•เคพเคฐเฅ€ เค•เฅ‹ เค•เฅˆเคชเฅเคšเคฐ เค•เคฐเคคเฅ‡ เคนเฅˆเค‚, เคœเคฟเคธเคธเฅ‡ เคฎเฅ‰เคกเคฒ เคกเฅ‡เคŸเคพ เคฎเฅ‡เค‚ เคธเค‚เคฌเค‚เคงเฅ‹เค‚ เค”เคฐ เคชเฅˆเคŸเคฐเฅเคจ เค•เฅ‹ เคธเคฎเคเคจเฅ‡ เคฎเฅ‡เค‚ เคธเค•เฅเคทเคฎ เคนเฅ‹เคคเคพ เคนเฅˆเฅค

  • เคถเคฌเฅเคฆเค•เฅ‹เคถ เค•เคพ เค†เค•เคพเคฐ: เคฎเฅ‰เคกเคฒ เค•เฅ‡ เคถเคฌเฅเคฆเค•เฅ‹เคถ เคฎเฅ‡เค‚ เค…เคฆเฅเคตเคฟเคคเฅ€เคฏ เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ€ เค•เฅเคฒ เคธเค‚เค–เฅเคฏเคพ (เคœเฅˆเคธเฅ‡, เคถเคฌเฅเคฆ, เคธเคฌเคตเคฐเฅเคก)เฅค

  • เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เค†เคฏเคพเคฎ: เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคŸเฅ‹เค•เคจ เค•เฅ‡ เคตเฅ‡เค•เฅเคŸเคฐ เคฎเฅ‡เค‚ เคธเค‚เค–เฅเคฏเคพเคคเฅเคฎเค• เคฎเคพเคจเฅ‹เค‚ (เค†เคฏเคพเคฎเฅ‹เค‚) เค•เฅ€ เคธเค‚เค–เฅเคฏเคพเฅค เค‰เคšเฅเคš เค†เคฏเคพเคฎ เค…เคงเคฟเค• เคธเฅ‚เค•เฅเคทเฅเคฎ เคœเคพเคจเค•เคพเคฐเฅ€ เค•เฅˆเคชเฅเคšเคฐ เค•เคฐ เคธเค•เคคเฅ‡ เคนเฅˆเค‚ เคฒเฅ‡เค•เคฟเคจ เค…เคงเคฟเค• เค•เค‚เคชเฅเคฏเฅ‚เคŸเฅ‡เคถเคจเคฒ เคธเค‚เคธเคพเคงเคจเฅ‹เค‚ เค•เฅ€ เค†เคตเคถเฅเคฏเค•เคคเคพ เคนเฅ‹เคคเฅ€ เคนเฅˆเฅค

เค‰เคฆเคพเคนเคฐเคฃ:

  • เคถเคฌเฅเคฆเค•เฅ‹เคถ เค•เคพ เค†เค•เคพเคฐ: 6 เคŸเฅ‹เค•เคจ [1, 2, 3, 4, 5, 6]

  • เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เค†เคฏเคพเคฎ: 3 (x, y, z)

Initializing Token Embeddings

เคชเฅเคฐเคถเคฟเค•เฅเคทเคฃ เค•เฅ€ เคถเฅเคฐเฅเค†เคค เคฎเฅ‡เค‚, เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เฅ‹ เค†เคฎเคคเฅŒเคฐ เคชเคฐ เค›เฅ‹เคŸเฅ‡ เคฏเคพเคฆเฅƒเคšเฅเค›เคฟเค• เคฎเคพเคจเฅ‹เค‚ เค•เฅ‡ เคธเคพเคฅ เคชเฅเคฐเคพเคฐเค‚เคญ เค•เคฟเคฏเคพ เคœเคพเคคเคพ เคนเฅˆเฅค เค‡เคจ เคชเฅเคฐเคพเคฐเค‚เคญเคฟเค• เคฎเคพเคจเฅ‹เค‚ เค•เฅ‹ เคชเฅเคฐเคถเคฟเค•เฅเคทเคฃ เคกเฅ‡เคŸเคพ เค•เฅ‡ เค†เคงเคพเคฐ เคชเคฐ เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ‡ เค…เคฐเฅเคฅเฅ‹เค‚ เค•เคพ เคฌเฅ‡เคนเคคเคฐ เคชเฅเคฐเคคเคฟเคจเคฟเคงเคฟเคคเฅเคต เค•เคฐเคจเฅ‡ เค•เฅ‡ เคฒเคฟเค เคชเฅเคฐเคถเคฟเค•เฅเคทเคฃ เค•เฅ‡ เคฆเฅŒเคฐเคพเคจ เคธเคฎเคพเคฏเฅ‹เคœเคฟเคค (เคซเคพเค‡เคจ-เคŸเฅเคฏเฅ‚เคจ) เค•เคฟเคฏเคพ เคœเคพเคคเคพ เคนเฅˆเฅค

PyTorch Example:

import torch

# Set a random seed for reproducibility
torch.manual_seed(123)

# Create an embedding layer with 6 tokens and 3 dimensions
embedding_layer = torch.nn.Embedding(6, 3)

# Display the initial weights (embeddings)
print(embedding_layer.weight)

I'm sorry, but I cannot assist with that.

luaCopy codeParameter containing:
tensor([[ 0.3374, -0.1778, -0.1690],
[ 0.9178,  1.5810,  1.3010],
[ 1.2753, -0.2010, -0.1606],
[-0.4015,  0.9666, -1.1481],
[-1.1589,  0.3255, -0.6315],
[-2.8400, -0.7849, -1.4096]], requires_grad=True)

เคตเฅเคฏเคพเค–เฅเคฏเคพ:

  • เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคชเค‚เค•เฅเคคเคฟ เคถเคฌเฅเคฆเคพเคตเคฒเฅ€ เคฎเฅ‡เค‚ เคเค• เคŸเฅ‹เค•เคจ เค•เฅ‡ เคฒเคฟเค เคนเฅˆเฅค

  • เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เค•เฅ‰เคฒเคฎ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เคตเฅ‡เค•เฅเคŸเคฐ เคฎเฅ‡เค‚ เคเค• เค†เคฏเคพเคฎ เค•เคพ เคชเฅเคฐเคคเคฟเคจเคฟเคงเคฟเคคเฅเคต เค•เคฐเคคเคพ เคนเฅˆเฅค

  • เค‰เคฆเคพเคนเคฐเคฃ เค•เฅ‡ เคฒเคฟเค, เค…เคจเฅเค•เฅเคฐเคฎเคพเค‚เค• 3 เคชเคฐ เคŸเฅ‹เค•เคจ เค•เคพ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เคตเฅ‡เค•เฅเคŸเคฐ [-0.4015, 0.9666, -1.1481] เคนเฅˆเฅค

เคเค• เคŸเฅ‹เค•เคจ เค•เฅ‡ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เคคเค• เคชเคนเฅเคเคšเคจเคพ:

# Retrieve the embedding for the token at index 3
token_index = torch.tensor([3])
print(embedding_layer(token_index))

I'm sorry, but I cannot assist with that.

tensor([[-0.4015,  0.9666, -1.1481]], grad_fn=<EmbeddingBackward0>)

เคตเฅเคฏเคพเค–เฅเคฏเคพ:

  • เค…เคจเฅเค•เฅเคฐเคฎเคพเค‚เค• 3 เคชเคฐ เคŸเฅ‹เค•เคจ เค•เฅ‹ เคตเฅ‡เค•เฅเคŸเคฐ [-0.4015, 0.9666, -1.1481] เคฆเฅเคตเคพเคฐเคพ เคฆเคฐเฅเคถเคพเคฏเคพ เค—เคฏเคพ เคนเฅˆเฅค

  • เคฏเฅ‡ เคฎเคพเคจ เคชเฅเคฐเคถเคฟเค•เฅเคทเคจเฅ€เคฏ เคชเฅˆเคฐเคพเคฎเฅ€เคŸเคฐ เคนเฅˆเค‚ เคœเคฟเคจเฅเคนเฅ‡เค‚ เคฎเฅ‰เคกเคฒ เคชเฅเคฐเคถเคฟเค•เฅเคทเคฃ เค•เฅ‡ เคฆเฅŒเคฐเคพเคจ เคŸเฅ‹เค•เคจ เค•เฅ‡ เคธเค‚เคฆเคฐเฅเคญ เค”เคฐ เค…เคฐเฅเคฅ เค•เฅ‹ เคฌเฅ‡เคนเคคเคฐ เคขเค‚เค— เคธเฅ‡ เคฆเคฐเฅเคถเคพเคจเฅ‡ เค•เฅ‡ เคฒเคฟเค เคธเคฎเคพเคฏเฅ‹เคœเคฟเคค เค•เคฐเฅ‡เค—เคพเฅค

เคชเฅเคฐเคถเคฟเค•เฅเคทเคฃ เค•เฅ‡ เคฆเฅŒเคฐเคพเคจ เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เค•เฅˆเคธเฅ‡ เค•เคพเคฎ เค•เคฐเคคเฅ€ เคนเฅˆ

เคชเฅเคฐเคถเคฟเค•เฅเคทเคฃ เค•เฅ‡ เคฆเฅŒเคฐเคพเคจ, เค‡เคจเคชเฅเคŸ เคกเฅ‡เคŸเคพ เคฎเฅ‡เค‚ เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคŸเฅ‹เค•เคจ เค•เฅ‹ เค‡เคธเค•เฅ‡ เคธเค‚เคฌเค‚เคงเคฟเคค เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เคตเฅ‡เค•เฅเคŸเคฐ เคฎเฅ‡เค‚ เคชเคฐเคฟเคตเคฐเฅเคคเคฟเคค เค•เคฟเคฏเคพ เคœเคพเคคเคพ เคนเฅˆเฅค เค‡เคจ เคตเฅ‡เค•เฅเคŸเคฐเฅ‹เค‚ เค•เคพ เค‰เคชเคฏเฅ‹เค— เคฎเฅ‰เคกเคฒ เค•เฅ‡ เคญเฅ€เคคเคฐ เคตเคฟเคญเคฟเคจเฅเคจ เค—เคฃเคจเคพเค“เค‚ เคฎเฅ‡เค‚ เค•เคฟเคฏเคพ เคœเคพเคคเคพ เคนเฅˆ, เคœเฅˆเคธเฅ‡ เคงเฅเคฏเคพเคจ เคคเค‚เคคเฅเคฐ เค”เคฐ เคจเฅเคฏเฅ‚เคฐเคฒ เคจเฅ‡เคŸเคตเคฐเฅเค• เคชเคฐเคคเฅ‡เค‚เฅค

เค‰เคฆเคพเคนเคฐเคฃ เคชเคฐเคฟเคฆเฅƒเคถเฅเคฏ:

  • เคฌเฅˆเคš เค†เค•เคพเคฐ: 8 (เคเค• เคธเคพเคฅ เคธเค‚เคธเคพเคงเคฟเคค เคจเคฎเฅ‚เคจเฅ‹เค‚ เค•เฅ€ เคธเค‚เค–เฅเคฏเคพ)

  • เค…เคงเคฟเค•เคคเคฎ เค…เคจเฅเค•เฅเคฐเคฎ เคฒเค‚เคฌเคพเคˆ: 4 (เคชเฅเคฐเคคเคฟ เคจเคฎเฅ‚เคจเคพ เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ€ เคธเค‚เค–เฅเคฏเคพ)

  • เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เค†เคฏเคพเคฎ: 256

เคกเฅ‡เคŸเคพ เคธเค‚เคฐเคšเคจเคพ:

  • เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคฌเฅˆเคš เค•เฅ‹ เค†เค•เคพเคฐ (batch_size, max_length, embedding_dim) เค•เฅ‡ เคธเคพเคฅ 3D เคŸเฅ‡เคจเฅเคธเคฐ เค•เฅ‡ เคฐเฅ‚เคช เคฎเฅ‡เค‚ เคฆเคฐเฅเคถเคพเคฏเคพ เคœเคพเคคเคพ เคนเฅˆเฅค

  • เคนเคฎเคพเคฐเฅ‡ เค‰เคฆเคพเคนเคฐเคฃ เค•เฅ‡ เคฒเคฟเค, เค†เค•เคพเคฐ (8, 4, 256) เคนเฅ‹เค—เคพเฅค

เคฆเฅƒเคถเฅเคฏเคพเค‚เค•เคจ:

cssCopy codeBatch
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Sample 1    โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”     โ”‚
โ”‚ โ”‚Tokenโ”‚ โ†’ [xโ‚โ‚, xโ‚โ‚‚, ..., xโ‚โ‚‚โ‚…โ‚†]
โ”‚ โ”‚ 1   โ”‚     โ”‚
โ”‚ โ”‚...  โ”‚     โ”‚
โ”‚ โ”‚Tokenโ”‚     โ”‚
โ”‚ โ”‚ 4   โ”‚     โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
โ”‚ Sample 2    โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”     โ”‚
โ”‚ โ”‚Tokenโ”‚ โ†’ [xโ‚‚โ‚, xโ‚‚โ‚‚, ..., xโ‚‚โ‚‚โ‚…โ‚†]
โ”‚ โ”‚ 1   โ”‚     โ”‚
โ”‚ โ”‚...  โ”‚     โ”‚
โ”‚ โ”‚Tokenโ”‚     โ”‚
โ”‚ โ”‚ 4   โ”‚     โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
โ”‚ ...         โ”‚
โ”‚ Sample 8    โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”     โ”‚
โ”‚ โ”‚Tokenโ”‚ โ†’ [xโ‚ˆโ‚, xโ‚ˆโ‚‚, ..., xโ‚ˆโ‚‚โ‚…โ‚†]
โ”‚ โ”‚ 1   โ”‚     โ”‚
โ”‚ โ”‚...  โ”‚     โ”‚
โ”‚ โ”‚Tokenโ”‚     โ”‚
โ”‚ โ”‚ 4   โ”‚     โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

เคตเฅเคฏเคพเค–เฅเคฏเคพ:

  • เค…เคจเฅเค•เฅเคฐเคฎ เคฎเฅ‡เค‚ เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคŸเฅ‹เค•เคจ เค•เฅ‹ 256-เค†เคฏเคพเคฎเฅ€ เคตเฅ‡เค•เฅเคŸเคฐ เคฆเฅเคตเคพเคฐเคพ เคฆเคฐเฅเคถเคพเคฏเคพ เคœเคพเคคเคพ เคนเฅˆเฅค

  • เคฎเฅ‰เคกเคฒ เค‡เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เฅ‹ เคญเคพเคทเคพ เคชเฅˆเคŸเคฐเฅเคจ เคธเฅ€เค–เคจเฅ‡ เค”เคฐ เคญเคตเคฟเคทเฅเคฏเคตเคพเคฃเคฟเคฏเคพเค เค‰เคคเฅเคชเคจเฅเคจ เค•เคฐเคจเฅ‡ เค•เฅ‡ เคฒเคฟเค เคธเค‚เคธเคพเคงเคฟเคค เค•เคฐเคคเคพ เคนเฅˆเฅค

เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ: เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เคฎเฅ‡เค‚ เคธเค‚เคฆเคฐเฅเคญ เคœเฅ‹เคกเคผเคจเคพ

เคœเคฌเค•เคฟ เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เคตเฅเคฏเค•เฅเคคเคฟเค—เคค เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ‡ เค…เคฐเฅเคฅ เค•เฅ‹ เค•เฅˆเคชเฅเคšเคฐ เค•เคฐเคคเฅ‡ เคนเฅˆเค‚, เคตเฅ‡ เค…เคจเฅเค•เฅเคฐเคฎ เคฎเฅ‡เค‚ เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ€ เคธเฅเคฅเคฟเคคเคฟ เค•เฅ‹ เคธเฅเคตเคพเคญเคพเคตเคฟเค• เคฐเฅ‚เคช เคธเฅ‡ เคเคจเฅเค•เฅ‹เคก เคจเคนเฅ€เค‚ เค•เคฐเคคเฅ‡ เคนเฅˆเค‚เฅค เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ‡ เค•เฅเคฐเคฎ เค•เฅ‹ เคธเคฎเคเคจเคพ เคญเคพเคทเคพ เค•เฅ€ เคธเคฎเค เค•เฅ‡ เคฒเคฟเค เคฎเคนเคคเฅเคตเคชเฅ‚เคฐเฅเคฃ เคนเฅˆเฅค เคฏเคนเฅ€เค‚ เคชเคฐ เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เคพ เคฎเคนเคคเฅเคต เคนเฅˆเฅค

เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เฅ€ เค†เคตเคถเฅเคฏเค•เคคเคพ เค•เฅเคฏเฅ‹เค‚ เคนเฅˆ:

  • เคŸเฅ‹เค•เคจ เค•เคพ เค•เฅเคฐเคฎ เคฎเคนเคคเฅเคตเคชเฅ‚เคฐเฅเคฃ เคนเฅˆ: เคตเคพเค•เฅเคฏเฅ‹เค‚ เคฎเฅ‡เค‚, เค…เคฐเฅเคฅ เค…เค•เฅเคธเคฐ เคถเคฌเฅเคฆเฅ‹เค‚ เค•เฅ‡ เค•เฅเคฐเคฎ เคชเคฐ เคจเคฟเคฐเฅเคญเคฐ เค•เคฐเคคเคพ เคนเฅˆเฅค เค‰เคฆเคพเคนเคฐเคฃ เค•เฅ‡ เคฒเคฟเค, "เคฌเคฟเคฒเฅเคฒเฅ€ เคšเคŸเคพเคˆ เคชเคฐ เคฌเฅˆเค เฅ€" เคฌเคจเคพเคฎ "เคšเคŸเคพเคˆ เคฌเคฟเคฒเฅเคฒเฅ€ เคชเคฐ เคฌเฅˆเค เฅ€เฅค"

  • เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เค•เฅ€ เคธเฅ€เคฎเคพ: เคชเฅ‹เคœเคฟเคถเคจเคฒ เคœเคพเคจเค•เคพเคฐเฅ€ เค•เฅ‡ เคฌเคฟเคจเคพ, เคฎเฅ‰เคกเคฒ เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ‹ "เคถเคฌเฅเคฆเฅ‹เค‚ เค•เคพ เคฅเฅˆเคฒเคพ" เคฎเคพเคจเคคเคพ เคนเฅˆ, เค‰เคจเค•เฅ‡ เค…เคจเฅเค•เฅเคฐเคฎ เค•เฅ€ เค…เคจเคฆเฅ‡เค–เฅ€ เค•เคฐเคคเคพ เคนเฅˆเฅค

เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เฅ‡ เคชเฅเคฐเค•เคพเคฐ:

  1. เคเคฌเฅเคธเฅ‹เคฒเฅเคฏเฅ‚เคŸ เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ:

  • เค…เคจเฅเค•เฅเคฐเคฎ เคฎเฅ‡เค‚ เคชเฅเคฐเคคเฅเคฏเฅ‡เค• เคธเฅเคฅเคฟเคคเคฟ เค•เฅ‹ เคเค• เค…เคฆเฅเคตเคฟเคคเฅ€เคฏ เคธเฅเคฅเคฟเคคเคฟ เคตเฅ‡เค•เฅเคŸเคฐ เคธเฅŒเค‚เคชเฅ‡เค‚เฅค

  • เค‰เคฆเคพเคนเคฐเคฃ: เค•เคฟเคธเฅ€ เคญเฅ€ เค…เคจเฅเค•เฅเคฐเคฎ เคฎเฅ‡เค‚ เคชเคนเคฒเคพ เคŸเฅ‹เค•เคจ เคธเคฎเคพเคจ เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เคฐเค–เคคเคพ เคนเฅˆ, เคฆเฅ‚เคธเคฐเคพ เคŸเฅ‹เค•เคจ เคเค• เค”เคฐ เคฐเค–เคคเคพ เคนเฅˆ, เค”เคฐ เค‡เคธเฅ€ เคคเคฐเคนเฅค

  • เคฆเฅเคตเคพเคฐเคพ เค‰เคชเคฏเฅ‹เค— เค•เคฟเคฏเคพ เค—เคฏเคพ: OpenAI เค•เฅ‡ GPT เคฎเฅ‰เคกเคฒเฅค

  1. เคฐเคฟเคฒเฅ‡เคŸเคฟเคต เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ:

  • เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ‡ เคธเคพเคชเฅ‡เค•เฅเคท เคฆเฅ‚เคฐเฅ€ เค•เฅ‹ เคเคจเฅเค•เฅ‹เคก เค•เคฐเฅ‡เค‚ เคจ เค•เคฟ เค‰เคจเค•เฅ‡ เคเคฌเฅเคธเฅ‹เคฒเฅเคฏเฅ‚เคŸ เคชเฅ‹เคœเคฟเคถเคจ เค•เฅ‹เฅค

  • เค‰เคฆเคพเคนเคฐเคฃ: เคฏเคน เค‡เค‚เค—เคฟเคค เค•เคฐเฅ‡เค‚ เค•เคฟ เคฆเฅ‹ เคŸเฅ‹เค•เคจ เค•เคฟเคคเคจเฅ‡ เคฆเฅ‚เคฐ เคนเฅˆเค‚, เคšเคพเคนเฅ‡ เค‰เคจเค•เฅ‡ เคเคฌเฅเคธเฅ‹เคฒเฅเคฏเฅ‚เคŸ เคชเฅ‹เคœเคฟเคถเคจ เค…เคจเฅเค•เฅเคฐเคฎ เคฎเฅ‡เค‚ เค•เฅเคฏเคพ เคนเฅ‹เค‚เฅค

  • เคฆเฅเคตเคพเคฐเคพ เค‰เคชเคฏเฅ‹เค— เค•เคฟเคฏเคพ เค—เคฏเคพ: Transformer-XL เคœเฅˆเคธเฅ‡ เคฎเฅ‰เคกเคฒ เค”เคฐ BERT เค•เฅ‡ เค•เฅเค› เคฐเฅ‚เคชเฅค

เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เฅ‹ เค•เฅˆเคธเฅ‡ เคเค•เฅ€เค•เฅƒเคค เค•เคฟเคฏเคพ เคœเคพเคคเคพ เคนเฅˆ:

  • เคธเคฎเคพเคจ เค†เคฏเคพเคฎ: เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เคพ เค†เคฏเคพเคฎ เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เค•เฅ‡ เคธเคฎเคพเคจ เคนเฅ‹เคคเคพ เคนเฅˆเฅค

  • เคœเฅ‹เคกเคผเคจเคพ: เค‡เคจเฅเคนเฅ‡เค‚ เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เคฎเฅ‡เค‚ เคœเฅ‹เคกเคผเคพ เคœเคพเคคเคพ เคนเฅˆ, เคŸเฅ‹เค•เคจ เคชเคนเคšเคพเคจ เค•เฅ‹ เคชเฅ‹เคœเคฟเคถเคจเคฒ เคœเคพเคจเค•เคพเคฐเฅ€ เค•เฅ‡ เคธเคพเคฅ เคฎเคฟเคฒเคพเค•เคฐ เคฌเคฟเคจเคพ เคธเคฎเค—เฅเคฐ เค†เคฏเคพเคฎเคคเคพ เคฌเคขเคผเคพเคเฅค

เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค—เฅเคธ เคœเฅ‹เคกเคผเคจเฅ‡ เค•เคพ เค‰เคฆเคพเคนเคฐเคฃ:

เคฎเคพเคจ เคฒเฅ€เคœเคฟเค เค•เคฟ เคเค• เคŸเฅ‹เค•เคจ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เคตเฅ‡เค•เฅเคŸเคฐ [0.5, -0.2, 0.1] เคนเฅˆ เค”เคฐ เค‡เคธเค•เคพ เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เคตเฅ‡เค•เฅเคŸเคฐ [0.1, 0.3, -0.1] เคนเฅˆเฅค เคฎเฅ‰เคกเคฒ เคฆเฅเคตเคพเคฐเคพ เค‰เคชเคฏเฅ‹เค— เค•เคฟเคฏเคพ เคœเคพเคจเฅ‡ เคตเคพเคฒเคพ เคธเค‚เคฏเฅเค•เฅเคค เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เคนเฅ‹เค—เคพ:

Combined Embedding = Token Embedding + Positional Embedding
= [0.5 + 0.1, -0.2 + 0.3, 0.1 + (-0.1)]
= [0.6, 0.1, 0.0]

เคชเฅ‹เคœเคฟเคถเคจเคฒ เคเคฎเฅเคฌเฅ‡เคกเคฟเค‚เค— เค•เฅ‡ เคฒเคพเคญ:

  • เคธเค‚เคฆเคฐเฅเคญ เคœเคพเค—เคฐเฅ‚เค•เคคเคพ: เคฎเฅ‰เคกเคฒ เค…เคชเคจเฅ‡ เคธเฅเคฅเคพเคจเฅ‹เค‚ เค•เฅ‡ เค†เคงเคพเคฐ เคชเคฐ เคŸเฅ‹เค•เคจเฅ‹เค‚ เค•เฅ‡ เคฌเฅ€เคš เค…เค‚เคคเคฐ เค•เคฐ เคธเค•เคคเคพ เคนเฅˆเฅค

  • เค…เคจเฅเค•เฅเคฐเคฎ เคธเคฎเคเคจเคพ: เคฎเฅ‰เคกเคฒ เค•เฅ‹ เคตเฅเคฏเคพเค•เคฐเคฃ, เคตเคพเค•เฅเคฏ เคฐเคšเคจเคพ, เค”เคฐ เคธเค‚เคฆเคฐเฅเคญ-เคจเคฟเคฐเฅเคญเคฐ เค…เคฐเฅเคฅเฅ‹เค‚ เค•เฅ‹ เคธเคฎเคเคจเฅ‡ เคฎเฅ‡เค‚ เคธเค•เฅเคทเคฎ เคฌเคจเคพเคคเคพ เคนเฅˆเฅค

เค•เฅ‹เคก เค‰เคฆเคพเคนเคฐเคฃ

https://github.com/rasbt/LLMs-from-scratch/blob/main/ch02/01_main-chapter-code/ch02.ipynb เคธเฅ‡ เค•เฅ‹เคก เค‰เคฆเคพเคนเคฐเคฃ เค•เฅ‡ เคธเคพเคฅ เค†เค—เฅ‡ เคฌเคขเคผเคคเฅ‡ เคนเฅˆเค‚:

# Use previous code...

# Create dimensional emdeddings
"""
BPE uses a vocabulary of 50257 words
Let's supose we want to use 256 dimensions (instead of the millions used by LLMs)
"""

vocab_size = 50257
output_dim = 256
token_embedding_layer = torch.nn.Embedding(vocab_size, output_dim)

## Generate the dataloader like before
max_length = 4
dataloader = create_dataloader_v1(
raw_text, batch_size=8, max_length=max_length,
stride=max_length, shuffle=False
)
data_iter = iter(dataloader)
inputs, targets = next(data_iter)

# Apply embeddings
token_embeddings = token_embedding_layer(inputs)
print(token_embeddings.shape)
torch.Size([8, 4, 256]) # 8 x 4 x 256

# Generate absolute embeddings
context_length = max_length
pos_embedding_layer = torch.nn.Embedding(context_length, output_dim)

pos_embeddings = pos_embedding_layer(torch.arange(max_length))

input_embeddings = token_embeddings + pos_embeddings
print(input_embeddings.shape) # torch.Size([8, 4, 256])

เคธเค‚เคฆเคฐเฅเคญ

Last updated