ChatGPT는 어떻게 작동할까요?
매우 인기 있는 AI 챗봇인 ChatGPT의 내부 작업에 대해 자세히 알아보겠습니다.
Google, Wolfram Alpha 및 ChatGPT는 모두 한 줄의 텍스트 입력 필드를 통해 사용자와 상호 작용하고 텍스트 결과를 제공합니다. Google은 검색 결과, 검색 쿼리와 관련된 정보를 제공할 웹 페이지 및 기사 목록을 반환합니다. Wolfram Alpha는 일반적으로 수학 및 데이터 분석 관련 답변을 제공합니다. 대조적으로 ChatGPT는 사용자 질문의 맥락과 의도를 기반으로 응답을 제공합니다. 예를 들어 Google에 스토리 작성을 요청하거나 Wolfram Alpha에 코드 모듈 작성을 요청할 수는 없지만 ChatGPT는 이러한 작업을 수행할 수 있습니다. 기본적으로 Google의 힘은 방대한 데이터베이스 조회를 수행하고 일련의 일치 항목을 제공하는 기능입니다. Wolfram Alpha의 강력한 기능은 데이터 관련 질문을 분석하고 해당 질문을 기반으로 계산을 수행하는 기능입니다. ChatGPT의 힘은 적어도 2021년 이전 교육 당시 존재했던 정보인 전 세계의 디지털 방식으로 액세스 가능한 대부분의 텍스트 기반 정보를 기반으로 쿼리를 구문 분석하고 완전한 답변과 결과를 생성하는 기능입니다.
본 글에서는 ChatGPT가 어떻게 완전한 답변을 생성할 수 있는지 살펴보겠습니다. 먼저 ChatGPT 작업의 주요 단계를 살펴보고 모든 것을 작동시키는 핵심 AI 아키텍처 구성 요소 중 일부를 다룰 것입니다.
본 건에서 인용된 출처(대부분이 각 기술에 대한 원본 연구 논문임) 외에도 ChatGPT 자체를 사용하여 이 백그라운더를 만들었습니다. 나는 그것에 많은 질문을했다. 일부 답변은 이 토론의 전반적인 맥락 내에서 다른 말로 표현됩니다.
ChatGPT 작업의 두 가지 주요 단계
다시 Google을 비유로 사용하겠습니다. Google에 무언가를 찾아보라고 요청할 때 요청하는 순간에는 밖으로 나가서 답을 찾기 위해 전체 웹을 샅샅이 뒤지지 않는다는 사실을 알고 계실 것입니다. 대신 Google은 데이터베이스에서 해당 요청과 일치하는 페이지를 검색합니다. Google은 효과적으로 스파이더링 및 데이터 수집 단계와 사용자 상호작용/조회 단계의 두 가지 주요 단계를 가지고 있습니다. 대략적으로 말하면 ChatGPT는 같은 방식으로 작동합니다. 데이터 수집 단계를 사전 훈련이라고 하고 사용자 반응 단계를 추론이라고 합니다. 제너레이티브 AI 이면의 마법과 그것이 갑자기 폭발한 이유는 사전 훈련 작업 방식이 엄청나게 확장 가능하다는 것이 갑자기 입증되었기 때문입니다.
AI 사전 훈련
일반적으로 말하면(세부 사항에 도달하려면 많은 양이 필요하기 때문에) AI는 감독 및 비감독의 두 가지 기본 접근 방식을 사용하여 사전 훈련합니다. 현재 ChatGPT와 같은 생성 AI 시스템이 나올 때까지 대부분의 AI 프로젝트에는 감독 방식이 사용되었습니다. 지도 사전 교육은 각 입력이 해당 출력과 연결되는 레이블이 지정된 데이터 세트에서 모델을 교육하는 프로세스입니다. 예를 들어 AI는 고객 서비스 대화 데이터 세트에 대해 교육을 받을 수 있습니다. 여기서 사용자의 질문과 불만은 고객 서비스 담당자의 적절한 응답으로 레이블이 지정됩니다. AI를 훈련시키기 위해 "비밀번호를 재설정하려면 어떻게 해야 하나요?"와 같은 질문을 합니다. 사용자 입력으로 제공되며 "웹사이트의 계정 설정 페이지를 방문하고 안내에 따라 비밀번호를 재설정할 수 있습니다."와 같은 답변이 제공됩니다. 출력으로 제공됩니다.
지도 교육 방식에서는 입력을 출력에 정확하게 매핑할 수 있는 매핑 기능을 학습하도록 전체 모델을 교육합니다. 이 프로세스는 종종 분류, 회귀 및 시퀀스 레이블 지정과 같은 지도 학습 작업에 사용됩니다. 상상할 수 있듯이 확장할 수 있는 방법에는 한계가 있습니다. 인간 조련사는 모든 입력과 출력을 예상하는 데 상당한 노력을 기울여야 합니다. 교육은 매우 오랜 시간이 걸리고 주제 전문 지식이 제한적일 수 있습니다. 그러나 우리가 알게 된 바와 같이 ChatGPT는 주제 전문 지식에 거의 제한이 없습니다. Star Trek의 Chief Miles O'Brien 캐릭터의 이력서를 작성하고, 양자 물리학을 설명하고, 코드를 작성하고, 짧은 소설을 쓰고, 미국 전 대통령의 통치 스타일을 비교하도록 요청할 수 있습니다. 모든 질문을 예상하는 것은 불가능하므로 ChatGPT가 감독 모델로 훈련될 수 있는 방법이 없습니다. 대신 ChatGPT는 감독되지 않은 사전 교육을 사용하며 이것이 게임 체인저입니다.
감독되지 않은 사전 교육은 특정 출력이 각 입력과 연결되지 않은 데이터에 대해 모델을 교육하는 프로세스입니다. 대신 모델은 특정 작업을 염두에 두지 않고 입력 데이터의 기본 구조와 패턴을 학습하도록 훈련됩니다. 이 프로세스는 클러스터링, 이상 감지 및 차원 축소와 같은 비지도 학습 작업에 자주 사용됩니다. 언어 모델링의 맥락에서 비지도 사전 훈련을 사용하여 모델이 자연어의 구문과 의미를 이해하도록 훈련하여 대화 맥락에서 일관되고 의미 있는 텍스트를 생성할 수 있습니다.
여기에서 ChatGPT의 무한한 지식이 가능해집니다. 개발자는 입력에서 나오는 출력을 알 필요가 없기 때문에 변환기 기반 언어 모델링이라고 하는 ChatGPT 사전 훈련 메커니즘에 점점 더 많은 정보를 덤프하기만 하면 됩니다.
변환 아키텍처
변환기 아키텍처는 자연어 데이터를 처리하는 데 사용되는 일종의 신경망입니다. 신경망은 상호 연결된 노드 레이어를 통해 정보를 처리하여 인간의 두뇌가 작동하는 방식을 시뮬레이션합니다. 하키 팀과 같은 신경망을 생각해 보십시오. 각 선수에게는 역할이 있지만 특정 역할을 맡은 선수들 사이에서 앞뒤로 퍽을 전달하고 모두 협력하여 골을 넣습니다. 변환기 아키텍처는 "self-attention"을 사용하여 단어 시퀀스를 처리하여 예측할 때 시퀀스에서 다른 단어의 중요성을 평가합니다. Self-attention은 독자가 책에서 새로운 단어를 이해하는 데 필요한 맥락을 찾기 위해 이전 문장이나 단락을 되돌아보는 방식과 유사합니다. 변환기는 문맥과 단어 간의 관계를 이해하기 위해 순서대로 모든 단어를 봅니다.
또한, ChatGPT에게 필요한 WordPress 플러그인을 작성하도록 요청했습니다. 5분도 안되서 했네요
변환기는 여러 계층으로 구성되며 각 계층에는 여러 하위 계층이 있습니다. 두 개의 주요 하위 계층은 self-attention 계층과 feedforward 계층입니다. Self-attention 계층은 시퀀스에서 각 단어의 중요도를 계산하는 반면 Feedforward 계층은 입력 데이터에 비선형 변환을 적용합니다. 이러한 레이어는 변환기가 시퀀스의 단어 간의 관계를 배우고 이해하는 데 도움이 됩니다. 훈련하는 동안 변환기는 문장과 같은 입력 데이터를 받고 해당 입력을 기반으로 예측을 하도록 요청받습니다. 모델은 예측이 실제 출력과 얼마나 일치하는지에 따라 업데이트됩니다. 이 프로세스를 통해 변환기는 시퀀스에서 단어 간의 컨텍스트 및 관계를 이해하는 방법을 학습하므로 언어 번역 및 텍스트 생성과 같은 자연어 처리 작업을 위한 강력한 도구가 됩니다. 먼저 ChatGPT에 입력되는 데이터에 대해 논의한 다음 ChatGPT와 자연어의 사용자 상호 작용 단계를 살펴보겠습니다.
ChatGPT의 학습 데이터 세트
ChatGPT를 교육하는 데 사용되는 데이터 세트는 방대합니다. ChatGPT는 GPT-3(Generative Pre-trained Transformer 3) 아키텍처를 기반으로 합니다. 이제 약어 GPT가 의미가 있지 않습니까? 결과를 생성한다는 의미의 생성적이며 사전 훈련되어 수집한 모든 데이터를 기반으로 하며 컨텍스트를 이해하기 위해 텍스트 입력에 가중치를 두는 변환기 아키텍처를 사용합니다. GPT-3는 45테라바이트가 넘는 텍스트 데이터 라이브러리인 WebText2라는 데이터 세트에서 학습되었습니다. 300달러 미만으로 16테라바이트 하드 드라이브를 구입할 수 있다면 45테라바이트 코퍼스는 그다지 커 보이지 않을 수 있습니다. 그러나 텍스트는 사진이나 비디오보다 저장 공간을 훨씬 적게 차지합니다. 이 엄청난 양의 데이터를 통해 ChatGPT는 전례 없는 규모로 자연어의 단어와 구 사이의 패턴과 관계를 학습할 수 있었으며, 이는 사용자 쿼리에 대해 일관되고 문맥적으로 관련된 응답을 생성하는 데 매우 효과적인 이유 중 하나입니다. ChatGPT는 GPT-3 아키텍처를 기반으로 하지만 다른 데이터 세트에서 미세 조정되었으며 대화 사용 사례에 최적화되었습니다. 이를 통해 채팅 인터페이스를 통해 상호 작용하는 사용자에게 보다 개인화되고 매력적인 경험을 제공할 수 있습니다. 예를 들어 OpenAI(ChatGPT 개발자)는 ChatGPT와 같은 대화형 AI 모델 교육을 위해 특별히 설계된 Persona-Chat이라는 데이터 세트를 출시했습니다. 이 데이터 세트는 두 명의 참여자 간의 160,000개 이상의 대화로 구성되며 각 참여자는 자신의 배경, 관심사 및 성격을 설명하는 고유한 페르소나를 할당받습니다. 이를 통해 ChatGPT는 개인화되고 대화의 특정 맥락과 관련된 응답을 생성하는 방법을 배울 수 있습니다.
Persona-Chat 외에도 ChatGPT를 미세 조정하는 데 사용된 다른 많은 대화 데이터 세트가 있습니다. 다음은 몇 가지 예입니다.
1) Cornell Movie Dialogs Corpus: 영화 대본에 등장하는 캐릭터 간의 대화가 포함된 데이터 세트입니다. 여기에는 다양한 주제와 장르를 다루는 10,000명 이상의 영화 캐릭터 쌍 간의 200,000개 이상의 대화 교환이 포함됩니다.
2) Ubuntu Dialogue Corpus: 기술 지원을 원하는 사용자와 Ubuntu 커뮤니티 지원 팀 간의 다단계 대화 모음입니다. 100만 개가 넘는 대화가 포함되어 있어 대화 시스템 연구를 위해 공개적으로 사용할 수 있는 가장 큰 데이터 세트 중 하나입니다.
3) DailyDialog: 일상 대화에서 사회 문제에 대한 토론에 이르기까지 다양한 주제의 인간 대 인간 대화 모음입니다. 데이터 세트의 각 대화는 몇 차례의 전환으로 구성되며 일련의 감정, 정서 및 주제 정보로 레이블이 지정됩니다. 이러한 데이터 세트 외에도 ChatGPT는 웹 사이트, 서적 및 기타 텍스트 소스를 포함하여 인터넷에서 발견되는 많은 양의 구조화되지 않은 데이터에 대해 교육을 받았습니다. 이를 통해 ChatGPT는 보다 일반적인 의미에서 언어의 구조와 패턴에 대해 학습할 수 있었으며 대화 관리 또는 감정 분석과 같은 특정 응용 프로그램에 대해 미세 조정할 수 있었습니다.
ChatGPT는 GPT 시리즈와 유사한 접근 방식을 사용하여 훈련되었지만 아키텍처 및 훈련 데이터에 약간의 차이가 있는 독특한 모델입니다. ChatGPT에는 15억 개의 매개변수가 있으며 이는 GPT-3의 1750억 매개변수보다 작습니다. 전반적으로 ChatGPT를 미세 조정하는 데 사용되는 교육 데이터는 일반적으로 본질적으로 대화형이며 사람 간의 대화를 포함하도록 특별히 선별되어 ChatGPT가 대화 형식으로 자연스럽고 매력적인 응답을 생성하는 방법을 학습할 수 있습니다. ChatGPT의 감독되지 않은 교육을 이런 식으로 생각해 보십시오. 많은 데이터를 입력하고 패턴을 찾고 모든 것을 이해하기 위해 자체 장치에 맡겼습니다. 이것이 새로운 제너레이티브 AI 시스템이 매우 빠르게 확장될 수 있게 해주는 메커니즘입니다.
ChatGPT의 제너레이티브 AI에 대한 어려운 작업은 사전 교육에서 수행되고 있지만, 모든 데이터에서 질문을 이해하고 답변을 구성할 수 있어야 합니다. 이는 자연어 처리 및 대화 관리로 구성된 추론 단계에서 수행됩니다.
사전 교육에 사람이 참여하였을까요?
감독되지 않은 사전 교육의 고유한 확장성에도 불구하고 공용 사용을 위한 ChatGPT 준비에 사람의 도움이 포함되었을 수 있다는 몇 가지 증거가 있습니다. 케냐에서 시간당 $1.32에서 $2 사이의 수입을 올리는 인간 "데이터 레이블러"의 사용에 대해 논의한 TIME Magazine의 기사에서 큰 폭로가 있었습니다. TIME 보고서에 따르면 끔찍하고 성적으로 노골적인 인터넷 콘텐츠를 스캔하여 ChatGPT 교육을 위해 표시하는 것은 이 직원들의 책임이었습니다. AI 뉴스레터인 Martechpost에 게시된 또 다른 기사에서는 대규모 언어 모델이 RLHF(Reinforcement Learning from Human Feedback)라는 프로세스를 사용하여 훈련되었다고 설명합니다. 기사에 따르면 "훈련 과정에는 감독 학습을 사용하여 미세 조정된 초기 모델이 포함되었으며, 인간 트레이너는 사용자와 AI 보조자 역할을 모두 수행합니다." 여기에는 "훈련"이라는 단어의 의미와 관련하여 약간의 미묘함이 있습니다. ChatGPT 자체에 따르면 "OpenAI는 저를 교육하기 위해 사람의 피드백을 통한 강화 학습을 사용하지 않았습니다. 대신 언어 모델링, 자동 인코딩 및 시퀀스 예측과 같은 비지도 및 지도 학습 기술의 조합을 사용하여 사전 교육을 받았습니다. 내 교육에는 인터넷에서 방대한 양의 텍스트 데이터를 처리하는 것이 포함되어 있어 단어와 구 사이의 패턴과 관계를 배울 수 있었습니다."
AI는 이어 "하지만 내가 사전 훈련을 받으면 연구원과 개발자는 사람의 피드백과 함께 강화 학습을 사용하여 질문에 답하거나 텍스트를 생성하는 것과 같은 특정 작업이나 영역에 대해 나를 미세 조정할 수 있습니다. 이 경우 사람이 제공할 수 있는 내 매개변수를 업데이트하고 향후 유사한 작업에 대한 내 성능을 개선하는 데 사용할 수 있는 보상 또는 벌칙 형태의 피드백입니다." 이것은 Marktechpost 및 TIME 보고서와 일치하는 것으로 보입니다. 즉, 초기 사전 훈련이 감독되지 않았기 때문에 엄청난 양의 데이터가 시스템에 공급될 수 있었습니다. 그러나 사용자와 소통하는 대화 응답을 구축할 때(자세한 내용은 아래 참조) 응답 엔진은 응답 유형과 부적절한 자료를 걸러내도록 훈련된 것으로 보입니다. 이러한 훈련은 사람의 도움을 받은 것으로 보입니다.
'IT트렌드' 카테고리의 다른 글
[ChatGPT] ChatGPT 활용 방법 (1) | 2023.05.17 |
---|---|
[ChatGPT] ChatGPT에 대한 모든 것 / All about the ChatGPT (0) | 2023.05.17 |
NFT정의, NFT작동원리, NFT 구매방법, NFT종류 (0) | 2023.05.17 |
[ChatGPT] ChatGPT에서 출처 및 인용을 제공하는 방법 (0) | 2023.05.17 |
[ChatGPT] ChatGPT에 대해 알아야 할 것들 (0) | 2023.05.17 |