>  기사  >  기술 주변기기  >  ChatGPT의 8가지 기술적 문제에 대한 추측

ChatGPT의 8가지 기술적 문제에 대한 추측

王林
王林앞으로
2023-04-11 16:46:03808검색

ChatGPT의 화려한 탄생을 보면서 기쁨, 놀라움, 당황함 등 다양한 감정이 교차합니다. 나를 기쁘고 놀라게 하는 것은 자연어 처리(NLP) 기술의 획기적인 발전을 이렇게 빨리 목격하고 일반 기술의 무한한 매력을 경험할 줄은 몰랐다는 점이다. 무서운 점은 ChatGPT가 NLP의 대부분의 작업을 고품질로 거의 완료할 수 있다는 것이며, 많은 NLP 연구 방향이 큰 어려움에 직면했다는 것이 점차 인식되고 있다는 것입니다.

전반적으로 ChatGPT의 가장 놀라운 점은 다양성입니다. 매우 효과적이지 않은 다양한 NLP 기능을 달성하기 위해 매우 정교한 프롬프트가 필요한 GPT-3에 비해 ChatGPT를 사용하면 프롬프트의 존재를 느낄 수 없습니다.

ChatGPT는 대화 시스템으로서 사용자가 자연스럽게 질문하여 이해부터 세대까지 다양한 작업을 수행할 수 있으며 그 성능은 공개 필드에서 현재 최고 수준에 거의 도달했으며 많은 작업이 특정 작업을 위해 설계된 것보다 뛰어납니다. . 모델을 만들고 코드 프로그래밍에 뛰어납니다.

특히, 자연어 이해 능력(특히 사용자의 의도를 이해하는 능력)이 매우 뛰어납니다. Q&A, 채팅, 분류, 요약, 번역 등의 작업이든 답변이 완전히 정확하지는 않더라도 사용자는 거의 항상 이해합니다. 의도, 이해가 기대를 훨씬 뛰어넘었습니다.

이해 능력에 비해 ChatGPT의 생성 능력은 더 강력하며 다양한 질문에 대해 특정 논리와 다양성을 갖춘 긴 텍스트를 생성할 수 있습니다. 일반적으로 ChatGPT는 AGI를 향한 초기 단계이며 일부 기술적인 병목 현상이 해결되면 더욱 강력해질 것입니다.

ChatGPT 성능 사례에 대한 요약은 이미 많이 있습니다. 여기서는 ChatGPT 기술 문제에 대한 내 생각 중 일부를 주로 요약합니다. ChatGPT와 간헐적으로 상호 작용한 두 달 이상에 대한 간단한 요약이라고 볼 수 있습니다. ChatGPT의 구체적인 구현 기술과 세부 사항을 이해할 수 없기 때문에 거의 모두 주관적인 추측이며 실수가 많을 것입니다.

1. ChatGPT가 왜 그렇게 다재다능합니까?

ChatGPT를 사용해 본 결과 이것이 전통적인 의미의 인간-컴퓨터 대화 시스템이 아니라 실제로는 자연어를 상호 작용 방법으로 사용하는 일반적인 언어 처리 플랫폼이라는 것을 알 수 있습니다.

2020년 GPT-3에는 일반 기능의 프로토타입이 있지만 해당 기능을 실행하려면 신중하게 설계된 프롬프트가 필요합니다. ChatGPT를 사용하면 사용자가 매우 자연스러운 질문을 사용하여 의도를 정확하게 식별하고 다양한 기능을 완료할 수 있습니다. 전통적인 방법은 사용자 의도를 먼저 식별한 다음 다양한 의도에 해당하는 기능을 사용하여 처리 모듈을 호출하는 경우가 많습니다. 예를 들어 사용자 데이터를 통해 요약 또는 번역 의도를 식별한 다음 텍스트 요약 또는 기계 번역 모델을 호출합니다.

오픈 도메인 의도 인식에서 전통적인 방법의 정확성은 충분히 이상적이지 않으며, 다양한 기능 모듈이 독립적으로 작동하고 정보를 공유할 수 없기 때문에 강력한 NLP 범용 플랫폼을 형성하기가 어렵습니다. ChatGPT는 별도의 모델을 무너뜨려 더 이상 서로 다른 기능을 구분하지 않고 대화 과정에서 특정 요구 사항으로 통합됩니다. 그렇다면 ChatGPT가 왜 그렇게 다재다능할까요? 저는 이 문제에 대해 오랫동안 고민해 왔습니다. 조건부 실험 확인이 없기 때문에 추측만 할 뿐입니다.

Google의 Instruction Tuning 연구 작업인 FLAN에 따르면 모델이 특정 크기(예: 68B)에 도달하고 지침 작업 유형이 특정 숫자(예: 40)에 도달하면 모델은 새로운 의도를 인식하는 능력을 갖게 됩니다. OpenAI는 오픈 API를 통해 글로벌 사용자로부터 다양한 작업 유형의 대화 데이터를 수집하고 이를 의도에 따라 분류하고 주석을 지정한 후 175B 매개변수 GPT-3.5에 대해 Instruction Tuning을 수행하면 자연스럽게 나타납니다.

2. 대화 중심의 미세 조정은 왜 치명적인 망각 문제를 겪지 않습니까?

심각한 망각 문제는 딥 러닝에서 항상 문제가 되어 왔습니다. 이는 특정 작업에 대한 훈련 후 다른 작업의 성능 저하로 인해 발생하는 경우가 많습니다. 예를 들어, 30억 개의 매개변수가 있는 기본 모델을 먼저 자동 질의응답 데이터로 미세 조정한 다음, 여러 차례의 대화 데이터로 미세 조정하면 모델의 질의 응답 능력이 크게 떨어지는 것을 확인할 수 있습니다. ChatGPT는 이 문제가 없는 것으로 보입니다. 기본 모델인 GPT-3.5에서 첫 번째 미세 조정은 수동으로 주석이 달린 대화 데이터를 기반으로 했고, 두 번째 미세 조정은 기반으로 한 강화 학습을 기반으로 했습니다. 인간 피드백 미세 조정에 사용되는 데이터는 매우 적습니다. 특히 인간 피드백 채점 및 정렬 데이터가 적습니다. 미세 조정 후에도 여전히 강력한 일반 기능을 보여주지만 대화 작업에 완전히 과적합되지는 않습니다.

이것은 매우 흥미로운 현상이며, 검증할 조건이 없는 현상이기도 합니다. 추측에는 두 가지 이유가 있을 수 있습니다. 한편, ChatGPT에서 사용하는 대화 미세 조정 데이터에는 실제로 InstructGPT의 API를 사용한 사용자 질문 분류에서 볼 수 있듯이 매우 포괄적인 범위의 NLP 작업이 포함될 수 있습니다. 그중에는 단순한 대화가 아니라 분류, 질문 및 답변, 요약, 번역, 코드 생성 등이 있습니다. 따라서 ChatGPT는 기본 모델이 실제로 동시에 여러 작업을 미세 조정합니다. 충분히 크면 더 작은 데이터에 대한 미세 조정은 모델을 향상시키지 않으며 기본 모델 매개변수 공간의 매우 작은 영역에서만 최적화될 수 있으므로 기본 모델의 일반적인 기능에 큰 영향을 미치지 않습니다.

3. ChatGPT는 어떻게 대규모 상황별 연속 대화 기능을 달성하나요?

ChatGPT를 사용해보면 매우 놀라운 능력을 발견하게 됩니다. ChatGPT와 10라운드 이상 상호 작용한 후에도 여전히 첫 번째 라운드의 정보를 기억하고 있으며 사용자의 의도에 따라 누락된 내용과 참조 사항을 보다 정확하게 식별할 수 있습니다. . 및 기타 세밀한 언어 현상. 이것이 우리 인간에게는 문제처럼 보이지 않을 수도 있지만, NLP 연구의 역사에서 누락, 참조와 같은 문제는 항상 극복할 수 없는 도전이었습니다. 게다가, 전통적인 대화 시스템에서는 너무 많은 대화 라운드 후에 주제의 일관성을 보장하기가 어렵습니다.

그런데 ChatGPT는 이런 문제가 거의 없고, 라운드가 더 많아도 대화 주제의 일관성과 초점을 유지할 수 있는 것 같습니다. 이 능력은 세 가지 원천에서 나올 수 있다고 추측됩니다. 우선 고품질의 다회전 대화 데이터가 기본이자 핵심입니다. Google의 LaMDA와 마찬가지로 OpenAI도 이를 바탕으로 대량의 고품질 다회전 대화 데이터를 구축하기 위해 수동 주석을 사용합니다. 모델의 다각적인 대화 능력을 자극합니다.

두 번째로, 인간 피드백을 기반으로 한 강화 학습은 모델 반응의 의인화를 향상시키며, 이는 또한 여러 라운드의 대화에서 모델의 일관성 능력을 간접적으로 향상시킵니다. 마지막으로, 모델의 명시적 모델링 능력인 8192개 언어 단위(토큰)를 통해 일반 사람들의 거의 하루 종일 대화 데이터를 기억할 수 있습니다. 따라서 대화 교환 시 이 길이를 초과하기 어렵습니다. 이는 여러 차례의 연속적인 대화를 유지하는 능력을 크게 향상시킬 수 있습니다.

4. ChatGPT의 대화형 수정 기능은 어떻게 개발되나요?

대화형 수정 기능은 지능의 고급 표현입니다. 우리에게 흔한 것은 기계의 문제점입니다. 커뮤니케이션 과정에서 문제점이 지적될 경우, 즉시 문제점을 인지하고 신속하고 정확하게 해당 내용을 수정하도록 하겠습니다. 문제를 인식하고, 문제의 범위를 파악하고, 해당 정보를 수정하는 각 단계는 기계에게는 쉬운 작업이 아닙니다. ChatGPT가 등장하기 전에는 강력한 대화형 수정 기능을 갖춘 일반 모델을 본 적이 없었습니다.

ChatGPT와 상호 작용한 후 사용자가 이전 진술을 변경하거나 ChatGPT 답변에서 문제를 지적하더라도 ChatGPT는 수정 의도를 포착하고 수정해야 할 부분을 정확하게 식별하여 최종적으로 올바른 수정을 하십시오.

지금까지 대화형 수정 기능과 직접적인 관련이 있는 모델 관련 요소는 발견되지 않았으며 ChatGPT가 실시간 학습 기능을 가지고 있다고 생각하지 않습니다. 반면에 대화를 다시 시작한 후에도 같은 실수는 기본입니다. 대형 모델의 최적화 학습은 항상 고주파 데이터에서 빈번한 패턴을 요약하는 것이었고 어쨌든 한 번의 대화에서 기본 모델을 업데이트하는 것은 어렵습니다.

기본 언어 모델의 역사적 정보 처리 기술에 가깝다고 생각합니다. 불확실한 요소에는 다음이 포함될 수 있습니다.

  1. OpenAI의 인공적으로 구성된 대화 데이터에는 일부 대화형 수정 사례가 포함되어 있으며 미세 조정 후에 이러한 기능이 있습니다.
  2. 인위적 피드백의 강화 학습을 통해 모델 출력이 인간 선호도에 더 부합하게 되므로 정보 수정 시
  3. 아마도 대형 모델이 특정 규모(예: 60B)에 도달한 후에는 원래 훈련 데이터의 대화형 수정 사례가 학습되고 모델이 대화형으로 수정하는 능력이 있을 것입니다. 자연스럽게 나옵니다.

5. ChatGPT는 논리적 추론 능력을 어떻게 배웠나요?

ChatGPT에 논리적 추론과 관련된 몇 가지 질문을 하면 직접 답변을 제공하지 않고 자세한 논리적 추론 단계를 보여주고 최종적으로 추론 결과를 제공합니다. 같은 우리에 있는 닭, 토끼와 같은 많은 사례에서 ChatGPT는 추론의 본질을 학습하지 않고 추론의 피상적인 논리만 학습했음을 보여주지만 표시되는 추론 단계와 프레임워크는 기본적으로 정확합니다.

기본 논리적 추론 패턴을 학습하는 언어 모델의 능력은 기대치를 크게 뛰어 넘었습니다. 추론 능력의 기원을 추적하는 것은 매우 흥미로운 질문입니다. 관련 비교 연구에 따르면 모델이 충분히 크고 훈련을 위해 프로그램 코드와 텍스트 데이터가 혼합되면 프로그램 코드의 전체 논리적 체인이 대규모 언어 모델로 마이그레이션되고 일반화되므로 대규모 모델이 특정 추론 능력.

이런 종류의 추론 능력을 습득하는 것은 약간 마술적이지만 이해할 수도 있습니다. 어쩌면 코드 주석은 추론 능력을 논리 코드에서 언어 대형 모델로 전환하고 일반화하는 다리일 수도 있습니다. 다국어 능력도 비슷해야 합니다. ChatGPT의 학습 데이터는 대부분 영어로 되어 있으며 중국어 데이터는 거의 없습니다. 그러나 ChatGPT의 중국어 기능은 영어만큼 좋지는 않지만 여전히 매우 강력하다는 것을 발견했습니다. 훈련 데이터 중 일부 중국어-영어 병렬 데이터는 영어 능력을 중국어 능력으로 전이시키는 가교 역할을 할 수 있습니다.

6. ChatGPT는 다양한 다운스트림 작업에 대해 서로 다른 디코딩 전략을 채택합니까?

ChatGPT에는 놀라운 성능이 많이 있습니다. 그 중 하나는 동일한 질문에 대해 여러 가지 다른 응답을 생성할 수 있다는 것입니다. 이는 매우 똑똑해 보입니다.

예를 들어 ChatGPT의 답변이 만족스럽지 않은 경우 '재생성' 버튼을 클릭하면 즉시 다른 답변이 생성됩니다. 그래도 만족스럽지 않으면 계속해서 재생성할 수 있습니다. 이는 NLP 분야에서 미스터리가 아닙니다. 언어 모델의 경우 샘플링 디코딩이 기본 기능입니다.

텍스트 조각 뒤에는 다른 단어가 나올 수 있습니다. 언어 모델은 각 단어가 나타날 확률을 계산합니다. 디코딩 전략이 가장 높은 확률로 단어 출력을 선택하면 결과는 항상 확실하며 다양성은 불가능합니다. 생성됩니다. 어휘 출력의 확률 분포에 따라 샘플링을 수행한다면, 예를 들어 "전략"의 확률은 0.5, "알고리즘"의 확률은 0.3이라면, 디코딩 출력 "전략"의 샘플링 확률은 50%이고, 출력 "알고리즘"의 확률은 30%이므로 출력의 다양성이 보장됩니다. 확률분포에 따라 샘플링 과정을 거치기 때문에, 출력 결과가 다양하더라도 매번 확률이 더 높은 결과가 선택되므로 다양한 결과가 상대적으로 타당해 보입니다. 다양한 유형의 작업을 비교할 때 ChatGPT의 응답 다양성은 다운스트림 작업에 따라 크게 다르다는 것을 알 수 있습니다.

"How", "Why"와 같은 "How" 및 "Why" 유형 작업의 경우 재생성된 답변은 표현 및 구체적인 내용 측면에서 이전 답변과 상당히 다릅니다. 기계 번역 및 수학을 목표로 합니다. 질문과 같은 '무엇' 유형의 작업에서는 응답 간의 차이가 매우 미묘하고 때로는 거의 변화가 없는 경우도 있습니다. 모두 확률 분포의 샘플링 디코딩을 기반으로 한다면 서로 다른 응답 간의 차이가 왜 그렇게 작은가요?

"무엇" 유형 작업을 기반으로 하는 대규모 모델에서 학습한 확률 분포가 매우 날카로운(Sharp) 것이 이상적인 상황일 수 있다고 추측합니다. 예를 들어 학습된 "전략" 확률은 0.8이고 "알고리즘" "확률은 0.1이므로 크기가 큽니다. 대부분의 경우 동일한 결과가 샘플링됩니다. 즉, 이전 예에서는 "전략"이 샘플링될 확률이 80%입니다. "어떻게" 및 "왜" 작업에 대한 작업은 "전략"의 확률이 0.4이고 "알고리즘"의 확률이 0.3이므로 서로 다른 시간에 큰 차이가 있는 결과를 샘플링할 수 있습니다.

ChatGPT가 작업과 관련된 매우 이상적인 확률 분포를 학습할 수 있다면 샘플링 기반 디코딩 전략은 모든 작업에 적용할 수 있다는 점에서 정말 강력할 것입니다. 일반적으로 기계 번역, 수학적 계산, 사실적 질문과 답변 등 답변이 상대적으로 확실하거나 100% 확실한 작업의 경우 그리디 디코딩(Greedy Decoding)이 일반적으로 사용됩니다. 즉, 확률이 가장 높은 단어가 매번 출력됩니다. . 동일한 의미로 다양한 출력을 출력하고자 한다면 열 검색 기반의 디코딩 방법이 주로 사용되지만, 샘플링 기반의 디코딩 전략은 거의 사용되지 않습니다.

ChatGPT와의 상호작용을 보면 모든 작업에 샘플링 기반의 디코딩 방식을 사용하는 것 같은데, 정말 폭력적인 미학입니다.

7. ChatGPT는 사실 신뢰성 문제를 해결할 수 있나요?

답변의 신뢰성 부족은 현재 ChatGPT가 직면한 가장 큰 과제입니다. 특히 사실이나 지식과 관련된 질문과 답변의 경우, ChatGPT는 가끔 말도 안되는 소리를 내거나 허위 정보를 생성하기도 합니다. 소스와 소스 또는 참조를 제공하도록 요청하더라도 ChatGPT는 존재하지 않는 URL이나 게시된 적이 없는 참조를 생성하는 경우가 많습니다.

그러나 ChatGPT는 일반적으로 사용자에게 더 나은 느낌, 즉 많은 사실과 지식을 알고 있는 것 같습니다. 실제로 ChatGPT는 대규모 언어 모델입니다. 대규모 언어 모델의 핵심은 심층 신경망입니다. 심층 신경망의 핵심은 고주파 데이터에서 관련 패턴을 학습하는 것입니다. 훈련 데이터에는 많은 상식이나 사실이 자주 등장합니다. 단어의 예측 확률 분포는 상대적으로 선명하고 엔트로피는 상대적으로 작으며 디코딩 과정에서 올바른 단어를 출력합니다. . 사실 또는 지식.

그러나 매우 큰 훈련 데이터에서도 거의 나타나지 않는 이벤트와 지식이 많습니다. 대형 모델은 관련 패턴을 학습할 수 없습니다. 단어 예측의 확률 분포는 상대적으로 매끄러워집니다. , 대형 모델은 추론 과정에서 불확실한 무작위 출력을 생성하는 경향이 있습니다.

이것은 ChatGPT를 포함한 모든 생성 모델에 내재된 문제입니다. GPT 시리즈 아키텍처가 여전히 지속되고 기본 모델이 변경되지 않으면 ChatGPT 응답의 사실 신뢰성 문제를 해결하는 것은 이론적으로 어렵습니다. 검색 엔진과의 결합은 현재 매우 실용적인 솔루션입니다. 검색 엔진은 신뢰할 수 있는 사실 정보 소스 검색을 담당하고 ChatGPT는 요약을 담당합니다.

ChatGPT가 사실 답변의 신뢰성 문제를 해결하려면 모델의 거부 능력을 더욱 향상해야 할 수 있습니다. 즉, 모델이 답변할 수 없다고 판단하는 질문을 필터링하고 사실 확인 모듈도 필요합니다. ChatGPT 응답의 정확성을 확인합니다. 차세대 GPT가 이 문제에 대한 돌파구를 마련할 수 있기를 바랍니다.

8. ChatGPT는 실시간 정보학습이 가능한가요?

ChatGPT의 대화형 수정 기능은 실시간 자율 학습 기능을 갖춘 것처럼 보입니다.

위에서 설명한 것처럼 ChatGPT는 사용자가 제공한 수정 의도나 수정 정보를 기반으로 관련 답변을 즉시 수정할 수 있어 실시간 학습 능력을 보여줍니다. 사실, 학습 능력은 학습된 지식이 보편적이고 다른 때나 다른 경우에 사용될 수 있음을 반영합니다. 그러나 ChatGPT는 이러한 능력을 보여주지 않습니다. ChatGPT는 현재 대화에서 사용자 피드백을 기반으로만 수정할 수 있습니다. 대화를 다시 시작하고 동일한 문제를 테스트하면 ChatGPT는 여전히 동일하거나 유사한 실수를 저지릅니다.

ChatGPT가 수정되고 올바른 정보를 모델에 저장하지 않는 이유는 무엇입니까? 여기서 문제에는 두 가지 측면이 있습니다. 우선, 사용자가 피드백한 정보가 반드시 정확하지는 않습니다. 때로는 ChatGPT가 의도적으로 유도하여 불합리한 답변을 하게 되는 경우도 있습니다. 이는 ChatGPT가 인간의 피드백을 기반으로 한 강화 학습에서 사용자에 대한 의존도를 심화시켰기 때문에 ChatGPT도 마찬가지입니다. 우리는 이 과정에서 사용자 피드백에 크게 의존할 것입니다. 둘째, 사용자가 피드백한 정보가 정확하더라도 발생 빈도가 높지 않을 수 있으므로 기본 대형 모델은 빈도가 낮은 데이터를 기반으로 매개 변수를 업데이트할 수 없습니다. 그렇지 않으면 대형 모델이 일부 롱테일 데이터에 과적합되어 다재다능함을 잃습니다.

그래서 ChatGPT가 실시간으로 학습하는 것은 매우 어렵습니다. 간단하고 직관적인 해결책은 매번 새로운 데이터를 사용하여 ChatGPT를 미세 조정하는 것입니다. 또는 여러 사용자가 동일하거나 유사한 피드백을 제출할 때 트리거 메커니즘을 사용하여 모델의 매개변수 업데이트를 트리거함으로써 모델의 동적 학습 능력을 향상시킵니다.

이 기사의 저자 Zhang Jiajun은 중국과학원 자동화 연구소의 연구원입니다. 원본 링크:

​https://zhuanlan.zhihu.com/p/606478660 ​

위 내용은 ChatGPT의 8가지 기술적 문제에 대한 추측의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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