[1hr Talk] Intro to Large Language Models
[안드레카파시] 바쁜 사람을 위한 LLM 강의 1차 - LLM 이해하기
LLM Inference
LLM은 무엇인가?

맥북과 파일만 있으면 (인터넷도 없어도!) LLM과 대화할 수 있게 된다 !!
- LLM은 간단하게 보면 2개의 파일에 불과하다. 즉, 가상 디렉토리에 두 개의 파일이 존재한다.
- Llama2 70B 모델의 예시를 보면, 1️⃣ parameters 파일과 2️⃣ 해당 파일을 돌릴 수 있는 run 파일이 있다.
- Llama2는 Meta가 출시한 Llama LLM 시리즈의 두번째 iteration이다. 그중에서도 70B는 700억 개의 파라미터를 사용한 모델이다.
- 파라미터 수에 따라 7B(70억), 13B(130억), 34B(340억), 70B(700억) 모델이 있다.
- 많은 사람들은 70B 모델을 좋아하는데, 왜냐하면 현재 가장 많은 파라미터가 사용된 것으로 알려져 있는 픈 소스 모델이기 때문이다. Meta가 가중치, 아키텍처와 논문을 공개했기 때문에 누구든지 아주 쉽게 모델을 가져와서 작업할 수 있다.
- 반면에, OpenAI의 ChatGPT LLM은 모델 아키텍처가 공개된 적 없고, API를 통해서만 모델을 사용할 수 있으며 실제 모델에는 접근할 수 없다.
- 파라미터란 모델의 가중치를 말한다. 즉 parameters 파일에는 신경망에 사용된 가중치가 저장되어 있는 것이다. Llama2는 float16 데이터 타입을 사용하다 보니 각 파라미터당 2byte, 총 70B 파라미터는 140GB에 해당한다.
- 런 파일은 500줄의 C코드로 구성되어 있다.
- 적절한 파라미터 값을 얻으려고 할 때 많은 컴퓨팅이 필요한 것! 실행할 때는 맥북과 파일만 있으면 된다.
- 그렇다면 파라미터를 어떻게, 어디서 얻을까? ➡️ Training
LLM Training
Training

- 모델 트레이닝, 즉 파라미터를 구하는 과정은 많은 컴퓨팅이 필요하다. (추론보다!)
- 모델 트레이닝은 한마디로 인터넷을 압축하는 과정이다.
- Llama2 70B는 오픈 소스 모델이라 논문을 통해 어떻게 트레이닝 되었는지 알 수 있다.
- (6,000개의 GPU를 가지고 12일 정도 돌리면 Llama2 70B 파라미터를 구할 수 있다,, 비용은 26억..)
- 주로 Llama2와 같은 Pre-trained 모델들은 누구나 사용할 수 있도록 Hugging Face와 같은 오픈소스 모델 허브에 올려져 있다. 이 모델에 Fine-Tuning을 거쳐 사용하며 된다!
- 인터넷의 10TB 텍스트 정보들을 약 100배 압축한 것 (10TB → 140GB)
- 모델 트레이닝은 사실 압축이라기보다는 하나의 통합된 형태로 만드는 것이다. 그렇기 때문에 파라미터 안에는 원본과 완전히 똑같은 내용은 없다. 이 점에서 정보 손실이라고 생각할 수 있다.
- 파라미터 값은 가장 최근의 기준이 되는 것이다.
- 이 숫자들은 실제로 ChatGPT, Bard와 같은 NN 모델에서 사용되는 숫자들이다. 그래서 그 숫자를 그대로 사용하거나 조금 수정해서 사용하면 된다.
- 그렇기 때문에 파라미터를 구해내는 트레이닝 과정에 매우 많은 데이터와 돈이 들어가게 되는 것이다!
Neural Network의 작동 방식

- Neural Network는 다음에 올 단어를 예측한다.
- 일련의 문장을 넣으면 문장이 파라미터에 따라 신경망을 통과하고 예측되는 단어가 나오는 것이다.
- Prediction과 Compression 사이에는 밀접한 관련이 있다.
- 💬 NN을 통해 훈련하는 방식이 압축과 비슷하다. 다음 단어를 매우 정확하게 예측할 수 있으면, 데이터를 잘 압축하는 것이기 때문.
트레이닝의 결과로 얻어내는 모델이 마법 같은 이유는
- 다음 단어를 예측한다는 것은 단순해보이지만 생각보다 강력한 목표이다.
- 모든 세상의 데이터를 파라미터 숫자로 표현해낸다는 것이기 때문에..
