아래 링크의 유튜브를 듣고 정리
https://www.youtube.com/watch?v=rRpZEGCpNbE
위 링크의 영상은 llama를 기준으로 설명하고 있으나,
큰 틀에서 LLM을 구성하는 방식에 대해서 설명하고 있다.
LLM 구성은 생각보다 단순함
파라미터 파일, 실행 파일로 이루어짐
훈련이란?
엄청난 양의 텍스트를 수집한 후 압축하는 과정으로 이 과정을 통해 '파라미터 파일'을 생성함,
LLM에서의 텍스트 생성
신경망에서 파라미터에 따라 다음 단어를 예측하는 것.
LLM은 텍스트를 "꿈"꾸듯 생성함. 그럴듯한 틀에 맞춰서 데이터 세트를 모방함. 100% 학습에 사용 된 내용을 따라하진 않지만 흡사한 무언가를 제공하는 형태임. 특히 일련번호 같은 경우, 그 일련번호가 맞는지는 상관 없고 '어떤 형태'로 존재하는지 정도는 따라함(주민번호처럼 보이는 무언가를 만들 순 있지만, 가상의 숫자 시퀀스를 만드는 형태)
텍스트 생성은 어떻게 이루어지는가?
흔히 transformer라고 불리는 것을 사용함. 매개변수를 활용해 다음 단어를 뱉게하는 최적화는 가능하지만, 실제 모든 매개변수가 어떤 영향을 주고 있는지는 정확히 알지 못함. 아쉽게도 LLM이 동작하지만 완벽히 어떻게 동작하는지는 모르는 상태임. 대부분 경험적으로 다루어지고 있음.
LLM에서의 데이터
특정 정보를 '저장'하고 있는 형태는 아님. 특정 정보를 얻기 위한 '방향'이 정해져 있음.(reverse curse)
단, 훈련에 사용되는 텍스트는 온전히 압축되는 것이 아닌 손실 압축됨.
흔히 이 과정에서 많은 비용이 들어감.
비교 답변을 통해 성능을 끌어올리는 방법임. 미세조정 된 보조 모델들을 통해 답변을 생성하고, 더 좋은 답변을 선택하여 학습시키는 방법임. 인간과 모델의 협업을 통해서 이루어짐. 요즘은 모델이 생성한 답변만을 가지고 강화학습하는 추세.