귀하는 로그인되어 있지 않습니다. 이대로 편집하면 귀하의 IP 주소가 편집 기록에 남게 됩니다.스팸 방지 검사입니다. 이것을 입력하지 마세요!== 상세 == === 모델 구조 === GPT-1은 '''트랜스포머 디코더'''만을 사용한 구조로 되어 있다.<ref>[[BERT]]와 달리 인코더 부분은 사용하지 않았다.</ref> ==== 주요 사양 ==== * '''레이어 수''': 12개 * '''어텐션 헤드''': 12개 * '''임베딩 차원''': 768차원 * '''파라미터 수''': 약 1억 1700만 개<ref>현재 기준으로는 정말 작은 모델이다. [[GPT-4]]는 1조 개가 넘는 파라미터를 가지고 있다.</ref> * '''컨텍스트 길이''': 512 토큰 ==== 토크나이저 ==== [[BPE]](Byte Pair Encoding) 방식을 사용했다. 40,000개의 어휘를 가지고 있었다. === 훈련 과정 === ==== 1단계: 비지도 사전 훈련 ==== '''BooksCorpus''' 데이터셋을 사용해서 훈련했다.<ref>약 7,000권의 책으로 구성된 데이터셋이다.</ref> 이 단계에서는 다음 단어를 예측하는 '''언어 모델링''' 작업을 수행한다. 목적 함수는 다음과 같다: :<math>L_1(\mathcal{U}) = \sum_i \log P(u_i | u_{i-k}, ..., u_{i-1}; \Theta)</math> 여기서: * <math>\mathcal{U} = \{u_1, ..., u_n\}</math>은 토큰 시퀀스 * <math>k</math>는 컨텍스트 윈도우 크기 * <math>\Theta</math>는 모델 파라미터 ==== 2단계: 지도 미세 조정 ==== 특정 작업에 맞는 라벨이 있는 데이터로 추가 훈련을 진행한다. 이때는 다음과 같은 목적 함수를 사용한다: :<math>L_2(\mathcal{C}) = \sum_{(x,y)} \log P(y | x^1, ..., x^m)</math> 최종 목적 함수는 두 손실을 결합한다: :<math>L_3(\mathcal{C}) = L_2(\mathcal{C}) + \lambda \cdot L_1(\mathcal{C})</math> ~~수식이 어렵다고? 그냥 "언어 배우기 + 특정 작업 배우기"라고 생각하면 된다.~~ === 입력 변환 === GPT-1은 다양한 [[NLP]] 작업을 수행하기 위해 입력을 특별한 방식으로 변환한다. ==== 작업별 입력 형식 ==== * '''분류(Classification)''': [Start] Text [Extract] * '''함의(Entailment)''': [Start] Premise [Delim] Hypothesis [Extract] * '''유사도(Similarity)''': [Start] Text1 [Delim] Text2 [Extract] 및 [Start] Text2 [Delim] Text1 [Extract] * '''다중 선택(Multiple Choice)''': [Start] Context [Delim] Answer_i [Extract] (각 선택지마다) 여기서 [Start], [Delim], [Extract]는 특수 토큰이다.<ref>지금의 [[프롬프트 엔지니어링]]의 원조라고 볼 수 있다.</ref> 편집 요약 가온 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 가온 위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요. 또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요! 취소 편집 도움말 (새 창에서 열림)