LLM을 이해하기 Step 1 전처리 단계

2025. 6. 6. 13:00AI

728x90

[환경]

IDE :  Visucal Code 

Python version:  3.12

Pandas : 2.2.1

 

안녕하세요 이번에 LLM을 다루게 되면서 가장 시작이 되는 부분인 전처리 단계를 다루고자 합니다. 

 

전처리 단계는 다음과 같습니다. 

LLM전처리 단계 그림

 

 

 

전처리 과정 중 첫번째 단계

 

전처리 중 첫 번째 단계인 Document는 문서를 읽어 들입니다.  

문서는 Word, PDF,Excel, HTML, csv 등등이 있습니다. 

 

전처리의 두번째 단계 그림

전처리 중 두번째 단계인 TextSplit은 

읽어 들인 문서를 쪼갭니다. 이때 쪼개진 단위를 Chunk라고 부릅니다. 

예를 들어 Chunk는 500글자 단위로 쪼갭니다. 

쪼갤 때, Chunk Overlap을 일부러 만듭니다.

 

 

전처리의 세번째 단계 그림

 

전처리 중 세 번째 단계인 Embedding은 

Chunk를 벡터로 변환합니다. Chunk를 더 잘게 쪼갠 Token (단어) 단위를 숫자로 변환한 다음 

이를 배열로 저장하면 그게 바로 벡터 입니다. ( 수학에서의 백터와 비슷함)

 

왜 임베딩이 필요한가?

1. 우리가 사용하는 자연어를 컴퓨터가 이해할 수 있도록 수로 변환합니다. 이 수로 정량화한 형태로 변환하면 자연어를 처리할 수 있습니다. 

2. 질문에 대한 답을 얻기 위해 문서간 유사성을 계산하기 위해서입니다. 관련 문서를 검색하거나, 적합한 문서를 찾는 작업을 용이하게 합니다. 

 

 

전처리의 마지막 단계

 

전처리의 마지막 단게인 DB는 Embedding한 결과를 저장합니다. 

 

이는 매우 중요한데,

AWS의 LLM을 이용하게 되면 아시겠지만, Embedding 하는 게 돈이 듭니다.

근데, 서비스가 커서 같은 내용을 Embedding하려하면, 돈이나 비용이 많이 발생합니다. 

이를 줄이기 위해 Embedding의 결과를 DB에 저장합니다. 

 

 

 

 

 

 

[도움]

 

1. 응원 댓글은 글 쓰는데 힘이 됩니다.

2. 공감도 글 쓰는데 힘이 됩니다. 

3. 광고 한번 클릭 해주시면 힘은 두 배가 됩니다. 

4. 혹시라도 부족한 부분이 있다면 덧글로 남겨주세요. 남기시면, 더 나은 글을 쓸 재료가 됩니다.

 

 

[reference]

테디 노트  https://www.youtube.com/watch?v=zybyszetEcE

 

[단어집]

Chunk : 문서의 글을 단락 별로 쪼갠 단위 

Chunk Overlap : Chunk의 내용이 겹치는 부분. 분할된 끝 부분에서 맥락이 이어지기 위해 일부러 겹쳐놓은 영역입니다.

Embedding : Chunk를 수 (0.1 ,0.2,0.3...) 로 변환 후 이를 벡터로 변경하는 과정 

벡터 : 수학에서의 백터와 비슷함. 각 Chunk 별로 수(0.1 ,0.2 ...) 별로 숫자가 지정된 집합. 이 값은 나중에 질의와 유사한 내용을 구할 때 쓰여짐.

Conext(문맥): 질의에 대한 답으로 선택한 Chunk를 의미함. 수의 형태로 저장함.

 

728x90

'AI' 카테고리의 다른 글

본격 LLM 활용기 (1)  (2) 2025.06.12
[AI 시작하기 1] Jupyter 설치  (0) 2023.12.21