LLM이란 .. ?
Large Language Model은 P(text)를 계산할 수 있는 큰모델이다.
LLM의 가장 큰 특징은 text(글, 문장) 확률로 계산을 할 수 있는 모델입니다. 그리고 Large 즉, 큰 모델에 해당됩니다. 현재까지 LLM은 transformer의 구조를 사용하고 있습니다. 그렇다고 LLM이 transformer 구조에 한정이 되는 것은 아닙니다.
LLM 모델 중에는 RNN 구조인 IWKB Language 모델도 있습니다. 하지만 일반적으로 Transformer 구조를 가지고 있는 LLM 모델의 성능이 좋습니다.
아래 그림은 Transformer의 모델의 구조입니다. Transformer의 구조는 아래와 같이 Encoder-Decoder 구조를 가지고 있습니다.
Transformer는 2가지 중요한 특징을 가지고 있는데 첫 번째는 inductive bias가 작다는 것이고, 다른 하나는 Scaling이 쉽다는 장점이 있습니다.
Inductive bias란 어떠한 모델을 만들 때, 사람의 직관을 이용해서 모델이 학습이 잘 되도록 하는 아키텍처를 구성하는 것 입니다.
CNN의 경우, Kernel map을 사용해서 sliding 하면서 feature map에 일부분을 캡처함으로 캡처된 pixel들 사이의 공간적인 정보를 고려해서 feature들을 추출합니다. 즉, CNN 모델들의 경우, 어떻게 layer들을 잘 구성해서 해당 CNN 모델로 부터 입력 영상으로부터 pixel들 사이의 공간적인 정보 어떻게 잘 추출할 수 있는가가 CNN의 inductive bias입니다.
RNN의 경우, 각 time step에서 입력을 받을 때, 이전 스탭의 hidden state와 함께 계산을 함으로 시공간적인 정보를 계산할 수 있게 됩니다. 즉, RNN도 어떻게 계산해야한 시공간적인 정보를 잘 추출 할 수 있는지가 RNN의 inductive bias가 됩니다.
여기서 Transformer의 경우, 가까이 있는 정보가 중요한지 멀리 있는 정보다 중요한지를 네트워크 스스로가 판단 하도록 학습이 됩니다. 즉, 학습 방법 덕분에 위에 CNN과 RNN에 비해서 transformer의 inductive bias는 작거나 거의 없어지게 됩니다.
또한, Transformer는 Scaling이 쉽다는 장점이 있는데 이는 다른 모델에 비해서 layer를 쌓는 것이 비교적 쉽다는 데 있습니다. 예전에 openai에서 모델이 활용할 수 있는 parameter가 많으면 많을 수록, 또 데이터의 수가 많으면 많을 수록 모델의 성능이 향상된다는 것을 증명한 적이 있습니다.
따라서, LLM은 비교적 Layer를 쌓기 쉬운 Transfomer 구조를 채택해서 큰 모델을 만드는 추세입니다.
"Large Language Modeling은 텍스트의 확률을 계산할 수 있도록 학습하는 것"입니다.
만약에 위의 그림처럼 "he is happy"라는 문장이 들어 왔다면, "he is happy"를 factorization을 통해서 다음과 같이 조건부 확률로 구해질 수 있습니다. 또한, P(he), p(is|he), p(happy | he, is)의 각각의 확률을 구할 수 있도록 학습을 하게됩니다.
위와 같이 N개의 layer를 가진 Transformer 네트워크가 있다고 가정을합니다. 우선 SOS(State of Sentence)가 입력으로 들어 갑니다 여기서 SOS는 아무 조건이 없을 때, he가 나올 확률을 계산을 합니다. 만약 he가 나왔다면 해당 he를 입력을로 넣어 he가 입력으로 들어 갔을 때 is가 나올 확률을 계산합니다. 이후 is가 만약에 나왔다면, 이전의 he와 is가 나왔을 때 happy가 나올 확률을 계산을 계산을 합니다.
이러한 학습을 통해서 우리는 각각에 확률에 근사 할 수 있는 모델을 얻을 수 있습니다. 또한, Transformer 모델이 출력하는 확률은 조건부 확률을 의미하며, 각각의 P(he), p(is|he), p(happy | he, is) 학률의 곱을 통해서 "he is happy"의 확률을 계산할 수 있게됩니다.
LLM은 다량의 corpus로 Language Modeling을 학습을 했을 때, 발휘되는 능력으로 In context learning, Reasoning Representation Learning 크게 3가지 능력을 발휘 됩니다.
또한, In context learning은 최근에 가장 주목 받고 있습니다. prompt 즉, 사용자의 입력, 서비스 제공자가 모델에게 주입한 내용만 가지고도 해당 문제를 해결할 수 있는가에 대한 부분입니다. 이러한 문제를 해결하기 위해서 모델 학습에 fewshot learning(예제를 조그만 줌), Zero shot learning(예제를 주지 않음)을 사용해서 위와 같은 문제들을 해결하고 있습니다. chatgpt의 경우, few shot learning과 비슷한 개념을 도입해 학습을 했습니다.
Reasoning은 언어 모델을 굉장히 큰 말 뭉치를 통해서 학습을 했더니 Reasoning 능력이 나타났다는 것을 뜻합니다. 대표적으로 chain of thought 논문을 보면, 사람이 생각을 하는 과정을 주입해서 응답을 만들도록 유도 했더니, 모델 스스로가 생각하는 과정을 만들고, 정답을 생성했다고 하며, 모델의 성능이 더 좋아 졌다고 합니다.
다음으로는 Representation Learning입니다. Representation Learning은 pre-training이라고 봐도 됩니다. LLM이 대량의 corpus를 사용하려면, 여러 메타 지식을 모델이 학습을 하고,서로 다른 상황을 같은 사황으로 인식하는 능력을 말합니다.
즉, 서로 다른 문장이지만 어느 정도 유사한 것임을 모델이 알고, 소수의 문장만으로 fine turning 하더라도 분리나 QA가 잘되는 것을 의미합니다.
위에서 설명한 few shot learning과 zero shot learning에 대해서 간단하게 살펴보면,
만약 LLM에 Translate English to French라는 task decription(Instraction)을 입력으로 주고, example을 3개를 주었습니다. 여기서 1개의 example이 있으면, one shot learning이라고 하며, 하나의 예제도 없으면 zero shot learning이라고 합니다. 여기에서는 3개의 예제가 있으니 three shot learning에 해당됩니다. prompt에 실제 질문을 넣어서 모델이 영어를 불어로 translate를 시키게 됩니다.
최근에는 이것을 통합해서 prompt라고 합니다.
Reasoning에 대해서 간략하게 살펴 보겠습니다.
왼쪽에 경우, 생각하는 과정이 없이 추론을 했을 경우, 모델의 성능이 낮다는 것을 알 수 있습니다. Q 다음에 A라는 것을 통해서 생각의 과정을 유도해서 문제를 풀도록 했더니, 모델이 생각의 과정을 스스로 이야기하면서 최종적인 정답을 맞추게 되며, 성능이 향상되었다고합니다.
few shot으로 몇 가지의 예제를 주는 것 보다 예제를 아예 주지 않아도 문제를 풀때 스스로 생각을 하게 만들었더니 정답을 더 잘 풀어낸다는 연구 결과도 있습니다.
다음으로는 Representation Learning입니다.
이미지를 예로들면 엄청 많은 대량에 데이터 셋인 ImageNet을 이용해서 Foundation Model을 Self-Supervised Learning 통해 학습을하고, 해당 모델을 사용해 적용하고자하는 모델의 Task에 적용하는 방법입니다. 즉, 이미지의 경우에 의료, 항공, 자율주행, Super Resolution 등과 같이 Task에 적용하기 전에 대량의 데이터 셋을 사용해서 Foundation 모델을 학습을 한 다음 내가 적용하고하는 분야에 맞게 다시 학습을 시키는 것을 의미합니다. 해당 방법은 이미지 뿐만 아니라 Speech와 Text도 대량의 데이터를 학습 Foundation Model을 각 task에 맞게 적용하기 위해서 pre-training할 수 있습니다.
현재 generative 모델의 시장규모는 2030년까지 1093억 7,000달러가 될것 이다라고 예측을 하고 있는 상황이며,
현재 대표적으로 LLM 모델인 chatgpt를 openai에서 서비스하고 있습니다. 최근에 소식에 따르면, openai는 chatgpt 이후의 서비를 만들지 않는다고합니다.
또한, LLM 서비스 개발이 쉽게 할 수 있도록 api를 제공하고 있습니다.
jasper는 chatgpt의 api를 사용해서, 제품에 대한 마케팅 문장을 쉽게 생성을 할 수 있도록하는 서비를 제공하고 있습니다. 최근 지난해 jasper의 매출은 4000만 달러이고 올해 9000만 달러를 달성을 예측하고 있다고 합니다.
또한, 국내에서는 Speak이 Openai와 협력해서 영어학습에 도움이 되는 어플을 개발을 했습니다.
현재도 AI 대결은 진행 중입니다. openai의 chatgpt, MS의 빙, 구글의 바드 메타의 알파카 등 많은 기업들이 AI 대전에 참가하고 있습니다만,
결국 승자는
Nvidia ...
'Large Language Model' 카테고리의 다른 글
Numbers every LLM Developer should know (0) | 2023.08.07 |
---|---|
LLaMA Open and Efficient Foundation Language Models (1) | 2023.07.19 |
Language Model are Few-Shot Learners (0) | 2023.07.16 |
Large Language Model의 역사 (1) | 2023.07.16 |
LLM 트랜드-02 (0) | 2023.07.02 |