이전글에서 GPT3.5 모델의 python 사용법에 대해 소개했다.
그리고 ChatGPT 의 모델인 GPT3.5 Turbo 가 드디어 공개되었다.
이에 따라 변경된 python 사용법, 특징에 대해 소개하겠다.
GPT3.5 Turbo python 코드
openai 패키지를 설치하거나 업데이트 후에
다음과 같이 사용한다.
import openai openai.api_key ="발급받은 API키" completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Tell the world about the ChatGPT API in the style of a pirate."}] ) print(completion)
기존 Completion 에서 ChatCompletion 으로 바뀌었고
model이 gpt-3.5-turbo 로 바뀌었다.
마지막으로 prompt 가 messages로 바뀌었고
role이라는 인자가 추가되었다.
자세한 내용은 custom API 로 추가 설명하겠다.
import requests import json headers={"Authorization":"Bearer 발급키","Content-Type":"application/json"} link="https://api.openai.com/v1/chat/completions" messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Who won the world series in 2020?"}, {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."}, {"role": "user", "content": "Where was it played?"}] data={"model": "gpt-3.5-turbo", "messages": messages, "temperature": 0.2, "max_tokens": 300} res=requests.post(link,data=json.dumps(data),headers=headers) print(res.json()['choices'][0]['message'])
위 예제에서 볼 수 있듯이 이제 message를 복수개 보낼 수 있다.
system을 통해 GPT의 역할을 지정하는 것이고
user 는 사용자의 입력을 나타낸다.
마지막으로 assistant 는 이전 대답 혹은 사전 정보 를 의미한다.
나머지 parameter 는 이전과 동일하니 이전글 혹은
링크를 확인하길 바란다.
GPT3.5 용도
openai 에서는 가이드를 통해 다음과 같은 사용을 추천하고 있다.
- 이메일 이나 문서의 초안 작성
- 파이썬 코드 작성
- 문서에 담긴 정보에 대해 질의 응답
- 챗봇 생성
- 소프트웨어 자연어 인터페이스 추가
- 다양한 주제에 대한 tutor
- 번역
- Simulate characters for video games and much more
번역에 대해서는 다음과 같이 message를 작성하면 된다.
text='텍스트' messages=[{"role": "user", "content": f'Translate the following English text to Korean: {text}'}]
이전 모델과 차이가 뭐야?
가격이 1/10 수준으로 저렴해졌다.
기존 GPT3.5 모델은 1000토큰 당 0.02$이었지만
GPT3.5 Turbo는 1000토큰 당 0.002$이다.
그리고 추가 학습 ( fine tuning ) 에 대한
API는 아직 공개되지 않았다. ( 23.03.01 기준)
따라서 커스텀 모델이 필요한 경우에는
기존 모델을 사용해야 한다.
그리고 GPT3.5 Turbo 에 입력된 데이터는
30일간 저장된다고 명시 되었다.
데이터 사용에 대한 정책은 다음 링크를 참조하라.
개인 정보를 입력했을 경우 삭제 요청을 할 수 있다.
또, 차별 및 성희롱에 대한 판단 기능을
추가적으로 사용할 수 있으니 다음 가이드를 참고하라.
이외에도 음성 텍스트 변환 및 번역 모델인
Whisper 모델이 개선되었다.
개선 모델의 사용료는 분당 0.006$로 굉장히 저렴하고
다양한 언어와 포맷을 지원한다.
자세한 내용은 다음 링크에서 확인할 수 있다.
GPT3.5 의 경쟁자는?
다른 글에서 meta ( facebook ) 의 OPT 모델에 대한 이야기를 했다.
meta 에서도 최근 새로운 모델인 LLaMA 를 제시했다.
가장 큰 모델이 65B 라 실망할 수도 있지만
학습 방법의 개선으로 성능은 이전 모델보다 뛰어나다고 한다.
논문에 따르면 GPT3 (구모델) 보다 나은 성능을 보인다.
성능 대비 요구 Parameter 가 줄었기 때문에 일부 모델은
3090, 3090S로 구동할 수 있을 것이다.
예를 들어 7B 모델은 max_batch_size를 1로 조정하면
16G VRAM으로 구동 가능하다.
fp8로 정밀도를 희생한다면 13B모델까지
3090에서 구동 가능할 것으로 예상된다.
참고로 LLaMa 의 상업적 사용은 별도의 협의가 필요하다.
아직 GPT3.5 수준에 이르지는 못했지만 둘의 경쟁으로
더 저렴하고 좋은 서비스가 나올 수 있을 것이다.
(23.03.06 updated)
흥미롭게도 LLaMa의 모델이 인터넷상에 유출되었다.
원래도 학술 목적으로는 어렵지 않게 받을 수 있었지만
일반인에게까지 오픈되어 사람들이 열심히 연구중이다.
흥미롭게도 누군가 LLaMa github 에 토렌트 ( 마그넷 ) 주소를
업로드 했으며 Meta에서도 딱히 삭제하지 않고 있다. (링크)
외국 친구들의 반응도 있으니 짤리기 전에 한번 보길 추천한다.
이번 유출로 인해 모델을 받아 손쉽게 customize, 테스트해 볼 수 있다.
관련글