이제 LLM 훈련을 위한 입력-타깃 쌍을 만들었습니다.
토큰을 임베딩으로 바꾸기 전에 한 가지 작업이 더 남았습니다. 입력 데이터셋을 순회하면서 파이토치 텐서로 입력과 타깃을 반환하는 효율적인 데이터 로더를 구현해야 합니다. 파이토치 텐서는 일종의 다차원 배열로 생각할 수 있습니다. 그림 2-13에 나타나 있듯이 구체적으로 텐서 2개, 즉 LLM이 사용할 텍스트를 담은 입력 텐서와 LLM이 예측해야 할 타깃을 담은 타깃 텐서에 관심이 있습니다. 이 그림은 설명을 위해 토큰을 텍스트 형태로 보여 주지만 코드 구현은 토큰 ID를 사용합니다. BPE 토크나이저의 encode 메서드는 토큰화와 토큰 ID 변환을 모두 한 번에 처리하기 때문입니다.
NOTE
효율적인 데이터 로더 구현을 위해 파이토치에서 제공하는 Dataset 클래스와 DataLoader 클래스를 사용하겠습니다. 파이토치 설치에 대한 안내와 자세한 정보는 부록 A의 A.1.3절을 참고하세요.