OpenAI API 이해와 활용
강사: 이숙번님
1. GitHub vs Hugging Face 비교
- 코드를 공유하는 사이트 GitHub
- 모델을 공유하는 사이트 Hugging Face
- 기존의 라이브러리의 함수를 이용하듯이 모델 사용이 가능해짐
2. Hugging Face에서 transformers 라이브러리의 korean_sentiment 모델을 가져와서 사용
from transformers import pipeline
sentences = ['좋아', '별로야', '예뻐', '괜찮았어']
classifier = pipeline(model='matthewburke/korean_sentiment')
result = classifier(sentences)
print(result)
GPT
- Generative: 다음 단어를 예측하여 문장을 생성
- Pre-Trained: 많은 양의 데이터를 이미 학습
- Transformer: Attention 구조를 핵심으로 하는 신경망 모델
- Emergent ability: 머신 러닝, 특히 대규모 언어 모델에서 나타나는 예상하지 못한 능력을 말합니다.
모델의 규모가 커짐에 따라 훈련되지 않은 새로운 기능이나 성능이 스스로 나타나는 현상입니다.
ChatGPT
- GPT: 다음 단어를 잘 예측하도록 훈련. (base model) - 문장 만들기
- InstractionGPT: 여러 문제를 잘 풀도록 추가 훈련 (fine-tuning) - 질문에 대답하기
- RLHF(Reinforcement Learning from Human Feedback) : 인간 피드백으로부터의 강화학습 - 더 좋은 대답하기
- Metric test:
"매트릭 테스트"는 특정 상황에서 성능을 평가하기 위해 사용되는 여러 **평가 지표(metric)**를 기반으로 테스트를 수행하는 것을 의미합니다.
이 용어는 주로 머신러닝, 데이터 분석, 소프트웨어 개발 등에서 모델의 성능을 측정하거나 시스템을 평가할 때 사용됩니다. 매트릭(metric)은 모델이 얼마나 잘 작동하는지를 수치로 표현하는 기준입니다.
- LLM(Lagre language Model)의 평가 지표
- MMLU (Massive Multitask Language Understanding): 57개의 학문 주제로 구성된 문제. 이해력과 추론 능력을 테스트. 언어 이해 능력을 광범위하게 평가
- GPQA (General Purpose Question Answering): 다양한 도메인과 주제에 걸친 문제. 일반화 및 적용 능력을 테스트. 지식 및 추론 능력 평가
- HumanEval: 다양한 프로그래밍 문제. 코드 작성 및 SE 문제 해결 능력 평가
- GSM-8K (Grade School Math - 8K): 초등학교 수준의 8,000개의 다양한 수학 문제. 계산 능력 및 논리적 사고 평가
- MATH: 고등학교 및 대학 수준의 수학 문제. 고급 수학적 이해 및 해결 능력 평가
- OpenAI
- OpenAI 인스톨
!pip install openai
- OpenAI를 프롬프트 뒤에 예상되는 문장 불러오기
from openai import OpenAI
client = OpenAI(api_key='sk-') # 개인이 등록한 API 키 입력
response = client.completions.create(
model="gpt-3.5-turbo-instruct",
prompt="옛날 옛적에 호랑이가 살았습니다.",
temperature=1
)
response # Completion(id='cmpl-ALqFsI75Wd94qkwhpNGO6wfP29Wbd', choices=[CompletionChoice(finish_reason='length', index=0, logprobs=None, text=' 그 호랑이는 몸 길이가 무려')], created=1729769120, model='gpt-3.5-turbo-instruct', object='text_completion', system_fingerprint=None, usage=CompletionUsage(completion_tokens=16, prompt_tokens=20, total_tokens=36, completion_tokens_details=None, prompt_tokens_details=None))
print(response.choices[0].text) # 그 호랑이는 몸 길이가 무려
chat
completion = client.chat.completions.create(
model="gpt-4", # Assuming "gpt-40" was a typo
messages=[
{"role": "system", "content": "안녕"},
{"role": "user", "content": "가을을 주제로 노래 만들어줘"}
]
)
print(completion.choices[0].message.content)
Text to Image
response = client.images.generate(
model="dall-e-3",
prompt="samsung lions logo",
size="1024x1024",
quality="standard"
)
image_url = response.data[0].url
TTS
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="이제 쉬는 시간이야~~"
)
response.stream_to_file("speech.mp3")
출처: AI Hub 교육과정 - WEB+AI (위 내용이 문제가 된다면 댓글에 남겨주세요. 바로 삭제조치하도록 하겠습니다.)
'Programming 개발은 구글로 > 기타 정보' 카테고리의 다른 글
[WEB+AI] 11일차 복습 (0) | 2024.10.28 |
---|---|
[WEB+AI] 10일차 대언어모델 시대 (0) | 2024.10.28 |
[WEB+AI] 8일차 파이썬 데이터 분석(추가 내용) (0) | 2024.10.24 |
[WEB+AI] 8일차 파이썬 데이터 분석 (3) | 2024.10.23 |
[WEB+AI] 7일차 Gradio + PostgreSQL로 메모장 만들기 (2) | 2024.10.22 |
댓글