안녕하세요.
HuggingFace 9기 파트너 정정민입니다.
이전 포스팅에서는
허깅페이스에 업로드 된 데모 사이트도 살펴보고, - 링크
허깅페이스에서 제공하는 여러 모델을 살펴봤고, - 링크
그 모델을 가져다가 추론하는 과정도 이야기했고, - 링크
연구자들이 업로드 한 데이터도 가져다가 살펴봤죠? - 링크
하지만 딥러닝 모델 구현의 꽃은 뭐니뭐니해도 학습입니다.
이번 포스팅에서는 학습에 관한 과정을 살펴보려해요.
전공자가 아니라면, 학습이라는 과정이 생소하고 복잡합니다.
그래서 이번 과정에서 대략적으로 학습이라는 부분이 어떻게 진행되고
HuggingFace에서는 어떤 방식으로 진행되는지 살펴보죠 .
학습
(참고로 쉽게 읽어볼만한 링크를 남겨봅니다~)
머신러닝 필드에서 학습이란,
목적하는 문제를 풀기위해, 제공된 데이터를 살펴 패턴 을 찾아내는 자동화 과정을 의미합니다.
이를 위해 당연히도 양질의 데이터를 넣어줘야겠죠??
또한 그 양질의 데이터가 딥러닝 모델에 입력되기 위해 적절한 형태로 변환 되어야 합니다.
(우리가 많이 들어본 Tokenize, embedding과 같은 과정이 이에 해당합니다.)
‘적절한’이라는 단어는
풀고자 하는 문제와, 제공된 정보, 학습 환경 등에따라 상이할 수 있습니다.
chatGPT와 같이 글을 분석한다면 글을 token으로 쪼개야하고
이미지를 보는 모델이라면 이미지를 적절하게 처리해줘야 합니다.
이를 전처리 과정이라고 합니다.
전처리 된 데이터가 학습 대상인 딥러닝 모델에 입력되면 본격적인 학습에 들어옵니다.
학습은 한번에 빡! 되지 않습니다.
(물론 한번에 되는 머신러닝 모델이 존재합니다. Linear Regression의 정규 방정식 같은게 그 예입니다)
우리가 학창시절 1차 함수 수학 문제를 처음 보고, 개념을 익히고, 문제를 풀고, 틀려서 원인을 분석하고, 개념을 다지는 과정등이 필요했죠?
딥러닝 모델도 마찬가지입니다.
학습을 시작하기 전, 엉터리 상태의 딥러닝 모델이 일단 문제를 풉니다.
당연히 잘 못하겠죠?
이때, 딥러닝 모델이 잘못한 정도를 측정합니다. (마치 수학 시험을 채점해서 72.6점이 나온것 같이요)
측정하는 방법은 데이터에 따라, 목적인 문제에 따라 다릅니다.
측정된 수치는 딥러닝 모델이 개선해야 할 방향을 의미하고 학습의 방향이 됩니다!
그런 뒤 이제는 딥러닝 모델이 더 잘 할수 있는 방향으로 변화