: M1에서 Pytorch GPU 가능 버전을 설치해봤다면, HuggingFace의 transformers를 설치해보고 싶은 마음이 들 것이다. 그런데 M1에서는 이 길이 참 쉽지 않다. 그래서 하나하나 보여주겠다. 00부터 순서대로 잘 따라와주기를 바란다.
: conda env 만들어 둔 것이 있다면, clone으로 conda env를 복사해두자.
conda create -n night --clone day
clone한 night라는 conda env에 진입해보자.
conda activate night
1) M1에 HuggingFace의 transformers를 설치하려면 필요하다고 한다.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
2) 중간에 아래와 같은 화면이 나오는 데 이 때 Enter 키를 눌러주면 된다.
3) 설치가 완료되면 다음과 같은 화면이 나올 것이다.
이 때 마지막 줄의 source “$HOME/.cargo/env” 을 복사해두고 iTerm2를 종료했다가 다시 conda env로 진입하고 난 이후에 붙여넣고 실행해주자
source “$HOME/.cargo/env”
이렇게까지 하면, rust가 설치가 완료가 되었다. : )
: 다음 코드로 설치해보자.
git clone https://github.com/huggingface/tokenizers
: rust 때문에 필요한 것으로 보인다.
pip install setuptools_rust
: sentencepeice도 필요하다. 이제 두 스텝 남았다.
pip install --no-cache-dir sentencepiece
: transformers 버전은 4.21.1 버전으로 설치한다. 사유는 microsoft/deberta-vs-base가 이 버전에서만 실행이 되기 때문이다. microsoft/deberta-vs-base를 사용하려면 아래에서 protobuf 라이브러리를 3.19.0 버전으로 설치해주자.
(transformers와 protobuf 라이브러리는 나의 삽질로 인해서 알아낸 것이다.)
pip install --no-cache-dir transformers==4.21.1
: microsoft/deberta-vs-base를 사용하려면 아래에서 protobuf 라이브러리를 3.20.0 버전 미만으로 설치해주라고 뜬다. 3.19.0 버전으로 설치하는 것.
pip install protobuf==3.19.0
#3# 03 microsoft/deberta-v3-base
microsoft/deberta-v3-base는 경고문이 많이 뜨긴 했지만, 다운로드도 잘 되고, 토크나이저도 잘 되는 것 같다. 그리고 3개의 모델 모두 무언가 해보지는 않았자지만, Tokenizer들은 잘 작동하는 것을 확인할 수 있다.