2021 09 29 - KR-HappyFace/meetup-logs GitHub Wiki
wandb 사용법
명령어 창에 wandb 로그인하시면 됩니다
RoBERTa에서 token_type_ids를 받지 않는다.
- return token_type_ids = False를 설정했음.
- Inference 부분에서 문제가 있는 것 같은데…
- Tokenizer 부분을 안 바꾼 거 아닌가?
Relation vs No Relation 이진 분류하고 그 다음에 어떤 relation인지 multi classification하는 것
https://www.kaggle.com/duongthanhhung/bert-relation-extraction
- Multitask
- SQUAD2할 때도 안에 정답이 있는지 없는지 파악하고 그 다음에 답변하는 거라서.
데이터셋에서 ""가 이중으로 겹쳐있는 게 있다. 데이터셋에서는 다 그렇게 되어 있다.
- 그렇지만 문장 안에 문장이 있을 때는 ""가 되어 있는 것 같음. 이건 처리 하면 안 될 것 같은 느낌이 들음.
- "이상한 큰따옴표"가 다른 경우에는 통일시켜야 함.
- 큰 따옴표 사이에 아무 단어가 없는 경우가 있음. “”””
- 책이나 Poh(기타고유명사) 쌍꺾쇠
Sentencepiece vs wordpiece
- Tokenizing 방식은 이해를 했는데, sentencepiece가 등장하게 된 배경이 무엇인가?
- 결국에는 notation을 하는 방식만 달라진 건데, 어떻게 해서 Multi-langauge training에서 이점을 갖게 된 것인가?
BERT를 돌리면 last hidden state이랑 pooler output이 나오게 되는데, 거기서 수업을 들으니까 last hidden state에서 cls가 pooler output이다는 얘기를 했고.
last hidden state이랑 pooler output이랑 모양이 다르더라고요. 챗봇 만드는 강의였는데 pooler output을 사용했음. 챗봇을 두 번 만드는데, last hidden state에서 0번째를 사용했고, 기본 chatbot에서는 pooler output을 사용해서…
pooler_output (torch.FloatTensor of shape (batch_size, hidden_size))
–
Last layer hidden-state of the first token of the sequence (classification token) after further processing through the layers used for the auxiliary pretraining task. E.g. for BERT-family of models, this returns the classification token after processing through a linear layer and a tanh activation function. The linear layer weights are trained from the next sentence prediction (classification) objective during pretraining.
tanh(BERT) vs gelu(Electra)
Electra가 model size가 더 light한 이유
- Generator vs Discriminator에서 Generator을 조그만 걸로 쓴대요.
- embedding의 전체 행렬을 Classification으로 그냥 쓴다고 합니다. Discriminator의 임베딩도 같이 쓴다고 함.
WiC할 때도 CLS token에서 정답을 내는 건가? 아니면 구조가 어떻게 되는 거지?
- WiC에서도 두 단어 간의 관계를 구하는 것처럼 비슷하게 CLS token에서 정답을 낼 수 있는 것 같은데…
- hidden_states features를 cosine similarity 구하는 건데… 근데 그건 성능이 별로였고. NER처럼 POS tagging 해서 1:1로 비교하는 건가?
- 해당하는 Target word가 두 개가 있을 거 아니에요? 그 index에 있는 token만 펼쳐서 fully connected layer을 붙인다는지 이런 생각이 들었어요. 두 개를 concat하는 거 아닌가 싶었습니다.