코딩일기

What is n_ctx in config.json(feat. gpt2, gpt3, Huggingface, models) 본문

카테고리 없음

What is n_ctx in config.json(feat. gpt2, gpt3, Huggingface, models)

daje 2022. 5. 29. 20:20
728x90
반응형

 

안녕하십니까 다제입니다. 

 

오늘은 huggingface에서 모델을 사용할 때 config.json 파일을 자주 살펴보게 되는데요 

 

 

최근 text generation을 요즘 유심히 살펴보고 있고,

 

그중에서도 gpt2의 config.json을 살펴보다가 모르는 표기가 있어서 간단하게 정리를 하고자 하는데요 

 

일단, 우리가 config.json을 살펴보아야 하는 이유는 모델이 어느 정도의 언어 표현 능력이 있는지를 config파일을 보면서 대략적으로 알 수 있기 때문입니다. 

 

특히, vocab_size, n_embeddings(n_embd), n_head, n_layer를 살펴보면 대략적으로 감을 잡을 수 있습니다. 

 

아! 이 녀석을 차용하여 사용하면 어느 정도의 표현까지는 말을 할 수 있겠구나  

 

vocab_size : 해당 모델이 가지고 있는 vocab 수를 의미합니다. 

n_embeddings(n_embd) : 각 단어가 몇 차원으로 펼쳐지는지 알려주는 값 입니다. 

n_head : generator는 transformer 계열을 주로 사용하기 때문에 headers수를 말합니다. 

n_layer : header와 마찬가지로 transformer에서 몇 개의 layer를 가지고 있는지를 알려주는 값 입니다. 

n_ctx : input sequence에 몇 개의 token이 들어갈 수 있는지를 표기하는 수치 입니다. 

n_speical : 입력으로 몇개의 sepecial token을 사용할 수 있는지 알려주는 것 입니다. 

 

모델을 하나를 보더라도 꼭 꼼꼼히 다음에는 모르는게 없도록 잘 정리하고 넘어가야 나중에 다시 볼때 시간을 절약할 수 있습니다. 

 

다들 도움이 되시길 바라며, 오늘의 글으 마치겠습니다. 

 

감사합니다. 

728x90
반응형
Comments