본문 바로가기
ChatGPT 탐구 및 원리

ChatGPT(챗GPT) 어떻게 그렇게 대답을 잘하니? 탐구 (2)

by 후니호호 2023. 3. 24.
반응형

 안녕하세요~ 후니호호 입니다.

 

 

ChatGPT(챗GPT) 설치? 넌 누구니? 탐구 (1)

지난 시간에 ChatGPT의 가입방법에 대해 알아보고 광활한 사막 한가운데 놓여있는 나를 보았는데요..또한 설치 할 필요가 없는 방식이라는걸 알아봤습니다. ChatGPT (챗 GPT) 설치? 넌 누구니? 첫 만남

hunihoho.tistory.com

지난 시간에 많은걸 공부 했죠? Chat과 GPT가 합성어라는것도 배웠고 GPT가 딥러닝이라고 하는 인공지능 학습법이라는것도 배웠습니다..!

 

음.. 이번 탐구 (2) 시간에는 조금더 심층적인 이야기를 해볼까 합니다. 이렇게 원리 이해를 먼저 하는 이유는 이 친구에게 질문을 할때 왜 이런 대답을 하는지를 알기 위해서 입니다. 즉 이 친구를 잘 알고 물어봐야 더욱더욱 정확한 대답이 나온다는이야기입니다^^




저희가 GPT에 대해선 지난 시간에 배웠었죠? 어려우시다구요ㅠㅠ 지난 글을 읽어주시길 바라겠습니다.!

 

GPT (Generative Pre-trained Transformer)는 대규모 언어 모델을 사용하여 자연어 생성 및 이해를 수행하는 딥러닝 모델입니다. 이라고 이야기했었습니다.

 

다음 이야기는 파라미터에 대한 이야기입니다.


GPT 모델의 성능은 모델의 파라미터 수와 밀접하게 관련이 있습니다. 쉽게 이야기하면 너희 뇌에 뇌세포가 있죠? 뇌세포가 몇개 있냐라는 이야기입니다. 즉 뇌세포가 많으면 더 똑똑하겠죠? 그렇게 받아들이시면 됩니다!!

GPT에서 파라미터는 뭘까요?

파라미터는 총 4가지가 있습니다.

한번 알아볼까요?

일단 입력이 되어야 하니깐 입력 파라미터가 있고, 대답하고자 하는 단어의 위치를 알려주는 위치 파라미터가 있습니다. 연산을 하기 위해서 트랜스포머와 저희에게 알려주기 위한 출력 파라미터가 있게됩니다.

어렵네요.ㅠㅠ 예를 들어서 알아봅시다!


입력 임베딩 파라미터 (Input Embedding Parameter)

입력된 텍스트를 벡터로 변환하는데 사용되는 파라미터입니다. 예를 들어, "나는 사과를 좋아해" 라는 문장을 입력하면 이 문장을 벡터로 변환하는 파라미터를 말합니다. 이 파라미터는 각 단어를 고유한 벡터 값으로 변환하는 것을 담당합니다. 예를 들어, "나는"을 [0.1, 0.3, -0.2, ...] 로 변환하고, "사과를"을 [-0.5, 0.2, 0.1, ...] 로 변환하는 식입니다.


트랜스포머 블록 파라미터 (Transformer Block Parameter)

트랜스포머 블록은 입력된 벡터를 여러 층으로 구성된 신경망을 거쳐 변환하는 역할을 합니다. 이 때, 각 층에서 사용되는 파라미터를 말합니다. 예를 들어, 입력된 벡터를 12개의 층으로 구성된 신경망을 거쳐 변환하는 경우, 각 층에서 사용되는 파라미터를 말합니다.


출력 파라미터 (Output Parameter)

입력된 텍스트를 이용해 다음에 등장할 단어를 예측하는 파라미터입니다. 이 파라미터는 각 단어의 예측 확률을 구하는데 사용됩니다. 예를 들어, "나는 사과를 좋아해" 문장 다음에 등장할 단어를 "바나나"일 확률, "오렌지"일 확률 등을 구하는데 사용됩니다.


위치 임베딩 파라미터 (Positional Embedding Parameter)

입력된 텍스트에서 각 단어의 위치를 파악하기 위한 파라미터입니다. 이 파라미터는 각 단어의 위치 정보를 벡터 형태로 변환합니다. 예를 들어, "나는 사과를 좋아해" 문장에서 "나는"은 첫번째 단어, "사과를"는 두번째 단어이므로 각 단어에 대한 위치 정보를 벡터로 변환합니다.

 

결론적으론 이렇게 4종류의 파라미터가 GPT에 사용됩니다. 이들 파라미터는 각각의 역할을 담당하여 입력된 텍스트를 이해하고, 예측 결과를 출력합니다.

 

정말 복잡하게 알려주네요.. 저희가 질문을 하면 저런식으로 이해하고 확률적인 대답이 나오는것이었습니다.


벡터값의 여러층으로 구성된 신경망이란? 

 

입력된 데이터를 여러 개의 층으로 구성된 뉴런들의 네트워크를 통해 처리하는 기술을 말합니다. 각각의 층은 입력된 데이터로부터 연산을 수행하여, 출력값을 생성하고 다음 층으로 전달합니다. 이 때, 각 층의 뉴런들은 입력값에 대한 가중치와 편향값을 가지고 있으며, 이들은 각각 학습 과정에서 최적의 값을 찾아나가는 방식으로 결정됩니다.

 

예를 들어, 이미지 분류를 위한 딥러닝 모델에서 입력으로 들어온 이미지는 픽셀값으로 이루어진 벡터 형태로 표현됩니다. 이 입력값은 여러 개의 층으로 구성된 뉴런들의 네트워크를 통해 처리되며, 각 층은 입력값으로부터 특정한 패턴을 인식하도록 학습됩니다. 예를 들어, 첫 번째 층은 각 픽셀값들을 감지하는 뉴런들로 구성되며, 두 번째 층은 이러한 감지된 패턴들을 바탕으로 더 복잡한 패턴을 찾는 뉴런들로 구성될 수 있습니다.

 

이렇게 여러 층의 뉴런들이 연결되어 구성된 네트워크는 입력값에 대한 처리과정을 높은 정확도로 수행할 수 있습니다. GPT 역시 벡터값의 여러층으로 구성된 신경망 모델이며, 입력된 자연어 데이터를 처리하기 위한 다양한 뉴런들로 구성되어 있습니다.

책 보는 로봇


딥 러닝 모델에서 뉴런이란?

딥 러닝 모델에서 뉴런은 하나 이상의 입력을 받아 출력을 계산하는 기본 처리 단위를 의미합니다.

 

그것은 다른 뉴런으로부터 신호를 받고 자신의 신호를 다른 뉴런으로 보내는 인간 두뇌의 생물학적 뉴런에서 영감을 받았습니다.

 

딥 러닝 모델에서 각 뉴런은 수학 함수를 입력에 적용하고 출력을 생성한 다음 네트워크의 다른 뉴런으로 전달됩니다. 이러한 상호 연결된 뉴런을 통해 모델은 입력 데이터를 기반으로 학습하고 예측할 수 있습니다.

어렵지만.. 그냥 저도 자세하게 깊게 알지는 못해요ㅠㅠ 그래도 ChatGPT가 너무 신기해서 한번 GPT가 어떻게 저희 언어를 이해하는지에 대해서 알아보았습니다!

 

후니호호 였습니다.

 

다음 탐구 시간에 또 뵙겠습니다^^

반응형

댓글