https://platform.openai.com/docs/models
model 종류
GPT=40
최근에 나온 게 아닌데도 성능이 좋음
GPT-4 Turbo
turbo랑 vision이 같이 되어 있음
GPT-3.5Turbo
성능이 떨어짐
가격이 매우 쌈
3.5는 context window가 작다
million token 단위임
위에는 강의 내용이고 아래는 가장 최근

모델명만 외우고 있으면
point가 어디로 하는지만 확인하면 됨
날짜를 다 알 필요는 없음
모델은 계속 업데이트 되고 있ㄱ음
다음 강의 내용
context length와
input, output이 다름
이 이유가 뭔지?
토큰
자연어 처리 NLP에서 텍스트를 작은 단위로 나누어 처리하기 위해 사용되는 기본 단위
단어, 부분단어, 문자가 토큰이 될 수 있음
텍스트를 토큰으로 나누는 과정을 토큰화
토큰화 방법
1. 문자 기반 토큰화: 텍스트를 문자 단위로 나눔
H, E, L , L O -> 5개
2. 단어 기반 토큰화: 단어 단위로 나누기
"Hello, world!" -> "hello", "," , "world", "!" -> 5개
1) GPT가 다음 단어를 예측함 11개, 4개 예측하는 경우
-> 11개는 예측을 여러번 해야해서 틀릴 확률 높음
2) 단어 기반 -> 단어사전을 만들어야 함
단어사전에 있는 단어를 예측하는 것임,
이때 하나의 단어에서 나올 수 있는 모든 형태를 알아야 함
-> 비효율적
3. 서브워드 기반 토큰화:
단어를 더 작은 단위로 나누는 방법, 자주 사용되는 서브워드를 기준으로 분할
unhappiness
이걸 처음에 u, n, h, a, p, p, p, in, n, e, s, s 이ㄹ거를 다 묶어봄 -> 빈도수를 계산함 -> 이때 un이 많이 나왔으면 두 개를 묶어서 하나의 토큰으로 묶음
그래서 토큰이 애매함
토큰의 중요성
단어를 분절치고 좌표계 형식으로 바꿈
벡터계 형식으로 바꿈
gpt 안에는 수학적인 연산이 되어 있음
이를 위해 숫자 표현으로 바꾸는데 이거를 토큰화로 분절쳐서 숫자 표현으로 바꾸는 것임
알고리즘을 직접 짜지는 않을 것이니 ......
토큰 사용량 = 돈
ㅇ토큰 계산기가 있음
LLM 입력 텍스트를 다양한 방법으로 토큰화 가능
어떤 방식이 사용되느냐에 따라모델의 성능, 효율성이 달라짐
영어는 한 토큰을 잘 잡음
한국어는 아님
같은 내용을 영어로 번역해서 넣었을 때 영문이 더 효율적일 수도 ㅇㅆ음
차이가 나는 이유는 영어와 한국어가 사용되는 토큰 수의 차이 때문임
Token count 높아서(토큰 수 많이 먹어서) 비용 많이 먹음


gpt-4o
한국어 최적화되어서 토큰 수 줄어들었음
영문이랑 gap이 그렇게 크게 차이나지 않음
그냥 한글로 써도 ㄱㅊ다
계산기 링크

모델 변경해서 토큰량 비교할 수 있음
Tiktokenizer
Built by dqbd. Created with the generous help from Diagram.
tiktokenizer.vercel.app
OpenAI API Pricing Calculator | gptforwork.com
OpenAI API Pricing Calculator | gptforwork.com
OpenAI GPT API Pricing Calculator Wondering about how the OpenAI GPT and other AI model pricing works? Here's a pricing calculator for OpenAI GPT API, Anthropic Claude API, Mistral API and Google Gemini API. gpt-4o gpt-4o-mini gpt-4-turbo gpt-4 gpt-3.5-tur
gptforwork.com
Context Window
LLM이 한 번에 처리할 수 있는 최대 토큰 수를 의미
gpt4가 텍스트가 김
긴 텍스트를 다룰 수 있도록 설계
max_token : 답변에 최대 출력 토큰 수
입력 + 출력
입력 사이즈가 아주 큼
입력이 128k다 -> 아님 (아래 그림 참고)
시스템 프롬프트가 기본으로 몇 토큰을 잡고 있음
입력 토큰 + 출력 이걸 다 합쳐서 128k를 의미함
return a maximum of 4096 output token
입력은 토큰이 넉넉함
문서기반으로 문서에 있는 내용이 전부 토큰으로 잡힘
반면에 ouput은 비교적 작음
max token 수의 제한이 작게 되어 있음
input이 길어도 다 잡힘
근데 너무 길면 contiune를 넣어서 계속 답변하게 할 수 있음
Input, Oupt 가격이 다른 이유는?
input $5, output $15
: output이 더 비쌈
인풋이 길고 아웃풋이 작다 -> 비용이 저렴함
인풋이 짧고 아웃풋이 길다 -> 비용이 비쌈
시안을 작성해줘~ = output이 비쌈
user prompt = user의 질문임
참고할 문서의 내용 : 이거 많을 수록 비싸짐 = 책 한 권을 넣고 요약해라 라고 하는 것은 돈이 많이 들 수밖에 없음
정액제 gpt에는 ㄱㅊ은데
우리가 직접 구현할 때는
꼭 필요한 부분만 발췌해서 넣어주는 것이 좋음
문서를 전부 다 넣을 수는 있지만 요금이 어마어마하게 낭비가 됨
그 책 한권의 분량에서 원하는 내용을 가지고 오기 힘듦
보든 대화내용이 입력 prompt로 쌓이게 됨
이를 전부 저장해서 가지고 오는 것은 비효율적이니까 요점정리를 해서 가지고 있으면 -> 비용절약 가능함

랭체인에서 RAG 시스템 왜 써야 하는가??
Context가 더 늘어남
rag를 비용효율적으로 사용해야 함
모든 문서를 다 때려박는 것은 비용효율적이지 않음
답변은 제한이 걸려있어서 짧지만 입력은 넉넉함
'RangChain' 카테고리의 다른 글
| 강의 Ch4.08~10, 파일 04-LCEL-Advanced : LCEL 인터페이스, batch, async 비동기, parallel 병렬성 (1) | 2025.01.18 |
|---|---|
| 강의 Ch4.03~07, 파일 03-LCEL : 멀티모달 모델, 프롬프트 템플릿, 변형 (0) | 2025.01.17 |
| Ch.4 LangChain 주요 파라미터, 기본 llm 생성 코드, LogProb, Streaming, Langsmith 추적 (0) | 2025.01.17 |
| ch 3 LangChain 시작하기, 유용한 단축키 모음 (0) | 2025.01.16 |
| RAG 가 주목받는 이유 (0) | 2025.01.16 |