이것은 "대형 모델 시리즈의 쉽고 객관적인 이해"에 대한 나의 첫 번째 기사입니다.
I. 소개
이 게시물은 컴퓨터 과학에 대한 배경 지식이 없는 독자들에게 ChatGPT 및 이와 유사한 AI 시스템(예: GPT-3, GPT-4, Bing Chat, Bard 등)이 작동하는 방식에 대한 근거를 제공하는 것을 목표로 합니다. ChatGPT는 대화형 상호작용을 위해 대규모 언어 모델 위에 구축된 챗봇입니다. 이 용어는 이해하기 어려울 수 있으므로 설명하겠습니다. 동시에 그 뒤에 있는 핵심 개념에 대해 논의할 것이며 이 기사는 독자에게 기술 또는 수학적 배경 지식이 필요하지 않습니다. 관련 개념을 더 잘 이해하기 위해 은유를 광범위하게 사용하여 관련 개념을 설명합니다. 또한 이러한 기술의 의미와 ChatGPT와 같은 대규모 언어 모델에서 기대할 수 있는 것과 기대하지 말아야 할 것에 대해 논의할 것입니다.
다음으로 기술적인 용어를 최대한 사용하지 않는 방식으로 기본적인 "인공지능이란 무엇인가"부터 시작하여 점차적으로 대규모 언어 모델 및 ChatGPT와 관련된 용어 및 개념에 대해 심도있게 논의하고 메타포를 사용하여 그들을 설명하십시오. 동시에 우리는 이러한 기술의 중요성과 우리가 기대해야 할 것과 하지 말아야 할 것에 대해 이야기할 것입니다.
2. 인공지능이란?
먼저, 많이 들을 수 있는 몇 가지 기본 용어부터 시작하겠습니다. 그렇다면 인공지능이란 무엇일까요?
인공 지능: 인간이 지능적이라고 인식하는 것과 유사한 행동을 보일 수 있는 개체를 말합니다. 인공 지능을 정의하기 위해 "지능"을 사용하는 것은 "지능" 자체에 명확한 정의가 없기 때문에 다소 문제가 있습니다. 그러나 이 정의가 여전히 더 적절합니다. 그것은 기본적으로 흥미롭고 유용하며 어려워 보이는 행동을 할 수 있는 인공적인 것을 본다면 그들이 지능적이라고 말할 수 있음을 의미합니다. 예를 들어, 컴퓨터 게임에서 우리는 종종 컴퓨터가 제어하는 캐릭터를 "AI"라고 부릅니다. 이러한 캐릭터의 대부분은 if-then-else 코드를 기반으로 하는 간단한 프로그램입니다(예: "플레이어가 범위 내에 있으면 발사하고 그렇지 않으면 가장 가까운 돌로 이동하고 뒤에 숨습니다"). 그러나 이러한 캐릭터가 명백히 어리석은 짓을 하지 않으면서 우리를 계속 몰입시키고 즐겁게 할 수 있다면 실제보다 더 복잡하다고 생각할 수 있습니다.
무언가가 어떻게 작동하는지 이해하고 나면 우리는 그것을 마술처럼 생각하지 않고 배후에서 더 복잡한 것을 기대할 수 있습니다. 모든 것은 뒤에서 무슨 일이 벌어지고 있는지 우리가 얼마나 잘 아는가에 달려 있습니다.
중요한 점은 AI가 마법이 아니라는 것입니다. 마술이 아니기 때문에 설명이 가능합니다.
3. 머신러닝이란?
인공 지능과 관련된 또 다른 용어는 기계 학습입니다.
기계 학습: 데이터를 수집하고 모델을 형성한 다음 모델을 실행하여 행동을 생성하는 방법입니다. 언어와 같은 특정 복잡한 현상을 캡처하기 위해 if-then-else 문을 수동으로 만드는 것이 어려운 경우가 있습니다. 이 경우 많은 양의 데이터를 찾아 데이터에서 패턴을 찾을 수 있는 알고리즘으로 모델링하려고 합니다.
모델이란 무엇입니까? 모델은 복잡한 현상의 단순화된 버전입니다. 예를 들어, 자동차 모델은 실제 자동차의 많은 속성을 공유하는 실제 자동차의 더 작고 간단한 버전이지만 확실히 원본을 완전히 대체하기 위한 것은 아닙니다. 모형 자동차는 실제처럼 보일 수 있으므로 실험할 때 유용합니다.
더 작고 단순한 자동차를 만들 수 있는 것처럼 더 작고 단순한 인간 언어 모델을 만들 수 있습니다. 이러한 모델은 사용해야 하는 메모리(비디오 메모리)의 양 측면에서 매우 크기 때문에 "대형 언어 모델"이라는 용어를 사용합니다. ChatGPT, GPT-3, GPT-4와 같이 현재 생산 중인 가장 큰 모델은 너무 커서 생성하고 실행하려면 데이터 센터 서버에서 실행되는 슈퍼컴퓨터가 필요합니다.
4. 신경망이란?
데이터에서 모델을 학습하는 방법에는 여러 가지가 있으며 신경망은 그 중 하나입니다. 이 기술은 우리가 다양한 작업을 수행할 수 있도록 전기 신호를 전송하는 상호 연결된 뉴런 모음으로 구성된 인간의 뇌 구조에 느슨하게 기반을 두고 있습니다. 신경망의 기본 개념은 1940년대에 만들어졌고, 신경망을 훈련시키는 방법에 대한 기본 개념은 1980년대에 만들어졌습니다. 당시 신경망은 매우 비효율적이었습니다. 배운 그들은 대규모로 사용할 수 있습니다.
그러나 저는 개인적으로 신경망을 시뮬레이트하기 위해 회로의 은유를 사용하는 것을 선호합니다. 전선을 통한 전류 흐름인 저항을 통해 우리는 신경망의 작동을 시뮬레이션할 수 있습니다.
고속도로에서 운전할 수 있는 자율주행차를 만들고 싶다고 상상해보세요. 차량 전면, 후면, 측면에 거리 센서를 설치했습니다. 근접 센서는 물체가 접근할 때 값을 1로 보고하고 근처에 감지할 수 있는 물체가 없을 때 값을 0으로 보고합니다.
우리는 또한 스티어링 휠을 작동하고 브레이크를 적용하고 가속하기 위해 로봇을 설치했습니다. 스로틀이 1의 값을 받으면 최대 가속을 사용하고 0의 값은 가속이 없음을 의미합니다. 마찬가지로 제동 메커니즘에 전송된 값 1은 긴급 제동을 의미하고 0은 제동 없음을 의미합니다. 스티어링 메커니즘은 -1에서 +1 사이의 값을 허용하며 음수는 왼쪽으로, 양수는 오른쪽으로, 0은 직진을 유지합니다.
물론 주행 데이터를 기록해야 합니다. 전방 경로가 깨끗할 때 가속합니다. 앞에 차가 있으면 속도를 줄입니다. 차가 왼쪽에서 너무 가까워지면 오른쪽으로 방향을 틀고 차선을 변경합니다. 물론 오른쪽에 차가 없다면 말입니다. 이 프로세스는 매우 복잡하고 센서 정보의 다양한 조합에 따라 다양한 동작(좌회전 또는 우회전, 가속 또는 감속, 제동)이 필요하므로 각 센서는 각 로봇 메커니즘에 연결되어야 합니다.
당신이 길을 치면 어떻게됩니까? 전기는 모든 센서에서 모든 로봇 액추에이터로 흐르고 차량은 좌회전, 우회전, 가속 및 제동을 동시에 수행합니다. 혼란이 형성됩니다.
일부 센서와 일부 로봇 팔 사이에 전류가 보다 자유롭게 흐를 수 있도록 저항기를 꺼내 회로의 다른 부분에 배치하기 시작합니다. 예를 들어, 전면 근접 센서에서 스티어링이 아닌 브레이크로 전류가 더 자유롭게 흐르기를 원합니다. 또한 스위치를 트리거하기에 충분한 전하가 축적될 때까지(전면 및 후면 근접 센서 모두 높은 수치를 보고하는 경우에만 전류가 흐르도록 허용됨), 또는 입력 전류가 앞으로 전력을 보낼 때만 전류가 흐르지 않도록 하는 게이트라는 요소를 설치했습니다. 강도가 낮을 때(전면 근접 센서가 낮은 값을 보고할 때 가속기에 더 많은 전력을 보냅니다).
그러나 이러한 저항과 게이트를 어디에 배치해야 합니까? 나도 몰라. 다양한 위치에 무작위로 배치합니다. 그런 다음 다시 시도하십시오. 아마도 이번에는 자동차가 더 잘 운전할 것입니다. 즉, 데이터에서 브레이크를 밟고 조향하는 것이 가장 좋다고 할 때 때때로 브레이크를 밟고 조향하지만 매번 제대로 작동하지는 않습니다. 그리고 어떤 것들은 더 나빠집니다(데이터가 때때로 브레이크를 밟아야 한다고 제안할 때 가속됨). 그래서 우리는 저항과 게이트의 다른 조합을 무작위로 계속 시도합니다. 결국 우리는 충분히 좋은 조합을 발견하고 성공을 선언합니다. 예를 들어 다음과 같은 조합입니다.
(실제로 문을 추가하거나 제거하지는 않겠지만 문을 수정하여 낮은 에너지로 아래에서 활성화하거나 아래에서 더 많은 에너지 출력을 요구하거나 아래의 에너지가 매우 적을 때만 많이 방출할 수 있도록 할 것입니다. 순수주의자인 기계 학습은 그 설명이 불편할 수 있습니다. 기술적으로 이것은 일반적으로 이와 같은 다이어그램에 표시되지 않는 게이트의 바이어스를 조정하여 수행되지만 회로 은유 관점에서는 다음과 같이 생각할 수 있습니다. 전원 공급 장치에 직접 연결되고 다른 케이블처럼 수정할 수 있는 케이블입니다.)
임의로 시도하는 것은 좋지 않습니다. 역전파(backpropagation)라는 알고리즘은 회로 구성 변경에 대해 꽤 좋은 추측을 합니다. 알고리즘의 세부 사항은 중요하지 않습니다. 데이터가 제안하는 것과 더 가깝게 작동하도록 회로를 미세 조정하고 수천 번의 조정 후에 결국 데이터와 일치하는 결과를 얻을 것이라는 점만 알아두십시오.
저항과 게이트 매개변수는 실제로 어디에나 있기 때문에 호출하며, 역전파 알고리즘은 각 저항이 더 강하거나 약하다고 선언합니다. 따라서 회로의 레이아웃과 매개 변수 값을 알고 있으면 전체 회로를 다른 자동차에 복제할 수 있습니다.
"대규모 모형에 대한 쉽고 객관적인 이해 시리즈" 2편을 시청해주세요.