--- tags: 'peer-session' --- # 210916 피어세션 ## 질문 꾸러미 (개인당 2개 필수) - BERT에서 classsification 문제를 풀 때 CLS토큰의 마지막 레이어를 이용해 그 위에 linear layer을 붙여 푼다고 했는데 SEP토큰만 써서 풀 수 있지 아닐지? 마지막이 아닌 CLS를 따로 두는 걸까요? / BERT의 CLS token: 왜 여기로 정보가 집중(?)될까? (Classification을 왜 얘 가지고 만 하지?) - [참고자료](https://junklee.tistory.com/117) - GPT2에서 Few shot을 통해 성능향상을 이뤘다고 하는데 모든 training 이 few shot이 아닌지?? - few shot으로 성능향상이 이룬게 아닌, zero-shor, one-shot, few-shot중 few-shot이 가장 성능이 좋다는 설명 - GPT 2: layer가 위쪽으로 가면 갈수록, 해당하는 선형변환들이 0에 가까워 지도록 residual layer의 수로 normalization을 해준다. 즉, 위쪽으로 갈수록 layer의 영향력이 줄어들도록 구성 한다는데, -> 어떤 효과, 왜? 영향력이 줄어들어야 하나? - Sentence Order Prediction: 학습에 도움이 되는 것은 맞지만, 정말 그 판단이 쉬워지는 걸까? - 사람이 언어를 학습하는 과정 - Multi head Attention 에서 각 head에 같은 input이 들어가게 되는데 어떻게 다양성을 보장할 수 있을까? - CNN의 필터와 같은 역할로 볼 수 있다 - SEP 토큰은 무슨 정보를 내보낼까? - 하나의 단어의 역할과 같은 정보를 내보낸다. - from transformers import * 는 왜 오류가 나는걸까 - module transformers.models.cpm has no attribute CpmTokenizer - 아마 개발자가 파일 지워놓고 import한 코드 수정 안한 듯 하다 - [여기 정의되있긴 하네요](https://github.com/huggingface/transformers/blob/master/src/transformers/models/cpm/tokenization_cpm.py) ## 멘토링 질문 - Classification task에서 모든 word를 다 임베딩 해놓고, 왜 굳이 CLS token의 임베딩 벡터만 사용해서 분류를 할까? SEP는 사용하지 못할까? -> 이해한게 맞는지 확인 - CLS는 항상 같은 위치에 있기 때문에, 동일한 Segment, Position 임베딩 벡터가 더해진다. 그리고, word로서 의미가 없기 때문에 다른 토큰들과 attention 계산을 하는 과정을 전체 Sentence에 대한 정보를 넘긴다는 의미라고 볼 수 있다. - SEP는 input에 따라 위치가 바낄 수 있기 때문, fine-tunning시에 sequnce에 길이가 변할 수 있음(왜 CLS를 1번째 인덱스에만 넣어야할까?) - GPT 2: 층이 깊어질수록, residual layer의 영향력이 줄어들도록 구성 하기 위해서, 1/sqrt(n) 으로 초기화를 해주는데 -> 어떤 효과, 왜? 영향력이 줄어들어야 하나? - 깊어 질 수록 high dimentional한 특징을 학습, 그런 부분에 덜 영향을 받도록 설계? - Multi head Attention 에서 각 head에 같은 input이 들어가게 되는데 어떻게 다양성을 보장할 수 있을까? - CNN의 필터와 같은 역할로 볼 수 있다(맞는지 여쭤보기)