>  기사  >  기술 주변기기  >  ChatGPT의 과거와 현재: OpenAI의 기술 '고집'과 '큰 도박'

ChatGPT의 과거와 현재: OpenAI의 기술 '고집'과 '큰 도박'

WBOY
WBOY앞으로
2023-04-12 12:16:031017검색

1. ChatGPT, 더 이상 '바보'가 아닌 인공지능

ChatGPT 관련 주제는 알파고 이후 가장 인기 있는 인공지능 핫스팟으로 여겨져야 합니다. 쉽게 말하면 자연어로 말할 수 있는 로봇인데, 어떤 질문이라도 할 수 있고(물론 틀리게 대답할 수도 있지만 안내하고 고쳐줄 수는 있습니다) 매우 부드럽고 표준적인 자연어로 대답해 줍니다. 언어. 뿐만 아니라 코딩 문제, 수학 문제 등에 대한 답변도 가능하며 어떤 문제에 대해서도 좋은 대화를 나눌 수 있습니다.

ChatGPT의 기능을 지각적으로 이해하기 위해 동일한 케이지 문제에서 고전적인 닭과 토끼를 사용할 수 있습니다.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

이 답변에서 몇 가지 특징을 볼 수 있습니다. 첫째는 자연어를 이해하고 수학적 문제로 변환하는 능력이다. 둘째, 보다 복잡한 추론 문제를 단계별로 분해하여 최종 답을 얻는 능력이다. 업계에서는 이런 능력을 '사고의 사슬'이라고 부른다. 다음으로 질문을 변경하고 어떻게 응답하는지 확인하세요.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

ChatGPT가 말하는 내용을 인식하고 그렇게 말하는 이유를 제시할 수 있다는 것을 이 사진에서 확인할 수 있습니다. 또한, 실수를 하는 것도 발견될 수 있습니다(처음으로 귀 수를 계산했을 때 잘못 계산했습니다. 여기서 상식적인 사실은 닭이 "귀"와 유사한 기능적 기관을 가지고 있다는 것입니다). 그러나 지침을 제공할 수 있습니다. 정답을 제시하고 왜 틀렸는지 말해 보세요.

인공지능 모델임을 미리 말씀드리지 않으면 ChatGPT는 진짜 논리적 사고와 언어소통 능력을 갖춘 실제 사람처럼 느껴집니다. 처음으로 인공지능이 마침내 사람들과 정상적으로 소통할 수 있다는 느낌을 갖게 했습니다. 비록 때때로 실수를 하기도 하지만, 적어도 의사소통 과정에서 언어와 논리적 장벽은 없습니다. 인간의 사고 패턴과 언어 규범에 따라 이야기하고 피드백을 제공합니다. 이 매우 지능적인 경험은 업계의 작은 영역을 돌파하고 대중에게 영향력을 미치는 이유입니다.

이 경험의 문제를 다시 강조하고 싶습니다. 아마도 과거에는 기술적인 한계로 인해 업계가 현장의 특정 작업을 완료하기 위해 이를 무시했기 때문일 것입니다. 오늘날 ChatGPT의 출현은 인공 지능이 더 이상 과거의 "유용하지만 어리석은" 형태가 아니라는 것을 의미합니다.

ChatGPT의 매우 지능적인 느낌이 어떻게 나타나는지 더 잘 이해하려면 과거의 "멍청한" 인공 지능부터 시작하는 것이 불가피합니다. 정확히 말하면 ChatGPT는 여전히 자연어 처리(NLP) 기술을 사용하지만 원래의 패러다임을 깨뜨립니다.

이를 이해하려면 먼저 현재 주류 관행을 살펴보세요. 인간의 의사소통은 언어에 의존하며, 많은 사람들은 인간의 사고도 언어에 기초한다고 믿습니다. 따라서 자연어를 이해하고 활용하는 것은 인공지능에 있어서 늘 중요한 화두였습니다. 하지만 언어는 너무 복잡하기 때문에 컴퓨터가 언어를 이해하고 사용하기 위해서는 이 과정을 대개 여러 개의 세분화로 나누어 기술 분야에서 흔히 '작업'이라고 부릅니다. 다음은 몇 가지 예입니다.

  • 감정 분석 작업은 언어에 포함된 감정적 경향을 이해하는 것을 목표로 합니다.
  • 구문 분석 작업은 텍스트의 언어 구조를 분석하는 것을 목표로 합니다.
  • 엔터티 인식 작업은 정보를 추출하는 것을 목표로 합니다. 텍스트에서 주소, 이름 등과 같은 엔터티 조각을 찾습니다.
  • 엔티티 연결 작업은 텍스트에서 엔터티 간의 관계를 추출하는 것을 목표로 합니다.

이러한 작업은 모두 특정 분석 및 세분화된 측면에서 자연어를 처리합니다. 예를 들어, 이러한 분할을 사용하면 다양한 차원에서 자연어 처리 시스템의 분할 기능을 검사할 수 있으며 특정 분할 항목에 대해 특별히 시스템이나 모델을 설계할 수도 있습니다. 기술적인 관점에서 볼 때 복잡한 작업(자연어 이해 및 사용)을 여러 개의 간단한 작업(다양한 NLP 작업)으로 분할하는 것은 실제로 복잡한 문제를 해결하는 일반적인 방법이기도 합니다. 그러나 ChatGPT가 등장한 이후 돌이켜보면 이러한 분할은 컴퓨터가 자연어를 이해하고 사용할 수 있도록 하는 가장 효과적인 방법이 아닐 수도 있습니다.

단일 작업에서 탁월한 성능을 발휘한다고 해서 시스템이 자연어를 마스터했다는 의미는 아니기 때문입니다. 인공지능에 대한 인간의 '지능 감각'은 자연어를 적용하는 전반적인 능력에 기초하며, 이는 ChatGPT에 명확하게 반영됩니다. OpenAI는 ChatGPT의 API 서비스를 열지 않았고 외부 세계에서는 다양한 세분화된 NLP 작업에 대한 구체적인 영향을 평가할 수 없었지만 이전 GPT-3, InstructGPT 및 기타 모델의 과거 외부 테스트에서는 일부 특정 작업의 경우 특화된 데이터로 미세 조정된 작은 모델이 실제로 더 나은 결과를 얻을 수 있습니다(자세한 분석은 "언어 모델의 창발 기능에 대한 심층적 이해" 참조). 그러나 단일 작업에서 더 나은 성능을 발휘하는 이러한 작은 모델은 큰 범위를 벗어난 효과를 유발하지 않습니다. 결국 능력은 하나뿐이기 때문이다. 한 가지 뛰어난 능력이 있다고 해서 자연어를 이해하고 사용할 수 있는 능력이 있어서 실제 응용 시나리오만으로는 역할을 수행할 수 없다는 의미는 아닙니다. 이 때문에 일반적으로 실제 애플리케이션 시나리오에서는 단일 지점 기능을 갖춘 여러 모듈이 인위적으로 설계되고 결합됩니다. 이러한 인위적인 패치워크 방식은 과거 인공 지능 시스템이 지능적이지 않은 느낌을 주는 이유 중 하나입니다.

인간이 자연어를 이해하고 사용하는 관점에서 보면 이 현상은 사실 이해하기 쉽습니다. 보통 사람들은 자연어를 이해하고 사용할 때 마음 속에서 여러 단계로 나누어서 각 작업을 하나씩 분석하고 요약하는 것이 인간이 자연어를 사용하는 방식이 아닙니다. 사람이 문장을 들을 때와 마찬가지로 그 문장의 구문구조, 내용과 관계, 감정적 성향 등을 하나하나 분석한 뒤 문장의 의미를 종합해 나가는 것이 사람이 언어를 이해하는 과정이다. 전체적인 과정. 또한, 이 문장에 대한 사람들의 전반적인 이해는 답변을 통해 자연어 형태로 충분히 표현될 것입니다. 이 프로세스는 단일 작업을 분할한 다음 감정 분석 레이블, 엔터티 정보의 단편 또는 다른 단일 작업의 결과를 하나씩 출력한 다음 이러한 항목을 사용하여 응답을 하나로 묶는 인공 지능 시스템과 다릅니다.

AndChatGPT로 대표되는 GPT 시리즈 모델이 하는 일은 인간이 언어를 이해하고 사용하는 능력에 정말 가깝습니다. 즉, 자연어를 직접 받고 자연어에 직접 응답하여 언어의 유창함을 보장하는 것입니다. 그리고 논리 . 이는 사람들이 의사소통하는 방법이므로 모두가 이를 "매우 스마트한" 경험으로 간주합니다. 아마도 ChatGPT처럼 할 수 있다면 참 좋겠다고 생각하는 분들이 많을 것입니다. 과거의 작업 분할은 기술적인 한계로 인해 최후의 수단이었습니다. 기술 적용의 관점에서 볼 때 이러한 우회적 접근 방식은 물론 필요합니다. 이 방법은 오랫동안 채택되어 왔으며 실제로 실제 시나리오에서 많은 문제를 해결할 수 있습니다. 하지만 GPT 시리즈 모델의 개발 과정을 되돌아보면 OpenAI가 다른 길에 '내기'를 했고, 그들은 '내기'를 해서 승리한 것을 발견할 수 있습니다.

2. OpenAI의 “Gamble”

모든 것이 시작된 GPT 1세대

2018년 초 OpenAI는 GPT 모델의 초기 버전을 출시했습니다. OpenAI의 공개 논문(Improving Language Understanding by Generative Pre-Training)을 보면 이 모델이 12계층 Transformer Decoder 구조를 사용하고 약 5GB를 차지한다는 것을 알 수 있습니다. 언어 모델 작업 훈련을 위한 비지도 텍스트 데이터. 1세대 GPT 모델은 이미 생성적 사전 훈련(GPT 이름의 유래이기도 함, Generative Pre-Training, 즉 생성적 사전 훈련)을 사용하고 있지만 비지도 사전 훈련이라는 패러다임을 사용합니다. + 다운스트림 작업 미세 조정 . 이 패러다임은 사실 새로운 발명품은 아니다. CV(컴퓨터 비전) 분야에서 널리 사용됐지만, 그해 ELMo 모델의 뛰어난 성능으로 인해 NLP 분야에 다시 도입됐다.

그해 GPT 모델의 등장이 업계에서 주목을 받았지만 그 해에는 C의 주인공이 아니었습니다. 같은 해에 Google의 BERT 모델이 출시되어 뛰어난 결과로 거의 모든 관심을 끌었기 때문입니다(이 장면은 현재의 ChatGPT와 약간 비슷합니다. Google과 OpenAI 간의 "불만"이 실제로는 환생) .

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

그림을 보면 BERT가 GPT에 대해 벤치마킹되었음을 알 수 있으며 양방향 인코딩 기능을 자랑스럽게 지적합니다.

BERT 모델도 GPT와 동일한 Transformer 모델 구조를 사용하지만 거의 "비지도 사전 훈련 + 다운스트림 작업 미세 조정"이라는 패러다임에 맞춰진 모델입니다. GPT와 비교하면 BERT에서 사용하는 Masked Language Model은 텍스트를 직접 생성하는 기능은 없지만 양방향 인코딩 기능을 얻게 되므로 모델에 더 강력한 텍스트 인코딩을 제공하므로 성능이 다운스트림 작업 효과의 실질적인 개선에 직접 반영됩니다. 텍스트 생성 기능을 유지하기 위해 GPT는 단방향 인코딩만 사용할 수 있습니다.

그 해의 관점에서 볼 때 BERT는 확실히 더 나은 모델입니다. BERT와 GPT는 모두 "사전 훈련 + 미세 조정" 패러다임을 채택하고 다운스트림 작업은 여전히 ​​분류, 일치, 시퀀스 라벨링 등과 같은 "고전적인" NLP 작업 형식이므로 BERT 모델은 다음에 더 많은 주의를 기울입니다. 기능 인코딩 품질, 다운스트림 작업은 미세 조정 작업과 일치하는 적절한 손실 함수를 선택합니다. 이는 분명히 이러한 작업을 "로터리" 완료하는 GPT의 텍스트 생성 방법보다 더 직접적입니다.

BERT 모델이 나온 후 "비지도 학습 + 다운스트림 작업 미세 조정"이라는 패러다임이 지배력을 확립했으며 BERT의 아이디어를 따르고 "더 나은 텍스트 특성 인코딩을 얻는 방법"을 고민하는 다양한 방법이 있습니다. GPT 생성 작업을 목표로 하는 모델인 는 "외계인"처럼 보입니다. 돌이켜보면 OpenAI가 "추세를 따르고" 생성적 사전 훈련 경로를 포기했다면 ChatGPT와 같은 모델을 보려면 더 오래 기다려야 했을 것입니다.

GPT-2가 가져온 희망

물론 이제 ChatGPT를 보았기 때문에 OpenAI는 생성적 사전 훈련 경로를 포기하지 않았습니다. 실제로 끈기의 '보상'은 두 번째 해, 즉 2019년에 다가왔다. OpenAI가 48단 Transformer 구조를 갖춘 GPT-2 모델을 출시했습니다. 출판된 논문(Language Models are Unsupervised Multitask Learners)에서 그들은 비지도 데이터와 생성 훈련을 통해 GPT가 제로샷 멀티태스킹 기능을 시연했다는 사실을 발견했습니다. 놀라운 점은 이러한 멀티 태스킹 기능이 훈련 데이터에 명시적으로 또는 인위적으로 추가되지 않는다는 것입니다. 일반인의 용어로 예를 들자면 GPT-2가 보여주는 기능 중 하나가 번역이지만, 놀랍게도 일반적으로 번역에 특별히 사용되는 모델에는 감독을 위해 대량의 병렬 코퍼스(즉, 서로 다른 두 언어 간) 쌍 데이터)가 필요합니다. 그러나 GPT-2는 이런 종류의 데이터를 사용하지 않고 대량의 말뭉치에 대해서만 생성 훈련을 수행하며 "갑자기" 번역할 수 있습니다. 이 발견은 다소 파괴적입니다. 이는 사람들에게 세 가지 중요한 현상을 보여줍니다.

  • 모델이 NLP 작업을 완료하도록 하려면 작업과 일치하는 레이블이 지정된 데이터가 필요하지 않을 수도 있습니다. 예를 들어, GPT-2는 학습 시 주석이 달린 번역 데이터를 사용하지 않지만 번역을 수행합니다.
  • 모델이 NLP 작업을 완료하도록 하려면 작업과 일치하는 학습 목표가 필요하지 않을 수 있습니다. . 예를 들어 GPT-2는 학습 중에 번역 작업 및 관련 손실 기능을 설계하지 않고 언어 모델 작업만 수행했습니다.
  • 언어 모델 작업(예: 생성 작업)으로만 훈련된 모델은 다중 작업 기능도 가질 수 있습니다. 예를 들어, GPT-2는 번역, 질문 답변, 독해 등의 기능을 입증했습니다.

오늘의 관점에서 볼 때 당시 GPT-2가 보여준 다양한 기능은 여전히 ​​상대적으로 초보적이었고 지도 데이터를 사용하여 미세 조정한 다른 일부 모델과 결과가 여전히 크게 달랐지만 OpenAI는 그렇지 않았습니다. 포함된 잠재적인 기능에 대한 기대로 가득 차 있어 논문 초록의 마지막 문장에서 GPT 시리즈 모델의 미래에 대한 기대를 제시했습니다.

“이러한 연구 결과는 유망한 자연스럽게 발생하는 시연을 통해 작업을 수행하는 방법을 배우는 언어 처리 시스템 구축을 향한 길입니다.”

나중에 일련의 이벤트 개발을 통해 그들이 실제로 이 유망한 경로를 향해 나아가고 있음이 입증되었습니다. 2018년 1세대 GPT 모델이 나왔을 때, GPT의 생성적 사전 훈련은 여전히 ​​"특성 추출"을 목적으로 BERT와 같은 사전 훈련 모델에 의해 모든 측면에서 분쇄되는 문제에 직면해 있었다면, GPT-2에서는 생성적 사전 훈련은 BERT 유형 모델로 대체할 수 없는 잠재적인 이점, 즉 언어 모델 작업이 가져오는 다중 작업 기능을 제공하며 이 다중 작업 기능에는 레이블링 데이터가 필요하지 않음을 확인했습니다.

물론 그 시점에서 생성 기술 경로는 여전히 위험과 도전에 직면해 있습니다. 결국, 당시 GPT-2의 다양한 작업 성능은 미세 조정 모델에 비해 여전히 좋지 않았으며, 이로 인해 GPT-2에는 번역, 요약 등의 기능이 있지만 실제로는 그 효과가 너무 낮았습니다. 사용된. 따라서 그 당시에 사용 가능한 번역 모델을 원한다면 여전히 최선의 선택은 주석이 달린 데이터를 사용하여 번역을 위해 특별히 모델을 교육하는 것입니다.

GPT-3, 데이터 플라이휠의 시작

ChatGPT 시대를 되돌아보면 아마도 GPT-2에서 OpenAI의 발견이 GPT 시리즈 모델에 대한 신뢰를 더욱 강화하고 연구 개발을 늘리기로 결정했을 것입니다. 그것에 노력을 기울이십시오. 2020년에 1,750억 개의 매개변수가 포함된 GPT-3을 출시했는데, 이는 오늘날의 관점에서도 놀라울 정도로 큰 모델입니다. OpenAI는 이 모델을 훈련하는 데 드는 비용을 공개하지 않았지만 당시에는 모두 1,200만 달러의 비용이 든다고 추정했습니다. 또한 이 새로운 거대 기업이 시연한 새로운 기능을 자세히 설명하는 60페이지가 넘는 문서(언어 모델은 소수의 학습자입니다)도 발표되었습니다. 가장 중요한 발견은 논문 제목에 명시된 것입니다. 즉, 언어 모델은 작은 샘플(몇 개 샷)로 학습할 수 있는 능력이 있다는 것입니다.

스몰 샘플 학습(Small Sample Learning)은 머신러닝 분야의 전문 용어이지만, "인간은 소수의 예를 통해 새로운 언어 과제를 학습할 수 있다"는 매우 간단한 개념을 갖고 있습니다. 중국어 수업에서 "put"이라는 단어를 "be"라는 단어로 바꾸는 방법을 배운다고 상상해 보세요(옷이 비에 젖었습니다 - 옷이 비에 젖었습니다). 교사가 몇 가지 예를 제시하고 학생들이 그렇게 할 것입니다. 이 능력을 마스터할 수 있습니다.

하지만 딥 러닝 모델의 경우 일반적으로 새로운 능력을 익히려면 수천 개의 예시를 학습(훈련)해야 하는데, GPT-3가 인간과 비슷한 능력을 가지고 있다는 것은 누구나 알 수 있습니다. 그리고 핵심은 몇 가지 예만 보여주면 추가 교육 없이(즉, 경사 역전파 및 기존 교육 없이) 매개변수 업데이트 없이 예에서 제공하는 작업을 "모방"한다는 것입니다. 이후 연구에 따르면 이 능력은 거대 모델에만 있는 고유한 기능이며 업계에서는 "상황별 학습"이라고 합니다.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

GPT-3 논문에서 입증된 영어에서 프랑스어로의 상황별 학습 능력.

사실 작은 샘플로 학습하는 능력 자체는 놀라운 발견이 아닙니다. 결국 업계에서는 소표본 학습에 대한 연구를 진행해왔고, 소표본 학습에 특화된 많은 모델들이 뛰어난 소표본 학습 능력을 갖고 있습니다. 그러나 GPT-3에서 입증된 "상황에 따른 학습"이라는 소표본 능력은 매우 예상치 못한 것입니다. 그 이유는 GPT-2에서 입증된 다중 작업 능력과 동일합니다.

  • GPT-3은 설계되지 않았습니다. 작은 샘플의 능력은 훈련 데이터 및 훈련 방법 측면에서 특별히 설계되었습니다. 이는 여전히 언어 모델 작업으로 훈련된 생성 모델일 뿐입니다.
  • GPT-3의 작은 샘플 능력은 "상황에 따른 학습"을 기반으로 합니다. "라는 식으로 표시됩니다. 즉, 새로운 능력을 습득하고 싶다면 재교육할 필요가 없고 몇 가지 시범 사례만 보여주면 됩니다.

이 기능 외에도 GPT-3은 GPT-2에 비해 뛰어난 텍스트 생성 기능을 보여주며 생성되는 콘텐츠가 더 부드럽고 매우 긴 콘텐츠를 생성할 수 있습니다. 이러한 기능이 하나의 모델에 종합적으로 반영되어 GPT-3는 당시 모든 사람의 관심을 끌었으며 OpenAI가 외부 세계에 공식적으로 서비스를 제공하는 모델이 되었습니다.

그런데 이번 모델 서비스 오픈과 함께 이 모델을 이용하려는 분들이 많아지고 있습니다. 이후 OpenAI는 더욱 다양한 데이터를 대중에게 공개함으로써 수집해 왔으며(사용자가 입력한 내용은 모델 훈련에 사용될 수 있으며 이는 사용자 용어로 작성됨) 이러한 데이터는 후속 모델 반복에서도 중요한 역할을 합니다. . 그 이후로 GPT 시리즈 모델의 데이터 플라이휠이 바뀌었습니다. 고품질의 사용자 데이터가 많을수록 더 나은 모델이 반복됩니다.

ChatGPT와 다르게 GTP-3은 대화식 상호작용 모델이 아니라 텍스트 연속 모델(즉, 입력한 텍스트 뒤에 쓰기)이 아니기 때문에 오늘날의 ChatGPT와 같은 다단계 대화 기능을 갖추고 있습니다. 가지다. 하지만 이미 스토리 작성, 이메일 자동 완성 등과 같은 많은 작업을 수행할 수 있습니다. 그러나 동시에 모든 사람은 점차적으로 몇 가지 문제를 발견하게 되었습니다. 예를 들어 사실과 일치하지 않는 내용이 출력되거나 일부 유해한 발언이 출력됩니다. 이것이 이 텍스트 생성 모델의 가장 두드러진 단점입니다. 비록 많은 반복을 거쳤지만 ChatGPT는 오늘날에도 여전히 비슷한 문제에 직면해 있습니다.

CodeX, 컴퓨터가 자체 코드를 작성하게 하세요.

OpenAI는 GPT-3에 대한 연구 중에 예상치 못한 발견도 했습니다. 이는 일부 의견을 기반으로 매우 간단한 코드를 생성할 수 있습니다. 이에 2021년에는 코드 생성에 전념하는 연구 투자를 하여 CodeX 모델을 출시했습니다. 자연어 입력을 기반으로 더욱 복잡한 코드를 생성할 수 있는 코드 전문화 기능을 갖춘 GPT 모델이라고 볼 수 있습니다.

외부적으로 보면 코드 생성 연구와 GPT 시리즈 모델 개발이 동시에 진행되고 있는지 알 수 없습니다. 그러나 당시에는 모델에 코드 생성 기능을 허용하는 것이 실제로 더 의미가 있었습니다. 결국 GPT-3에는 아직 ChatGPT의 강력한 기능이 없었습니다. 반면에 모델이 코드를 생성하도록 하면 유해한 텍스트 콘텐츠가 생성될 위험도 피할 수 있습니다.

CodeX 논문에서 몇 가지 핵심 사항이 언급되었습니다. 첫 번째는 전문 코드 데이터(데이터는 github의 오픈 소스 코드에서 가져옴, 총 159G)에 대한 텍스트 데이터로 사전 훈련된 GPT 모델을 훈련하는 것이 실제로 크게 향상될 수 있다는 것입니다. 모델의 정확성을 향상시킵니다. 코드 이해 및 출력 기능. 둘째, 이 논문은 120억 개의 매개변수를 가진 "소형" 모델을 사용합니다. 이 정보는 개방형 인터페이스를 갖춘 1,750억 개의 매개변수 GPT-3 모델 외에도 OpenAI 내에 다양한 크기의 다른 모델 버전이 있다는 측면을 반영합니다.

모델이 코드 결정을 이해하고 생성할 수 있도록 코드 교육을 추가하려는 원래 의도는 GPT에 대한 적용 시나리오를 하나 더 갖는 것일 수도 있습니다. 이는 GPT 시리즈 모델의 자연어 이해 및 활용 능력과 별로 연관성이 없어 보이지만, 후속 연구에 따르면(자세한 분석은 '분해는 다양한 기원을 추적한다' 기사 참조) GPT-3.5의 기능 》), 코드 데이터에 대한 교육을 늘리면 자연어에서 복잡한 추론 및 사고 체인을 수행하는 최신 GPT 모델의 기능이 촉발될 가능성이 높습니다.

아마도 OpenAI는 처음 CodeX 작업을 시작했을 때 이런 결과를 기대하지 않았지만 텍스트 생성 작업을 사용하여 GPT 모델을 만든 다음 GPT-2 및 GPT-3에서 "잠금 해제"한 것과 같습니다. "멀티태스킹 능력"과 "컨텍스트에 따라 학습하는 능력", 코드 데이터의 도입은 다시 한번 예상치 못한 이득을 안겨주었습니다. 다소 우연처럼 보이지만 기술 경로에 대한 미래지향적인 이해와 끈기, 지속적인 투자가 분명히 중요한 요소입니다.

InstructGPT, GPT가 스스로 말하게 하세요

앞서 언급했듯이 GPT-3는 이미 강력한 기능을 갖추고 있지만 온라인에 접속한 후 점점 더 많은 사람들이 사용함에 따라 많은 문제가 발견되었습니다. 진지한 것은 "말도 안되는 소리를 진지하게 하는 것"과 "유해한 내용을 출력하는 것"이어야 한다. OpenAI는 2021년에 모델이 코드를 이해하고 생성하도록 하는 데 일시적으로 초점을 맞춘 것으로 보이지만 GPT-3에서는 이러한 문제를 해결하려고 노력했어야 합니다.

2022년 초 OpenAI는 InstructGPT 논문(인간 피드백을 통해 지침을 따르도록 언어 모델 훈련)을 발표했는데, 이를 통해 이러한 문제를 해결하는 방법을 엿볼 수 있습니다. 논문의 핵심 아이디어는 모델이 인간의 가르침(피드백)을 받아들일 수 있도록 하는 것인데, 이는 제목에 명확하게 명시되어 있습니다.

GPT-3가 "진지하게 헛소리를 한다", "유해한 내용을 출력한다"는 등의 문제가 생기는 이유는 GPT-3가 사용하는 훈련 데이터에서 비롯됩니다. GPT-3과 같은 거대 기업에는 엄청난 양의 데이터가 필요합니다. 우리는 GPT-3 논문에서 데이터 소스를 찾을 수 있는데, 이는 대략 웹 콘텐츠, 백과사전 콘텐츠, 도서의 세 가지 범주로 나눌 수 있습니다. 웹 콘텐츠의 양은 매우 많지만, 이는 또한 매우 "더럽고, 지저분하고, 열악"하며, 당연히 허위이고 유해한 콘텐츠를 많이 포함하고 있습니다. GPT-3는 이 데이터를 학습하고 자연스럽게 이러한 것들을 학습합니다.

하지만 외부 세계에 서비스를 제공하는 제품인 GPT-3는 답변에 더욱 신중해야 합니다. 이 문제를 해결하기 위한 어려움 중 하나는 모델이 말하는 방식을 정의하는 방법에 있습니다. 생성 모델의 출력 내용은 분류 라벨이나 개체 명사처럼 명확하고 객관적인 옳고 그름의 내용이 아닌 자연어 그 자체이기 때문입니다. 명확한 옳고 그름이 없기 때문에 고전적인 NLP 모델 훈련처럼 목표에 맞는 훈련 작업을 직접 설계하는 것이 불가능합니다.

InstructGPT에서 제공하는 솔루션은 "좋은 답변"의 평가 지표에 영향을 미치는 요소가 매우 다양하고 이러한 요소가 서로 얽혀 있으므로 답변 작성 방법을 알려주세요. 인간은 "명확한 요구 사항과 모호한 범위"로 이러한 종류의 문제를 더 잘 처리하기 때문에 실제 사람들이 "훌륭한 예"를 작성하고 모델이 이러한 "뛰어난 예"를 학습하도록 하십시오. 이것이 바로 InstructGPT가 제안한 일반적인 아이디어입니다.

구체적으로 InstructGPT는 GPT가 인간이 제공한 "훌륭한 예"를 학습할 수 있도록 2단계 경로를 제안합니다. 첫 번째 단계는 지도 학습이고, 두 번째 단계는 강화 학습입니다. 첫 번째 단계(아래 그림의 가장 왼쪽 1단계에 해당)에서는 실제 사람이 다양한 프롬프트(대략적으로 ChatGPT를 사용할 때 대화 상자에 입력하는 텍스트)를 따르도록 합니다. 업계에서는 이것을 명령이라고 합니다.) 진실되고, 무해하며, 도움이 되는 답변을 작성하세요. 실제 운영 과정에서는 이 콘텐츠의 품질을 보장하기 위해 답변을 작성하는 주석자에게 몇 가지 규범적인 지침을 제공한 후, 사전 훈련된 GPT 모델이 이러한 사람이 편집한 데이터에 대해 계속해서 훈련하게 됩니다. 이 단계는 모델에 대한 일종의 '훈련'이라고 볼 수 있다. 느슨한 비유를 하자면 마치 중국어 선생님이 조용히 훌륭한 에세이를 쓰라고 하는 것과 같다.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

사진은 InstructGPT 논문에서 가져온 것입니다. 이 논문에서는 지도 지침 미세 조정 + 인간 피드백을 통한 강화 학습을 통해 모델 출력을 합리적으로 만들 것을 제안합니다.

두 번째 단계는 강화 학습으로, 기술적으로 두 단계로 나뉩니다. 첫 번째 단계(위 그림 중간의 2단계에 해당)는 "훈련된" 모델이 다양한 프롬프트에 따라 여러 가지 답변을 생성하도록 하고 인간이 이러한 답변을 좋은 기준과 나쁜 기준에 따라 분류하도록 하는 것입니다. 그런 다음 이러한 레이블이 지정된 데이터를 사용하여 더 많은 데이터를 자동으로 정렬하고 점수를 매길 수 있도록 점수 매기기 모델을 교육합니다. 강화학습 단계의 두 번째 단계(위 그림의 오른쪽 3단계에 해당)는 이 채점 모델을 강화학습의 환경 피드백으로 사용하고, 정책 기울기(Policy Gradient, 정확하게는 PPO 알고리즘)를 사용하는 것입니다. ) ~ 훈련된 GPT 모델이 훈련됩니다. 전체 두 번째 단계 과정은 모델의 "강화"로 볼 수 있습니다. 느슨한 비유를 사용하면 중국어 교사가 에세이에 대한 점수를 주고 점수를 통해 무엇이 좋고 무엇이 좋은지 구분하도록 요구하는 것과 같습니다. . 좋지 않은데 계속 개선해 보세요.

그러므로 아주 느슨하게 표현하지만 일반 사람들도 이해할 수 있도록 InstructGPT는 먼저 "훌륭한 인간 ​​예를 받아쓰기" "잘 말하세요"를 통해 "눈에 거슬리지 않는" GPT를 먼저 학습하게 하고, 그런 다음 "혼자 쓴 내용에 점수를 주고, 다시 돌아가서 이해하고 계속해서 발전하도록 하세요". 물론 "우수한 에세이"의 구체적인 사양 및 수량과 같은 데이터 문제뿐만 아니라 강화 학습에서 채점 모델 선택 및 알고리즘 매개 변수 설정과 같은 알고리즘 문제와 같이 상황이 기술적으로 더 관련될 것입니다. 모두 최종 결과에 영향을 미칩니다. 그러나 최종 결과는 이 방법이 매우 효과적이라는 것을 보여줍니다. 또한 위 방법을 통해 훈련된 13억 개의 작은 모델이 이러한 방법으로 훈련되지 않은 더 큰 모델보다 성능이 뛰어날 수 있음을 지적합니다.

이 외에도 논문에 언급할 만한 내용이 몇 가지 있습니다. 첫째, Prompt에 대한 몇 가지 조사 결과입니다. InstructGPT 훈련에 사용되는 Prompt는 크게 두 부분으로 구성되는데, 한 부분은 전문 AI 트레이너가 작성한 내용이고, 다른 부분은 OpenAI 모델의 온라인 서비스 중 사용자가 작성한 내용입니다. 데이터 플라이휠이 반영됩니다. 어떤 종류의 프롬프트인지에 관계없이 이러한 프롬프트는 실제 사람들이 작성한 것임을 알 수 있습니다. 비록 기사에서는 이러한 프롬프트의 구체적인 적용 범위, 배포 및 질문 방법에 대한 자세한 분석을 수행하지 않지만 합리적으로 추측할 수 있습니다. 이러한 프롬프트는 다양성과 높은 품질을 가지고 있습니다. 실제로 이 기사에서는 실제 사람이 작성한 프롬프트를 사용하여 훈련한 모델과 일부 오픈 소스 NLP 작업 데이터 세트(예: T0 데이터 세트, FLAN 데이터 세트)에 내장된 프롬프트를 사용하여 훈련한 모델을 비교했습니다. 실제 사람들이 프롬프트를 작성하면 주어진 답변이 리뷰어에게 더 잘 받아들여질 수 있습니다.

또 다른 점은 훈련된 모델이 새로운 Prompt에 대한 일반화 능력에 관한 것입니다. 훈련된 모델이 Prompt의 일반화 능력을 생산할 수 없다면 현재 ChatGPT 성능은 거의 모든 질문에 대답하는 능력이 될 것이라고 생각할 수 있습니다. 할 것 같지 않은. 모델의 미세 조정 단계에서는 아무리 많은 데이터가 있어도 사람들이 입력할 수 있는 모든 내용을 완벽하게 다루는 것은 불가능하기 때문입니다. InstrctGPT 논문에서는 논문에서 사용된 방법이 Prompt의 일반화 능력을 발휘할 수 있다고 지적합니다.

InstructGPT를 소개하는 데 더 많은 시간을 소비한 이유는 공식 ChatGPT 페이지의 소개에 따르면 InstructGPT의 방법이 정확히 ChatGPT를 훈련하는 데 사용되는 방법이기 때문입니다. 차이점은 ChatGPT가 대화형 데이터 구성 방법을 사용한다는 것입니다. .

GPT-3.5 시대와 ChatGPT의 탄생

이후 OpenAI는 GPT-3.5 시리즈라는 여러 모델을 출시했지만, 이 기사에 따르면 이러한 모델은 GPT-3.5 시리즈는 GPT-3 시대 OpenAI가 축적한 기술, 데이터, 경험을 통합하여 개발되어야 합니다. 자세한 공식 공개 정보가 없기 때문에 외부에서는 주로 사용 경험, 관련 기술 논문, OpenAI의 API 문서 도입 등을 분석하여 해당 모델의 구체적인 정보를 추측하고 있습니다.

분석에 따르면 GPT-3.5 시리즈의 모델은 GPT-3에서 미세 조정되지 않았을 수 있지만 코드 및 자연어 데이터와 융합하여 모델을 처음부터 다시 학습했을 수 있습니다. GPT-3의 1,750억 매개변수보다 클 수 있는 이 모델은 OpenAI API에서 codex-davinci-002로 명명됩니다. 그런 다음 이 기본 모델을 기반으로 ChatGPT를 포함한 지침 미세 조정 및 인간 피드백을 통해 일련의 후속 모델을 얻었습니다.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

GPT 시리즈 모델의 개발 경로.

간단히 code-davince-002 모델부터 시작하여 supervised Instruction Fine-tuning을 통해 text-davinci-002를 얻습니다. 그리고 후속 text-davinci-003과 ChatGPT도 GPT-3.5 시리즈 모델에 대한 명령어 미세 조정 및 인간 강화 학습 피드백을 통해 획득되었습니다. 그리고 text-davinci-003과 ChatGPT는 모두 2022년 11월에 출시되었습니다. 차이점은 GPT-3과 마찬가지로 text-davinci-003도 텍스트 완성 모델이라는 점입니다. ChatGPT의 공식 도입에 따르면, 과거의 데이터를 대화형 상호작용 형태로 처리하고, 새로운 대화형 데이터를 추가하는 방식으로 학습됩니다.

지금까지 2018년 오리지널 GPT부터 현재 ChatGPT까지 OpenAI GPT 시리즈 모델의 개발 및 반복 프로세스를 대략적으로 검토했습니다. 이 과정에서 OpenAI는 항상 생성적 사전 훈련 모델의 기술 경로에서 "완고함"을 유지해 왔으며, 원래의 Transformer 모델 구조에서 진화하는 NLP 기술의 새로운 방법을 흡수해 왔습니다. 명령 미세 조정(프롬프트 조정)과 같은 기술의 출현은 오늘날 ChatGPT의 성공에 공동으로 기여했습니다. GPT 시리즈 모델 개발에 대한 이해를 바탕으로 오늘날의 ChatGPT를 다시 살펴볼 수 있습니다.

3. ChatGPT 자세히 살펴보기

첫 번째 장에서 ChatGPT가 원에서 벗어난 주된 이유는 "인간이 입력한 자연어를 피드백하기 위해 부드럽고 논리적인 자연어를 사용하기 때문"이라고 설명했습니다. ." , 따라서 그것과 소통하는 사람들에게 강한 "지성적 감각"을 가져다줍니다. 2장에서는 GPT 시리즈 모델의 개발 이력을 검토하여 ChatGPT의 성공 경로에 대해 알아보겠습니다. 이 장에서는 외부인이 최대한 이해할 수 있는 방식으로 기술 내용에 대해 좀 더 깊이 들어가고 현재 대규모 텍스트 생성 모델 중 일부가 동일한 효과를 달성하지 못하는 이유를 살펴보겠습니다. 이 부분의 주요 참고 자료는 "언어 모델의 창발 기능에 대한 심층적 이해"와 "GPT-3.5 기능의 기원에 대한 해체 및 추적" 두 기사와 일부 관련 논문에서 나온 것입니다. 자세한 내용을 알고 싶은 독자는 원본 텍스트를 읽어보세요.

ChatGPT가 가져온 놀라운 효과는 다양한 NLP 작업에 종합적으로 반영된다는 점을 첫 번째 장에서 지적했지만, 그 뒤에 있는 기술을 분석하면 여전히 그 기능을 좀 더 명확하게 분해할 수 있습니다. 전반적으로 ChatGPT에 구현된 기능은 대략 다음과 같은 차원으로 나눌 수 있습니다.

- 텍스트 생성 기능: ChatGPT의 모든 출력은 생성된 텍스트이므로 텍스트 생성 기능은 가장 중요한 기본 요구 사항입니다.

이 기능은 실제로 학습 방법에서 비롯됩니다. ChatGPT가 사전 학습되면 모든 OpenAI GPT 시리즈 모델의 기초가 되는 표준 자동 회귀 언어 모델 작업입니다. 소위 자동회귀 언어 모델 작업에 대한 대중적인 이해는 입력된 텍스트를 기반으로 다음 토큰이 무엇인지 예측할 수 있다는 것입니다. 여기에 언급된 토큰은 모델에서 사용되는 문자 조각의 가장 작은 단위를 나타냅니다. 문자(중국어에서는 문자를 사용하는 것이 매우 일반적임)일 수도 있고, 단어(영어의 각 단어는 자연스럽게 공백으로 구분됨)일 수도 있습니다. 단어가 자주 사용됨) 또는 문자도 사용됩니다. 그러나 현재의 방법은 대개 하위 단어(문자와 단어 사이의 하위 단어, 단어 수를 줄이는 것이 주요 목적)를 사용합니다. 하지만 어느 쪽이든 상관없이 자동 회귀 언어 모델 작업의 기본 아이디어는 아래 예와 같이 입력된 텍스트를 기반으로 출력될 다음 텍스트를 예측하는 것입니다.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

이 예에서 BOS는 입력의 시작을 나타내며, 각 토큰은 단어입니다. GPT 모델은 입력 단어 "today"와 "weather"를 기반으로 다음 출력이 "good"이라고 예측합니다.

훈련 중에는 웹 페이지의 기사, 다양한 책 등 많은 텍스트 데이터가 준비됩니다. 일반적인 텍스트 콘텐츠라면 훈련에 사용할 수 있습니다. 이러한 종류의 데이터는 원래 사람이 작성한 것이기 때문에 추가 수동 주석이 필요하지 않다는 점을 언급할 가치가 있습니다. , 그러면 "이 말 뒤에 있는 이곳은 무엇이어야 하는가?"라는 질문이 생깁니다. 이를 업계에서는 "비지도 학습"이라고 부릅니다. 실제로 모델이 실제로 비지도 학습은 아니지만(그렇지 않으면 모델이 무엇을 학습할까요?) 해당 데이터에는 추가 수동 주석이 필요하지 않습니다. 이 작업에는 추가 주석이 필요하지 않기 때문에 많은 양의 데이터를 "무료"로 얻을 수 있습니다. 인터넷의 인기 덕분에 실제 사람들이 작성한 많은 양의 텍스트 콘텐츠를 교육용으로 "쉽게" 얻을 수 있습니다. 이는 GPT 시리즈 모델의 특징 중 하나이기도 합니다. 대규모 모델을 학습하는 데는 엄청난 양의 데이터가 사용됩니다.

ChatGPT를 사용할 때 어떻게 작동하나요? 실제로 이는 훈련 방법과 동일합니다. 모델은 대화 상자에 입력한 내용을 기반으로 내용에 이어 다음 토큰을 예측합니다. 텍스트가 모델에 제공되고 모델은 특정 조건이 충족될 때까지 다음 토큰 등을 예측합니다. 이 중지 조건을 설계하는 방법에는 여러 가지가 있습니다. 예를 들어 출력 텍스트가 특정 길이에 도달하거나 모델이 중지를 나타내는 데 사용되는 특수 토큰을 예측할 수 있습니다. 모델이 다음 토큰을 예측할 때 실제로는 이면의 샘플링 프로세스라는 점도 언급할 가치가 있습니다. 즉, 모델이 토큰을 예측할 때 실제로 가능한 모든 토큰의 확률을 출력한 다음 이 확률 분포에서 토큰을 샘플링합니다. 따라서 ChatGPT를 사용하면 동일한 입력에 대해 비밀리에 다른 토큰을 출력으로 샘플링하기 때문에 출력이 매번 다르다는 것을 알 수 있습니다.

이를 이해한 후에는 다시 돌아가 모델이 무엇을 학습하고 있는지 생각해 볼 수 있습니다. 질문과 답변에 답하는 방법을 배우는 것인가요? 아니면 자연어에 담긴 정보와 논리, 감정을 이해하는 방법을 배우는 것인가? 아니면 엄청난 양의 지식을 배우고 있는 걸까요? 훈련 작업의 설계로 볼 때, "입력 텍스트를 기반으로 인간이 다음에 무엇을 쓸 것인가"라는 방대한 텍스트 데이터에서만 학습하는 것은 없는 것 같습니다. 하지만 이런 모델이 ChatGPT로 '진화'하면 풍부한 지식, 복잡한 논리적 추론 등을 마스터하게 됩니다. 인간이 언어를 사용하는 데 필요한 거의 모든 능력을 마스터한 것 같습니다. 이것은 매우 마법적인 일이며, 그 "진화" 과정은 다음 장에서 더 깊이 소개될 것입니다.

- 풍부한 지식 보유: ChatGPT는 역사, 문학, 수학, 물리학, 프로그래밍 등을 포함한 많은 질문에 정확하게 답할 수 있습니다. ChatGPT의 현재 버전은 외부 지식을 활용하지 않기 때문에 이 지식의 내용은 모델 내에 "저장"됩니다.

ChatGPT의 풍부한 지식 기반은 교육 데이터와 이러한 콘텐츠를 학습하기에 충분한 양에서 비롯됩니다. 관계자는 ChatGPT에서 사용되는 훈련 데이터의 구체적인 세부 사항을 공개하지 않았지만 이전 GPT-3의 논문에서 데이터가 웹 콘텐츠, 도서 콘텐츠, 백과사전 등 크게 세 가지 범주로 나눌 수 있음을 추론할 수 있습니다. 콘텐츠. 이러한 콘텐츠에는 백과사전이나 서적은 물론이고 당연히 많은 양의 지식이 포함되어 있다고 생각할 수 있지만, 웹 콘텐츠에도 뉴스, 댓글, 의견 등이 많이 포함되어 있고, 웹 페이지에도 전문적인 Q&A 수직 웹사이트가 많이 포함되어 있다고 생각됩니다. , ChatGPT의 지식 소스입니다. 공식 소개에서는 ChatGPT가 2021년 이후에 무슨 일이 일어났는지 답변할 수 없다고 지적하고 있으므로 훈련 데이터 수집이 2021년에 종료된다는 것이 합리적인 추측입니다.

그러나 데이터의 양은 단지 하나의 측면일 뿐입니다. 모델이 이 데이터를 "마스터"하기 위해서는 자체 볼륨이 작을 수 없습니다. GPT-3를 예로 들면, 1,750억 개의 매개변수가 있는데, 이러한 데이터의 내용과 모델의 다양한 기능이 각 매개변수의 특정 값 형태로 훈련된 모델에 고정되어 있다는 것을 대략적으로 이해할 수 있습니다. . 지각적으로 이해하는 바는 모델에 매개변수가 1개뿐이면 아무 것도 할 수 없다는 것입니다. 보다 엄격한 분석 및 비교를 위해서는 이 문서 "언어 모델의 전체적 평가"의 평가를 참조할 수 있습니다. 방향적인 결론은 모델이 클수록 완료하는 데 지식이 필요한 작업에서 더 나은 성능을 발휘한다는 것입니다.

논문 주소: https://arxiv.org/pdf/2211.09110.pdf

- 논리적 추론과 사고 사슬의 능력: 같은 우리에 갇힌 닭과 토끼의 예에서 첫 번째 장 그림을 보면 ChatGPT가 강력한 논리적 추론 능력을 가지고 있음을 알 수 있습니다. 그리고 복잡한 내용을 여러 개의 작은 단계로 나누고, 단계별로 추론을 수행하여 최종 답을 얻을 수 있는 능력을 사고 사슬이라고 합니다.

이전 소개에서 우리는 모델이 훈련 중 논리적 추론 및 사고 체인을 위해 특별히 설계되지 않았다는 것을 알고 있습니다. 현재 주류 견해는 논리적 추론과 사고 사슬이 두 가지 요소와 관련될 가능성이 높다는 것입니다. 첫 번째는 모델의 크기이고, 두 번째는 모델이 코드 데이터에 대해 훈련되었는지 여부입니다.

모델 크기와 추론 및 사고 체인 기능 간의 관계에 대해서는 "언어 모델의 창발 기능에 대한 심층적 이해"에 해당 소개가 있습니다. 아래 그림은 사고 체인 기능과 모델 크기 간의 관계를 보여줍니다.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

다양한 모델과 다양한 크기의 사고 연쇄 효과를 비교한 그림은 종이에서 나옵니다. GSM8K, SVAMP, MAWPS는 논리적 추론이 필요한 세 가지 수학적 단어 문제 데이터 세트이고, LaMDA, GPT, PaLM은 각각 서로 다른 세 가지 모델입니다.

간단히 차트는 세 가지 수학 단어 문제 데이터 세트에 대한 세 가지 모델의 정답률을 보여줍니다. 주목할 만한 점은 다음과 같습니다.

  • 사고 사슬의 능력(파란색 실선)은 모델 크기가 충분히 클 때 갑자기 변화합니다.
  • 사고 사슬의 능력은 다음과 같습니다. 모델 모델이 충분히 크면 효과가 표준 프롬프트(검은색 실선) 방법을 초과합니다.
  • 모델이 크면 사고 체인의 능력이 감독 방법(주황색 점선)에 접근하거나 초과할 수 있습니다. 충분한. .

일반인의 관점에서 보면, 모델이 충분히 커지면 사고 사슬의 능력이 갑자기 나타나 추론 데이터 세트에 대한 지도 학습을 위해 특별히 훈련된 모델에 도달하거나 심지어 능가할 수 있습니다. 이 다이어그램은 현재 ChatGPT에서 볼 수 있는 뛰어난 추론 및 사고 사슬 기능을 부분적으로 설명할 수 있습니다.

추론 및 사고 체인 기능과 관련된 또 다른 요소는 모델이 코드 데이터에 대해 훈련되었는지 여부와 관련이 있습니다. 현재 이는 단지 추론일 뿐입니다. "GPT-3.5 기능의 기원 해체 및 추적"의 분석에 따르면 비슷한 크기의 대형 모델은 훈련을 받지 않은 경우 사고 사슬과 추론이 매우 약하거나 거의 없습니다. 코드. ChatGPT는 실제로 코드 데이터에 대한 교육을 받았으며 이는 코드를 이해하고 생성하는 능력에서도 확인할 수 있습니다. 2장의 개발 프로세스 검토에서 언급했듯이 OpenAI는 2021년에 코드 전용 CodeX 모델을 출시했습니다. GPT의 학습 데이터에 코드 데이터를 추가하는 작업은 그때부터 시작했어야 했습니다.

- 사람들의 질문이나 지시에 응답하는 능력: 좁은 "질문과 답변" 기반 상호 작용 외에도 ChatGPT는 입력 요구 사항에도 응답할 수 있습니다. 예를 들어, "나에게 편지를 써주세요"와 같은 명령형 요청에 응답할 때에도 뛰어난 성능을 보여주었습니다. 이러한 능력으로 인해 답변을 제공하는 '고급 검색 엔진'일 뿐만 아니라 자연어와 상호 작용할 수 있는 워드 프로세싱 도구가 됩니다.

현재 대중은 ChatGPT를 검색 엔진과 같은 도구로 주목하고 있지만 관련 지식에 접근하고 답변을 제공하는 것이 ChatGPT의 유일한 능력은 아닙니다. 사실 ChatGPT 자체의 경우 지식 질문에 답하는 것이 장점이 아닙니다. 결국 자체 학습 데이터는 2021년에 수정됩니다. 업데이트된 데이터로 학습한다고 해도 시사 변화를 따라잡을 수 없기 때문에 지식 질의응답 도구로 활용하려면 검색엔진 등 외부 지식 소스와 결합해야 한다. 지금 Bing이 하는 것과 같습니다.

그러나 다른 관점에서 보면 ChatGPT는 "언어 완성" 텍스트 도구와 같습니다. 즉, 다음과 같이 사용자가 제공하는 요구 사항에 따라 텍스트 형식으로 표현할 수 있는 지정된 콘텐츠를 완성할 수 있습니다. .

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

주어진 계획 내용에 따라 보고용 영어 이메일을 생성합니다.

여기서 말하는 '언어완전성'이란 언어를 사용하는 능력을 말합니다. 위의 예에서는 작성해야 할 콘텐츠가 이미 제공되었기 때문에 실제로 관련된 지적 콘텐츠가 없음을 알 수 있습니다. 하지만 이 이메일을 작성하려면 단어와 문장 선택, 언어 전환, 이메일 형식 등과 같은 언어 사용 능력이 필요합니다.

이제 다시 돌아가서 "지침에 따라 작업을 완료"하는 능력을 어떻게 얻었는지 분석해 보겠습니다. 학계에서는 이런 지시를 프롬프트라고 부르는데, 사실 대화 속 사용자 입력이나 Q&A 질문도 프롬프트이기 때문에 채팅창에 입력된 내용은 모두 프롬프트라고 대략적으로 이해할 수 있다. 이 장의 첫 번째 섹션에서 언어 모델을 소개한 내용을 이해했다면 "모델에 대한 위의 입력"은 모두 프롬프트라는 것이 더 엄밀하게 설명되어야 합니다.

ChatGPT가 입력 명령(프롬프트)에 따라 응답하는 능력은 명령 미세 조정(프롬프트 튜닝)이라는 모델 훈련 방법에서 비롯됩니다. 실제로 원리는 매우 간단합니다. 모델은 여전히 ​​"입력 내용을 기반으로 다음 토큰을 예측합니다." 그러나 명령 미세 조정 단계에서는 입력 내용이 이러한 미리 작성된 프롬프트로 대체되고 내용은 다음과 같습니다. 프롬프트 이후에 생성되어야 하는 것은 이며, 이는 미리 작성된 답변입니다. 따라서 이 단계와 처음에 언급한 비지도 자동회귀 언어 모델 학습의 가장 큰 차이점은 데이터에 있습니다. 여기의 데이터, 즉 프롬프트와 해당 응답은 모두 사람이 작성한 것입니다. 즉, 이 단계에서는 수동으로 레이블이 지정된 데이터를 사용하여 지도 학습을 사용합니다.

수작업으로 레이블이 지정된 데이터의 경우 레이블이 지정된 각 데이터에 비용이 필요하므로 당연히 필요한 데이터 양이 수반됩니다. 훈련의 첫 번째 단계와 마찬가지로 레이블링이 필요하지 않다면 당연히 훈련에 사용할 수 있는 텍스트 데이터가 엄청나게 많을 것입니다. 그러나 레이블링이 필요한 경우 이 데이터 중 얼마나 많은 양이 필요합니까? 아시다시피, 주석자가 프롬프트를 손으로 쓴 다음 수백 단어로 구성된 정확하고 자세한 답변을 손으로 쓰는 데는 비용이 매우 높습니다. "인간 피드백을 통해 지침을 따르도록 언어 모델 훈련"이라는 논문에 따르면 필요한 데이터는 실제로 많은 것을 필요로 하지 않습니다(비지도 단계에서 사용되는 데이터에 비해). ChatGPT가 얼마나 사용되는지에 대한 정확한 정보는 공개되지 않지만, 비지도 학습에 사용되는 웹 페이지, 백과사전, 서적로 구성된 데이터 세트에 비해 그 규모가 훨씬 작을 것이라는 점은 확실합니다.

문서 주소: https://arxiv.org/pdf/2203.02155.pdf

모델이 다음에 따라 응답할 수 있도록 하는 목적을 달성하려면 상대적으로 적은 양의 수동으로 주석이 달린 프롬프트 데이터만 필요합니다. 사실 이 점 뒤에는 학계에서 프롬프트의 일반화 능력이라고 불리는 현상이 숨어 있다. 상상할 수 있듯이 전 세계 사람들은 항상 ChatGPT에 질문을 하고 있으며 그들이 묻는 질문은 정말 이상할 것입니다. 이러한 질문은 실제로 프롬프트입니다. 그러나 ChatGPT의 지침을 미세 조정하는 데 사용되는 프롬프트는 확실히 많지 않습니다. 이는 모델이 일정량의 프롬프트와 해당 답변을 학습한 후 이전에 보지 못한 프롬프트에 대해 "추론"할 수 있음을 보여줍니다. 프롬프트의 일반화 능력이다. "GPT-3.5의 다양한 기능의 기원을 해체하고 추적하기"라는 기사 분석에서는 이러한 일반화 능력이 모델이 제공하는 주석 데이터의 양 및 다양성과 관련이 있음을 지적합니다. 명령어 미세 조정 단계에서 학습합니다.

또한 소량의 프롬프트 데이터를 사용하여 ChatGPT와 같은 강력한 기능을 갖춘 모델을 미세 조정할 수 있습니다. 그 뒤에는 또 다른 추측이 있습니다. 즉, 모델이 표시하는 다양한 기능이 비지도에 의해 영향을 받을 수 있다는 것입니다. 훈련 단계가 이미 모델에 존재합니다. 사실 이는 이해하기 쉽지만, 결국 비지도 데이터에 비해 수동으로 라벨링된 프롬프트의 수가 너무 적습니다. 모델이 이러한 라벨링된 데이터만으로 다양한 능력을 개발했다고 상상하기는 어렵습니다. 이러한 관점에서 볼 때, 지침 미세 조정 프로세스는 모델이 특정 사양에 따라 반응하는 방법을 학습하도록 하는 것과 관련이 있으며 해당 지식, 논리 및 기타 기능은 이미 존재합니다.

- "객관적이고 공정한" 능력: ChatGPT에 해롭거나 논란의 여지가 있는 질문을 하면 ChatGPT의 답변이 훈련된 뉴스 대변인의 답변과 마찬가지로 매우 "신중함"임을 알 수 있습니다. 아직은 부족하지만, 이 능력은 OpenAI가 감히 제품으로 공개적으로 사용하게 만드는 핵심 요소입니다.

모델의 출력이 인간의 가치와 일치하도록 만드는 것이 OpenAI가 해왔던 일입니다. OpenAI는 이르면 2020년 GPT-3에서 온라인 데이터를 통해 훈련된 이 모델이 차별적이고 위험하며 논란의 여지가 있는 콘텐츠를 생성할 것이라는 사실을 발견했습니다. 외부 서비스를 제공하는 제품으로서 이러한 유해 콘텐츠는 명백히 부적절합니다. 현재 ChatGPT는 이 점에서 크게 개선되었습니다. 모델이 이러한 "행동 변경"을 수행하도록 하는 주요 방법은 InstructGPT 논문에서 나온 것입니다. 이는 감독된 지침 미세 조정과 인간 피드백을 통해 수행됩니다. 강화학습과 함께 2장에서도 소개한 내용입니다.

위의 분석을 통해 기술적 방법의 관점에서 보면 ChatGPT와 관련된 모든 콘텐츠가 알려져 있음을 알 수 있는데, 현재는 왜 이 정도의 놀라운 성능을 보이는 콘텐츠만 있는 걸까요? 실제로 ChatGPT 출시 이후 NLP 커뮤니티에서는 그 이유를 분석해 왔습니다. 비록 많은 결론이 추측에 불과하지만 유사한 모델의 현지화에 대한 깨달음을 주기도 합니다.

모델 크기의 요소

모델 크기가 특정 규모에 도달한다는 전제는 있지만, 현재의 실제 상황으로 판단하면 다음과 유사합니다. 상대적으로 "고급" 기능은 수백억 개 이상의 매개변수가 있는 모델에서 충분히 잘 수행되어야 합니다.

데이터 볼륨 팩터

모델의 크기만이 유일한 요소는 아닙니다. DeepMind는 본 논문 "Training Compute-Optimal Large Language Models"에서 몇 가지 분석 결론을 제시하며, 모델의 크기에 따라 훈련 데이터의 양이 증가해야 함을 지적합니다. 모델의 크기에 따라 토큰 수를 늘려야 합니다.

논문 주소: https://arxiv.org/pdf/2203.15556.pdf

데이터 품질 요소

비지도 데이터의 경우 데이터 양이 상대적으로 그리 많지 않습니다. 장애물이지만 데이터 품질은 종종 간과됩니다. 실제로 GPT-3 논문에는 데이터 처리에 관한 특별한 내용이 있습니다. OpenAI는 GPT-3의 훈련 데이터를 정리하기 위해 데이터 필터링 모델을 특별히 훈련시켜 대용량 웹 페이지 데이터에서 더 높은 품질의 데이터를 얻습니다. 이에 비해 Meta의 Opt 및 BigScience의 Bloom과 같이 GPT-3와 비슷한 크기의 일부 오픈 소스 모델은 이러한 정리 단계를 거치지 않은 것 같습니다. 이것이 두 오픈 소스 모델이 GPT-3보다 나쁜 이유 중 하나일 수 있습니다.

또한 데이터 품질의 측정 차원은 단일하지 않으며 데이터 다양성, 콘텐츠 중복, 데이터 배포 등 모든 요소를 ​​고려해야 합니다. 예를 들어, GPT-3에서 사용하는 세 가지 데이터 카테고리인 웹페이지, 백과사전, 서적 중 웹페이지 데이터의 총량이 가장 많지만, 훈련 중 이 세 가지 유형의 데이터 샘플링은 실제 데이터를 기반으로 하지 않습니다. 데이터의 양.

미세 조정 지침 단계에서는 지침을 수동으로 작성하는 방식이 중요한 영향 요인이 될 수 있다는 점도 언급할 가치가 있습니다. InstructGPT 논문은 평가 과정에서 수동으로 작성된 지침을 사용하여 훈련된 모델이 템플릿을 통해 지침을 구성하기 위해 기존 NLP 데이터 세트를 사용하여 훈련된 모델보다 더 나은 결과를 갖는다는 점을 분명히 지적합니다. 이는 T0 및 FLAN과 같은 NLP 데이터 세트로 구성된 명령 데이터 세트로 훈련된 모델이 덜 효과적인 이유를 설명할 수 있습니다.

훈련 과정의 영향

이러한 유형의 거대 모델은 훈련 중에 클러스터를 통해 훈련되며, 데이터 병렬성, 모델 병렬성 및 ZeRO 최적화 프로그램(훈련의 메모리 사용량을 줄이는 방법)을 사용합니다. 프로세스) 이 방법은 훈련의 안정성에 더 많은 변수를 도입합니다. 다음 분석에서는 모델이 bfloat16 정밀도를 사용하는지 여부도 결과에 상당한 영향을 미친다는 점을 지적합니다.

분석 링크: https://jingfengyang.github.io/gpt

위 내용을 이해하고 나면 누구나 ChatGPT와 같은 방법을 만드는 방법에 대한 일반적인 아이디어를 갖게 될 것이라고 믿습니다. 그리고 직면하게 될 문제. 다행스럽게도 OpenAI는 이러한 기술 경로가 가능하다는 것을 입증했으며 ChatGPT의 등장은 실제로 NLP 기술의 개발 추세를 바꾸고 있습니다.

4. 미래 전망

ChatGPT는 2022년 11월 출시 이후 큰 주목을 받았습니다. 비전문가, 심지어 컴퓨터와 접촉이 거의 없는 집단이라도 그 존재를 어느 정도 인지하고 있다고 생각합니다. 이러한 현상 자체는 그 모습이 다소 특이하다는 것을 반영합니다. 서클 외부의 대중은 호기심, 놀라움 또는 감탄으로 그 모습을 더 지각적으로 인식합니다. 실무자들에게 있어 그 출현은 미래의 기술 동향에 대한 생각에 관한 것입니다.

기술적인 관점에서 ChatGPT의 출현은 NLP 분야의 또 다른 패러다임 전환을 의미합니다. '또'라고 하는 이유는 1세대 GPT가 출시된 해인 2018년에 같은 해에 출시된 BERT 모델이 NLP의 '사전 학습 + 미세 조정' 패러다임을 만들어냈기 때문입니다. 그 뛰어난 성능은 2장에서 시대의 구체적인 내용을 소개하였다. 여기에서는 ChatGPT가 가능하게 하는 "텍스트 생성 + 지침"의 패러다임을 주로 소개합니다. 구체적으로는 훈련된 ChatGPT 또는 유사한 텍스트 생성 모델을 사용하여 적절한 지침(프롬프트)을 입력하여 특정 시나리오를 완료하는 것입니다.

이 패러다임은 이전 NLP 기술 응용 프로그램과 매우 다릅니다. LDA, RNN과 같은 통계 모델이나 소규모 딥러닝 모델을 사용하는 초기 시대이든, BERT와 같은 사전 학습 및 미세 조정을 사용하는 후기 시대이든, 기술이 제공하는 기능은 상대적으로 원자화되어 멀리 떨어져 있습니다. 실제 적용 시나리오와는 거리가 멀다.

ChatGPT에게 요구 사항에 따라 영어 이메일을 작성하도록 요청하는 위의 예를 들어보세요. 이전 관행에 따르면 먼저 엔터티, 이벤트 및 기타 콘텐츠(예: 시간, 위치, 이벤트 등)를 추출해야 할 수 있습니다. , 템플릿이나 모델을 통해 이메일을 구성한 다음 번역 모델을 통해 스타일을 영어로 변환합니다. 물론 데이터 양이 엔드투엔드 모델을 훈련하기에 충분하다면 일부 중간 단계를 건너뛸 수도 있습니다. 그러나 어떤 방법을 사용하든 최종 장면을 원자적 NLP 작업으로 분류해야 하거나 해당 주석 데이터가 필요합니다. ChatGPT의 경우 적절한 명령만 있으면 됩니다.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

NLP 기술 패러다임의 3단계.

프롬프트와 결합된 이 생성 모델은 중간에 있는 다양한 NLP 기능 구성 요소를 직접 건너뛰고 가장 직접적인 방법으로 애플리케이션 시나리오 문제를 해결합니다 . 이 패러다임에서 완전한 터미널 애플리케이션을 위한 기술 경로는 더 이상 빌딩 블록을 통한 단일 지점 NLP 기능 모듈의 조합이 아닙니다.

물론 이 과정이 하루아침에 이루어지는 것도 아니고, NLP의 단일 지점 능력이 중요하지 않게 되는 것도 아닙니다. 평가 관점에서 볼 때, 각 단일 능력 지점의 품질은 여전히 ​​모델의 효율성을 평가하는 지표로 사용될 수 있습니다. 더욱이 일부 시나리오에서는 단일 지점 기능이 여전히 강력한 요구 사항입니다. 예를 들어 티켓 예매 시스템에서는 시간과 장소를 추출해야 한다. 그러나 이전과 달리 ChatGPT 자체는 추가 기능 모듈을 사용하지 않고도 단일 지점 기능을 완료할 수도 있습니다.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

정보 추출을 위한 ChatGPT.

ChatGPT의 과거와 현재: OpenAI의 기술 고집과 큰 도박

감정 판단을 위한 ChatGPT.

이러한 관점에서 ChatGPT는 자연어를 대화형 매체로 사용하는 NLP 도구로 간주할 수 있습니다. 과거에 모델 + 데이터 + 설계 교육 작업을 통해 특정 NLP 기능을 완료했다면 ChatGPT는 설계 지침을 통해 이러한 기능을 완료합니다.

상상할 수 있듯이 ChatGPT의 등장으로 NLP 기술의 적용 문턱이 크게 낮아졌습니다. 그러나 아직 전능하지는 않습니다. 가장 중요한 점은 정확하고 신뢰할 수 있는 수직적 도메인 지식이 부족하다는 것입니다. 답변을 신뢰할 수 있게 만들기 위해서는 Microsoft가 Bing의 검색 결과를 정보 소스로 사용하는 것처럼 외부 지식 소스를 제공하는 것이 가장 직접적인 방법입니다. 그 대답.

따라서 "전통적인" NLP 기술이 완전히 사라지지는 않을 것이며, ChatGPT의 현재 단점을 보완하는 "보조" 역할을 할 것입니다. 이는 향후 NLP 기술 응용의 새로운 패러다임이 될 수 있습니다.

위 내용은 ChatGPT의 과거와 현재: OpenAI의 기술 '고집'과 '큰 도박'의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제