Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

사용할 한국어 BERT모델 정하기 #1

Closed
eubinecto opened this issue Jun 25, 2021 · 4 comments
Closed

사용할 한국어 BERT모델 정하기 #1

eubinecto opened this issue Jun 25, 2021 · 4 comments
Assignees

Comments

@eubinecto
Copy link
Member

어떤 한국어 bert 모델을, 무엇을 기준으로 정해야 할까?

@ArtemisDicoTiar
Copy link
Member

@eubinecto bert가 뭔지 공부해보고 싶은 데 관련 자료나 논문 추천해주세요 :)

@eubinecto
Copy link
Member Author

@ArtemisDicoTiar ㅋㅋㅋ 안그래도 얼마전에 BERT논문 리뷰를 했었죠 - 제가 발표했었으니 질문이 있으면 저에게 해주세용 https://www.youtube.com/watch?v=moCNw4j2Fkw

@eubinecto
Copy link
Member Author

eubinecto commented Jun 26, 2021

일단, minimal viable product를 만드는 것이 최우선이므로.. transformers 라이브러리에 등재된 한국어 BERT 모델을 사용하자.

그래야 모델을 사용하는 과정이 훨 간결하고 편하다.

KcBERT를 시작점으로 사용하는 것이 나쁘지 않을 것 같다. 네이버 댓글 - 대댓글 데이터를 사전학습한 버트다. 즉 구어체가 많이 쓰인 데이터를 사전학습했다. 속담도 구어체에 속한다고 본다면, 속담에 대해 어느정도 알고 있는 모델이라고 가정할 수 있으므로, 프로토타입을 구현하는데 나름 쓸만한 모델일 것으로 보임.

깃허브를 가보니, 가장 최근에 릴리즈된 모델로 KcELECTRA라는 모델도 있는데, 이는 성능이 KcBERT보다는 좋을지라도, wisdomify task에는 적합하지 않은 모델인 것 같다. ELECTRA 논문을 살짝 훑어보니 MLM 테스크를 없애고 다른 더 성능이 좋은 사전학습 테스크로 교체하는 내용인 것 같은데, ReverseDict[MASK] 을 적극 활용한다는 점을 생각해보면 [MASK] 토큰의 의미를 학습하지 않은 ELECTRA는 적합하지 않다.

KcBERT는 다음과 같이 간편하게 사용이 가능:

from transformers import AutoTokenizer, AutoModelWithLMHead

# Base Model (108M)

tokenizer = AutoTokenizer.from_pretrained("beomi/kcbert-base")

model = AutoModelWithLMHead.from_pretrained("beomi/kcbert-base")

# Large Model (334M)

tokenizer = AutoTokenizer.from_pretrained("beomi/kcbert-large")

model = AutoModelWithLMHead.from_pretrained("beomi/kcbert-large")

dependencies:

pytorch <= 1.8.0
transformers ~= 3.0.1
transformers ~= 4.0.0 도 호환됩니다.
emoji ~= 0.6.0
soynlp ~= 0.0.493

어떤 버트를 사용할지에 대한 본격적인 토론은 일단 이 버트를 기반으로 프로토타입을 만들어 보고 나서, 다시 이어서 하도록 하자.

@eubinecto eubinecto self-assigned this Jun 29, 2021
@eubinecto
Copy link
Member Author

당분간은 계속 KcBERT를 사용하게 될 것 같다. 다시 어떤 모델을 사용할지 고민하게 될때는 상당한 시간이 지난 후 일 것.
그래서 이 이슈는 여기에서 클로징하겠다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants