9.88K subscribers
17K photos
366 videos
1 file
8.37K links
방장: @BQrypto @bqdeveloper @abrwda
*모든 의견은 개인의 의견입니다. DYOR

✏️공지방: https://t.me/BQTelegram
💁‍♂️소통방: https://t.me/BQKoreachat
Download Telegram
📌 LLM 어플리케이션 7편: 임베딩 - 의미를 숫자로 바꾸는 기술

BQ개발자입니다.

지난 편에서 RAG가 의미적 검색을 통해 작동한다고 했는데요, 컴퓨터가 어떻게 의미를 이해할 수 있을까요?

📱LLM 어플리케이션 6편: RAG - LLM에게 참고서를 주기

"'휴가'와 '연차'가 비슷하다는 걸 컴퓨터가 어떻게 알지?"

🤔 컴퓨터는 숫자만 이해한다

먼저 근본적인 사실부터 짚고 가겠습니다.

컴퓨터는 텍스트를 직접 이해할 수 없습니다. 오직 숫자만 처리할 수 있어요.
그래서 텍스트를 어떻게든 숫자로 바꿔야 합니다.

전통적인 방법은 단순했습니다:
- "휴가" = 1번
- "연차" = 2번
- "프로젝트" = 3번


하지만 이 방식으로는 단어들 사이의 관계를 표현할 수 없어요. 1번과 2번이 비슷한지, 다른지 알 수 없으니까요.


⚡ 임베딩: 의미를 담은 숫자 표현

임베딩은 이 문제를 해결하는 똑똑한 방법입니다.

단순히 번호를 매기는 대신, 여러 개의 숫자를 조합해서 의미를 표현합니다.

예를 들어:
- "휴가": [0.2, -0.5, 0.8, 0.3, ...]
- "연차": [0.3, -0.4, 0.7, 0.2, ...]
- "프로젝트": [-0.6, 0.9, -0.2, 0.5, ...]



🧠 이 숫자들은 어떻게 만들어질까?

핵심은 예측 과제를 통한 자동 조정입니다.

시작: 모든 단어에 랜덤 숫자 부여
- "휴가": [0.1, 0.1, 0.1, 0.1, ...]
- "연차": [-0.2, 0.3, -0.1, 0.2, ...]
- "프로젝트": [0.2, -0.1, 0.3, -0.3, ...]


과제: 빈칸 채우기
"오늘은 휴가를 ___했다"에서 다음 단어 예측하기

알고리즘은 각 단어의 숫자들을 사용해서 계산합니다.
정답이 "신청"인데 "먹"이라고 예측했다면? 오차가 발생합니다.

자동 조정 메커니즘
오차를 줄이기 위해 숫자들이 자동으로 조정됩니다:
- "휴가"의 숫자들을 조금씩 바꿔서 "신청"과 잘 맞도록
- "먹다"의 숫자들을 조금씩 바꿔서 "휴가"와 멀어지도록

참고:
엄밀히는 "휴가를 신청했다"에서 주변 단어 예측이 더 정확하지만,
함께 나타나는 단어들이 비슷한 벡터를 갖게된다는 의미를 단순화한거고,
어차피 저도 잘 모르니 감만 잡으시죠!!


이 과정을 수백만 번 반복하면...

🎯 패턴이 숫자에 새겨진다

"휴가를 신청했다"
"연차를 신청했다"
"휴가를 즐겼다"
"연차를 사용했다"

이런 문장들을 계속 학습하면서:
- "휴가"와 "연차"는 비슷한 위치에 나타남 → 비슷한 조정을 받음 → 비슷한 숫자가 됨
- "프로젝트"는 다른 위치에 나타남 → 다른 조정을 받음 → 다른 숫자가 됨

결과적으로:
- "휴가": [0.2, -0.5, 0.8, ...]
- "연차": [0.3, -0.4, 0.7, ...] ← 비슷한 패턴
- "프로젝트": [-0.6, 0.9, -0.2, ...] ← 전혀 다른 패턴

각 숫자가 무엇을 의미하는지는 알 수 없습니다. 하지만 비슷한 곳에 나타나는 단어들이 비슷한 숫자를 갖게 되는 자연스러운 결과가 나타납니다.

🚀 거리로 의미를 측정하는 이유

이제 단어 간 거리를 계산하면:
- "휴가" - "연차": 작은 차이
- "휴가" - "프로젝트": 큰 차이

이 거리가 곧 의미의 차이를 나타내게 됩니다.
비슷한 문맥에서 쓰이는 단어들이 자연스럽게 가까운 숫자를 갖게 되었으니까요.

💡 요약:

임베딩은 "단어의 사용 패턴이 자동으로 숫자에 인코딩된 결과"입니다.
마법이 아니라 수학적 최적화의 결과예요.

하지만 여기서 새로운 문제가 생깁니다. "책 한 권 분량의 긴 문서는 어떻게 처리하지?"

다음 편에서는 "청킹 - 긴 글을 어떻게 나눌 것인가"에 대해 다뤄보겠습니다.

---

여러분의 좋아요와 공유는 사랑입니다 🥰

#BQ개발자 #LLM애플리케이션 #임베딩 #AIEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9