
325
12
장
추론의 개념
해
2D
를 만들 수 있습니다. 이때 첫 번째 차원이 각 문자열을 나타냅니다. 따라서 첫 번째 차
원의 값
0
은 첫 번째 문자열, 값
1
은 두 번째 문자열을 나타내는 식입니다.
BERT
모델은 문장의 각 단어에 대한 임베딩을 모두 더해 문장에 대한 임베딩을 생성할 수도
있습니다.
BERT
의 베이스 모델 버전에서 임베딩 벡터는
768
개의 값을 가진
1D
행렬입니다.
문장에 대한 임베딩도 동일합니다. 여러 개의 문장이 있는 경우 앞의 인코딩과 마찬가지로 두
번째 차원을 갖게 됩니다.
코드는 다음과 같습니다.
# 임베딩을 생성합니다.
with torch.no_grad(): # 그레이디언트를 계산할 필요가 없습니다.
outputs = model(**encoded)
embeddings = outputs.last_hidden_state
각 임베딩은
768
개의 값을 가지므로 모두 출력하기 어렵지만, 첫 번째 문장의 첫 번째 단어를
나타내는 임베딩의 경우 다음과 같은 값을 볼 수 있습니다.
첫 번째 단어 임베딩 (처음 다섯 개 값):
tensor([ 0.0401, 0.3046, 0.0669, –0.1975, –0.0103])
아직 이 내용을 완전히 이해하지 못하더라도 걱정하지 마세요.
13
장에서 자세히 살펴봅니다.
여기서 중요한 점은 텐서의 ...