# SentencePiece
토크나이저 정리(BPE,WordPiece,SentencePiece)
https://huggingface.co/docs/transformers/main/tokenizer_summary 이번 글에서는 BPE(Byte-Pair Encoding), WordPiece,SentencePiece에 대해 다룰것이다. text를 분할하여 조각을 내는 것(Tokenizing)은 생각보다 어렵다. 예를들어 > "Don't you love 🤗 Transformers? We sure do." 위와 같은 문장을 공백기준으로 분할한다 하자. 그럼 다음과 같을 것이다. > ["Don't", "you", "love", "🤗", "Transformers?", "We", "sure", "do."] 하지만 이때 "Transformers?" , "do." 를 보면 puntuation(구두점) 들이 같이 포함돼있음을 볼 수 있다. 이렇게 된다면 같은 단어에 대해 서로 다른 구두점을 가지는 단어들을 서로 다른 것으로 간주해야 하므로

M1 Part7 - "Hugging Face Transformers Installation on M1"
INTRO : M1에서 Pytorch GPU 가능 버전을 설치해봤다면, HuggingFace의 transformers를 설치해보고 싶은 마음이 들 것이다. 그런데 M1에서는 이 길이 참 쉽지 않다. 그래서 하나하나 보여주겠다.* 00부터 순서대로 잘 따라와주기를 바란다.* 00 Get Reday: Clone Conda env : conda env 만들어 둔 것이 있다면, clone으로 conda env를 복사해두자. clone한 night라는 conda env에 진입해보자. 01 rust를 설치해보자. 1) M1에 HuggingFace의 transformers를 설치하려면 필요하다고 한다.  네이버 영화리뷰 감정 분석 문제에 SentencePiece 적용 데이터 불러오기 데이터에서 결측치 / 중복값 확인 isnull().sum() / duplicated() dropna() / drop_duplicates() 오류 > indices[468,31] = 8423 is not in [0, 8000) > 참고 > - vocab_size를 8000에서 10000으로 늘리니까 정상적으로 작동함. 2. 회고 어제 하던 노드를 이어서 했다. 예전에 썼던 노드를 다시 보고 해서 복습이 되는 거 같았다. 그런데 생각보다 정확도가 높게 나오지 않아서 오늘 한 걸로 마무리 지을 순 없을 거 같고 역시 주말에 보충을 하는 수밖에 없을 거 같다.

[NLP] Tokenizer 제작하기
개요 현재 대부분의 NLP task는 PLM (Pre-trained Language Model)을 통한 전이 학습이 대세로 자리잡았다. 하지만 긴 Pretraining을 수행 전 vocab을 만드는 건 정말 중요하다. 좋은 vocab을 만드는 것이 곧 토크나이징 퀄리티와 직결되고, 이는 모델이 맥락 지식을 잘 학습하여 downstream task에서 좋은 성능을 내는 데에까지 영향을 미치기 때문이다. 모델 학습에 들어가기에 앞서 vocab을 잘 살펴볼 필요가 있다. > PLM PLM (Pre-trained Language Model)은 사전에 학습시킨 언어 모델을 의미한다. PLM은 많은 양의 text data를 이용하여, 일반적인 수준의 언어 이해가 가능하도록 모델을 사전 훈련한다. 훈련한 PLM은 텍스트 분류, 생성, 번역 등과 같은 다양한 NLP task에서 좋은 성능을 내는것이 목적이다. 이렇게 pre-train한 모델을 가져온 뒤 NLP task를 수행함으로