티스토리 뷰
개요
이 주제와 관련하여서는 어느정도 그림이 그려지는 수준인데 잘 정리된 이 그림을 보면서 순서를 되짚어본다. 출처는 이미지에 있다.
내용
비공개 정보를 가공하여 저장해두기
- 노션, PDF를 비롯한 비공개 정보들을 취합하여 적당한 덩어리로 나눈다.
- 비공개 정보들이기에 LLM은 이 정보를 학습할 수 없었을 것이며, 따라서 관련한 질문에 답을 할 수 없다.
- 적당한 덩어리로 나누는 것은 임베딩과 관련이 있다. 한 번에 임베딩 해주는 양의 한계가 있기 때문이기도 하고, 최적의 의미단위로 덩어리를 나눌 필요도 있어서이다.
- 임베딩 모델은 이렇게 나누어진 정보들을 임베딩하는데 그 결과로 나오는 값이 벡터이다.
- 벡터는 긴 실수들의 배열이라고 보면 된다. 대표적인 임베딩 모델인 OpenAI의 text-embedding-ada-002 는 한 덩어리의 문자를 받아서 1536개의 실수들로 되어 있는 벡터 하나를 뱉어낸다.
- 벡터는 입력받은 문자 덩어리의 핵심 정보들을 추출하여 숫자로 표현한 것이라 보면 되겠다.
- 이러한 벡터들은 나중에 찾아내기 쉽도록 인덱싱을 하여 벡터 데이터베이스에 저장을 한다.
가공한 정보를 검색하여 가져오기
- 사용자는 채팅을 통해 질의(query)를 한다(그림에서는 5로 되어 있다).
- 임베딩 모델은 이 문의 자체를 임베딩하며 벡터화한다.
- 질의를 가지고 벡터 데이터베이스에게 관련 정보를 달라고 하면
- 벡터 데이터베이스는 질문과 가장 관련이 있는 벡터들을 찾아낸다.
- 자동차와 관련한 질문이라면 자동차 제조사, 엔진 등과 관련한 문자 덩어리를 벡터화 한것이 여성 화장품 관련 문자 덩어리를 벡터화 한 것보다 더 관련이 있는(더 가까운) 벡터로 찾아진다.
- 이러한 근접성, 유사도를 판단하는 기준은 대표적으로 코사인, 유클리디안, 내적 등이 있다.
- 벡터 데이터베이스는 이렇게 찾아낸 정보의 원본 문자 덩어리를 회신해준다(그림에서는 9로 되어있다.)
LLM을 이용하여 답변하기
- 프롬프트 엔지니어링을 하여 LLM에게 질문을 던진다.
- 애초의 질의(query)에 대한 정보
- 벡터 데이터베이스를 검색하여 가져온 질의와 관련이 있는 비공개 지식 정보
- 위 둘을 조합하되 비공개 지식 정보만을 기반으로 하여 답을 달라고 한다.
- LLM은 원하는 답을 줄 것이다. 그리고 그 답변의 기반이 되는 비공개 지식의 출처도 함께 반환할 것이다.
개인적 생각의 정리
- 순서가 있거나 시계열적인 정보들은 그러한 의미를 어떻게 벡터화할 수 있을까? 예를 들어 예전의 정보와 최신의 개정 정보가 함께 있다면 혼선이 생길 것이다. 이미 되어 있는 것으로 보이지는 않아 보인다.
- 지식을 덩어리로 나눌 때에 그 크기가 무조건 크다고 좋은 것은 아니다. 최선은 하나의 의미있는 단위로 묶어서 벡터화가 되어야 할 것이다. 혹은 미시적, 거시적인 층위로 나누어 복합적인 벡터화가 될 수 도 있겠다. 미래에는 기술적인 입력 크기(=토큰 크기)의 제약은 많이 풀릴 것이니, 이러한 벡터화를 위한 덩어리를 나누는 것 조차 인공지능이 판단하여 나눌지도 모르겠다.
끝
반응형
'generative-ai' 카테고리의 다른 글
개발자라면 알아두어야 할 LLM 숫자들 (0) | 2023.08.02 |
---|---|
유튜브 정리: 샘 알트먼, 일리야 수츠케버 in 텔아비브 (0) | 2023.06.16 |
Andrej Karpathy의 State of GPT를 보고 (0) | 2023.05.30 |
ChatGPT는 로그도 알아서 설명해줘요 (0) | 2023.05.16 |
GitHub Copilot Chat confidential rules (0) | 2023.05.16 |
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 독서후기
- OpenAI
- 제이펍
- 2023
- 영화
- intellij
- ChatGPT
- 잡학툰
- Bug
- clean agile
- strange
- API
- websocket
- 독서
- golang
- go
- notion
- 클린 애자일
- 티스토리챌린지
- Gin
- folklore
- github
- 오블완
- solid
- bun
- 체호프
- 노션
- 인텔리제이
- 엉클 밥
- agile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함