며칠 전 OpenAI가 새로운 서비스 "o1-preview"와 "o1-mini"를 내놓았다.
이번엔 또 뭐가 다르냐?!
대답하기 전에 더 많은 시간을 생각하는 AI 모델을 만들었다!
필요하긴 했다.
가끔 대답 자체는 빠르긴 한데 열심히 지 혼자 얘기하다가 갑자기,,, "제가 잘못 생각했네요"라고 말하면서 화제를 돌리는 경우가 왕왕 있다 ㅋㅁㅋ
아니 그럴 거면 진작에 잘못된 걸 알아챘어야지!!!
그나저나 chatGPT에서 대답 모델을 선택할 때 원래는 GPT-4o, GPT-4o mini, GPT-4 이렇게 세 가지가 나왔는데 새로운 친구들이 나오면서 GPT-4o mini와 GPT-4는 "더보기 리그"로 강등당했다 ㅜㅜ
그리하여~~ 이번에 새로 나온 모델을 알아 볼 건데 그전에 기존의 모델들을 완벽하게 잡고 넘어가는 게 좋을 것 같다!
먼저 GPT에 대해 알아야 한다.
GPT는 어떤 일반적인 학술명,,으로 생각될 수 있지만, 사실은 OpenAI에서 만든 LLM의 일종에 불과하다.
다만 그 파급력이 막강해서 테이프를 '스카치 테이프'처럼 부르듯이 하나의 상표이자 고유 명사에 그치지 않고 일반적인 명사의 수준으로 나아간 것 같다.
그 유명한 chatGPT는 GPT라는 LLM을 기반으로 한 서비스를 말한다.
물론 chatGPT가 나오기 전에도, GPT라는 LLM이 나오기 전에도 수많은 LLM이 있었으며 Transformer 아키텍처(이후 설명)를 사용한 LLM 역시 많았다.
근데 왜 하필 chatGPT가 빵 떴을까?
💡 간편한 UI
채팅 인터페이스인 점과 더불어 '이전의 대화를 기억해서 이를 기반으로 답변'하는 것이 굉장히 주효했다. 이는 추후 설명할 Transformer 아키텍처 기반이기 때문에 가능했다.
💡 무료
역시 K-게임 수익 모델처럼 부분 유료화는 성공적~
💡 아주 넓은 범위의 활용성
23년 초만 해도 AI가 시를 쓴다, 작곡을 한다, 이메일을 쓴다, 논문을 요약한다 등등 지금 들으면 지루하기 짝이 없는 다양한 과제들을 해내는 것들이 뉴스에 날마다 떠올랐는데 이것이 상당한 바이럴을 일으켰다.
💡 말뽄새(?) 미세조정
InstructGPT를 사용해 LLM을 다듬었다. 인간의 피드백을 활용하여(ex. 사용자가 어떤 대답을 더 선호하는가?) ChatGPT의 말뽄새(?)를 미세조정했다.
다시 GPT로 돌아오자.
GPT는 Generative Pre-trained Transformer의 약자로, Transformer 아키텍처를 이용한 LLM이다.
재밌게도 Transformer 아키텍처는 2017년 구글이 처음으로 소개했다. "Attention is All You Need"라는 논문이 그것인데, 뉴진스의 노래 가사는 아니다 (깔깔)
https://dl.acm.org/doi/10.5555/3295222.3295349
글과 같이 이전 정보가 다음 정보에도 영향을 미치는 데이터를 다루기 위해서는 RNN이나 LSTM 같은 것들을 사용했다. 하지만 얘네들은 문제가 있었는데,,
이전 단어가 현재 단어에 미치는 영향을 고려하는 것은 맞지만, 글이 길어지면 한참 전에 나왔던 정보의 중요도가 희미해졌다! 물론 대체적으로 저~~ 멀리 있는 단어보다 바로 직전에 있는 단어가 중요하겠지만, 경우에 따라서는 저~~ 멀리 있는 단어가 아주 중요한 경우가 있을 수도 있단 말이죵.
게다가 순차적 처리이기 때문에 긴 시퀀스를 처리하는 데 아주 오랜 시간이 걸렸다.
Transformer 아키텍처는 이 두 문제점(과거의 정보가 희미, 너무 오래 걸림)을 해결할 수 있었다.
다양한 특징이 있었는데 그중에서도 Self-Attention Mechanis가 짱짱이었다. 아래 사진에서 보이듯이 글의 '맥락'을, 그것이 아주 멀리 떨어져 있더라도, 파악하는 데 높은 성능을 발휘했다.
이 외에도 Multi-Head Attention, Positional Encoding과 같은 특장점이 있는데 자세한 건 읽어보시길,,
GPT를 훈련시키기 위해서는 어마어마한 규모의 텍스트가 필요하다. 훈련 과정은 두 가지로 나뉜다.
💡 사전 훈련(Pre-training)
"다음 단어"를 예측하는 작업을 통해 언어의 일반적인 패턴을 학습한다. 오잉? 대체 언어를 공부하는데 왜 "다음 단어"를 예측하는 방식으로 할까? 그 이유는 의외로 그 방식이 언어의 본질을 꿰뚫는 주효한 방식이기 때문이다.
문맥, 언어의 기본 구조를 파악하기에 다음 단어 예측만큼 좋은 방법도 없다.
💡 미세 조정(Fine-tuning)
전술한 InstructGPT를 사용해 미세 조정을 한다.
'분명 전산학부 졸업 했는데 코딩 개못하는 조준호 > 기타' 카테고리의 다른 글
[o1-preview] OpenAI가 또 새로운 서비스를 내놓았다!!! - (3) 새로운 시리즈 o1 (0) | 2024.09.19 |
---|---|
[o1-preview] OpenAI가 또 새로운 서비스를 내놓았다!!! - (2) GPT-4o까지의 변화 (0) | 2024.09.17 |
cmd에서 언제 슬래시(/)를 쓰고 언제 백슬래시(\)를 쓸까? (0) | 2024.07.01 |
[MySQL] PRIMARY KEY 만들고 넣을 때 참고 사항 (0) | 2024.06.27 |
[MySQL] JOIN 연산의 종류 (0) | 2024.06.26 |
한국은행 들어갈 때까지만 합니다
조만간 티비에서 봅시다